Raku / problem-solving

🦋 Problem Solving, a repo for handling problems that require review, deliberation and possibly debate
Artistic License 2.0
70 stars 16 forks source link

RAKUDOLIB destiny? #167

Open vrurg opened 4 years ago

vrurg commented 4 years ago

Very simple question: should we drop support of RAKUDOLIB? If not what it's role in Rakudo?

vrurg commented 4 years ago

The question about RAKUDOLIB arises time after time. The support for the variable is in the code. But it's role and future are vague.

@patrickbkr says it should be deprecated. But I propose to keep it around but make clear what it's role. As the name would suggest, the variable is compiler-specific, not language-specific, contrary to RAKULIB. Thus, it could define where to look for non-core Rakudo-specific modules. I.e. those specifically designed to work with Rakudo alone. In a potentially multi-compiler environment this would allow to hide unsupported modules from another compilers.

This would also define the way of handling the variable: it would combine with RAKULIB but will be checked first.

ugexe commented 4 years ago

Using RAKUDOLIB for things like make makes sense to me... if I have PERL6LIB set to a path with a Test module I probably didn't intend for that Test to be used when I do make test of a given rakudo (although maybe I did intend to provide a e.g. RAKUDO_EXCEPTIONS_HANDLER). So for internal use yes. However I'm also wary of promoting RAKUDOLIB in such a way that users will start doing illogical things...

tbrowder commented 4 years ago

In the meantime, without changing the current use of RAKUDOLIB, I would like to get the env var RAKULIB PR #3516 approved so we can move forward in the docs to advertise its availability.

The PR I can change to either (1) use \ or (2) \.

I vote for option 1 with a deprecation notice if PERL6LIB is defined.

jubilatious1 commented 3 years ago

Can RAKUDOLIB reach into the REPL, determin whether Readline or Linenoise is in use, and set various REPL-specific (and Rakudo-specific) options?

Could solve a lot of REPL-specific issues that way (in one location).