Skip to content

Instantly share code, notes, and snippets.

@ugexe
Created May 26, 2023 17:41
Show Gist options
  • Save ugexe/e4ab88096f32942e33adad8c51ea9aea to your computer and use it in GitHub Desktop.
Save ugexe/e4ab88096f32942e33adad8c51ea9aea to your computer and use it in GitHub Desktop.

Grant Proposal - Configurable Raku repository chain

Benefits to the Raku community

Raku looks for modules in multiple locations. While its possible to add additional locations, it is not currently possible to remove locations. The ability to remove locations would be useful when invoking applications to ensure that dependencies installed in default repos don't end up getting loaded in code by e.g. use statements. Technically this could be accomplished with a third-party repository, but it would be beneficial for it to be easy to use core functionality.

Deliverables

Currently we have the following:

$ raku -e 'use lib "xxx"; .say for $*REPO.repo-chain'
file#/Users/nlogan/repos/xxx
inst#/Users/nlogan/.raku
inst#/Users/nlogan/.rakubrew/versions/moar-2022.07/install/share/perl6/site
inst#/Users/nlogan/.rakubrew/versions/moar-2022.07/install/share/perl6/vendor
inst#/Users/nlogan/.rakubrew/versions/moar-2022.07/install/share/perl6/core
ap#
nqp#
perl5#

This grant aims to deliver the ability to do something like the following:

$ RAKU_DEFAULT_REPO_CHAIN="inst#/foo,inst#bar" raku -e 'use lib "xxx"; .say for $*REPO.repo-chain'
file#/Users/nlogan/repos/xxx
inst#/foo
inst#/bar

Project details

Biography

I am Nick Logan, ugexe on github. I have been a co-author of the Raku module manager Zef, and a core developer of the Raku programming language for approximately 10 years. I am also a member of the Raku Steering Council.

Requested amount

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment