[gambit-list] R7RS libraries and udem-dlteam/libs

Marc Feeley feeley at iro.umontreal.ca
Sun Nov 3 11:13:09 EST 2019


> On Nov 3, 2019, at 10:28 AM, Amirouche Boubekki <amirouche.boubekki at gmail.com> wrote:
> 
> Le sam. 2 nov. 2019 à 15:20, Marc Feeley <feeley at iro.umontreal.ca> a écrit :
>> 
>> 
>>> On Nov 2, 2019, at 3:39 AM, Amirouche Boubekki <amirouche.boubekki at gmail.com> wrote:
>>> 
>>> Hello all!
>>> 
>>> Can some brush me up about the R7RS libraries effort in Gambit?
>>> 
>>> I stumbled upon https://github.com/udem-dlteam/libs/ but:
>> 
>> That repo hosts the WIP for creating libraries to be added to the libraries in the Gambit system.  At the moment it is mainly for porting existing SRFIs.
> 
> It is not clear how yet-another-repository will help.

It would be possible to work with pull-requests to directly add modules to the lib directory of the Gambit repo.  However this does not help people collaborate on writing “work-in-progress” modules.

The Gambit repo has a limited number of people with write access, and I’d like to keep it that way so that users of Gambit are more comfortable trusting the software’s quality.

I had considered hosting the libs repo under github.com/gambit (with a wider set of collaborators with write-access for that repo) but that is a problem because github.com/gambit is in Gambit's whitelist, so any module on github.com/gambit will be installed without asking the user for confirmation (because those modules are trusted).  That would be a security hole.

By putting the WIP modules in github.com/udem-dlteam/libs it is possible to easily test WIP code like this:

gsi -:whitelist=github.com/udem-dlteam/libs -e "(import (github.com/udem-dlteam/libs gambit optionals)) (let-optionals* (list 1) ((a 0) (b 9)) (pp (+ a b)))"

An alternative approach would be to use a repo in github.com/gambit with a repo name containing a “.”.  Module names can’t contain “.” so there is no risk that they would be automatically installed by Gambit.  Unfortunately, they can’t be explicitly installed either, so it would make development tedious (it would require manual invocations of git to explicitly pull the code).

Does using a separate repo for module development cause you problems?

Marc





More information about the Gambit-list mailing list