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

Lassi Kortela lassi at lassi.io
Sat Nov 2 04:43:10 EDT 2019


> I stumbled upon https://github.com/udem-dlteam/libs/ but:

Great. I didn't know it was public :) It's mostly (but not exclusively) 
SRFIs for now.

> A) There is no tests

Work in progress :)

A lot of SRFIs don't have many tests. It might be nice to gather a big, 
up-to-date test suite for all SRFIs. Or keep up-to-date tests in each 
SRFI's repo with the sample implementation.

> B) There is no doc

All except one of the current ones are SRFI implementations, so the SRFI 
is the documentation.

> C) The layout of the repository is as far as I can tell:
> 
>    libs/srfi/1/1.sld
> 
> That would me that srfi 1 is importable with:
> 
>    (import (srfi 1 1))
> 
> which looks odd. Maybe I misunderstood something.

Gambit's lookup rules allow either foo.sld or foo/foo.sld to be imported 
with (import (foo)). This may be unusual among R7RS Schemes.

> D) There is not (scheme fu) libraries

They are in the lib/scheme directory Gambit's main repo: 
<https://github.com/gambit/gambit/tree/master/lib/scheme>

It also has a lib/srfi directory: 
<https://github.com/gambit/gambit/tree/master/lib/srfi>

Most of the SRFI implementations from udem-dlteam/libs will probably be 
merged into Gambit's main repo once they have been tested enough; libs 
is mostly for work-in-progress stuff.

> E) Can someone add a dummy test for a dummy library so that I can see
> how to run recent gambit with R7RS? Here is an example of such thing:
> https://github.com/amirouche/arew-scheme/blob/master/src/tests-tests.scm

Gambit has a build-in test framework but I haven't used it yet. We also 
plan to implement SRFI 64 (A Scheme API for test suites) using the 
built-in framework.

> F) While I am at it, does gambit new module system support
> introspection or reflection?

I don't know about this one, but it's at least possible to find all the 
symbols accessible in the current environment: 
<https://misc.lassi.io/2019/gambit-apropos.scm>




More information about the Gambit-list mailing list