Scheme package management Lassi Kortela 25 Apr 2021 15:22 UTC

> I don't think that the package and library namespace should be mixed.

+1. However....

> Nor are library names like "(github.com/account/repo foo qux)" very nice, quite the
> contrary.

If we have generic library name rewriting, we can have our cake and eat
it too.

So (github.com/account/repo foo qux) is just a library name. _Unless_ we
have added a rewrite rule that says to translate any library name part
with slashes into a git repo URL. So this:

(import (from-package "git://xxxxxx@github.com:accout/repo.git" (foo qux))

Could be derived from (github.com/account/repo foo qux) using a rewrite
rule, something like this:

(rewrite-import
  (github.com/<acctname>/<reponame> <libname> ...)
  (from-package
   (string-append "git://xxxxxx@github.com:" <acctname> "/" <reponame> ".git")
   <libname> ...))

> And there should be no need to find a single library.

If the library can list its own dependencies, it would make perfect
sense to find only one. The package manager can chase the dependencies
for the user.

> Adding one more indirection makes sense here. Of course, there could be
> a default mapping that will produce your suggested mapping.

Are you thinking of something like the rewrite rule above?