[Larceny-users] SRFIs in R6RS mode

William D Clinger will at ccs.neu.edu
Sun Mar 16 10:05:21 EDT 2008


In private correspondence with Ken Dickey, it seems
he mainly wanted to know how to import some of
Larceny's predefined R5RS procedures into an R6RS
program.  The lib/R6RS/larceny/records.sls file
contains an example of the primitives syntax used
to do this:

    (library (larceny records printer)
      (export rtd-printer rtd-printer-set!)
      (import (primitives rtd-printer rtd-printer-set!)))

This should be documented in the Larceny User Manual,
but is not.

As for using SRFIs in ERR5RS or R6RS, there is at
present no portable way to do that because:

1.  The R6RS does not specify a portable way for
R6RS programs to import *any* libraries other than
those specified by the ratified R6RS documents.

2.  The SRFI editors have not yet decided what
naming conventions to use for SRFI libraries in
ERR5RS and R6RS programs.

Larceny deals with problem #1 by supporting ERR5RS
and several extensions to the R6RS.  As for problem
#2, I understand that one of the SRFI editors has
drafted a proposal; if that proposal is approved by
the SRFI editors, then I expect to implement it for 
Larceny.

As a temporary workaround, ERR5RS programs that use
R5RS SRFIs can load SRFIs on the command line by
naming the files that implement the SRFIs at the
end of the larceny command line following the --
option, but this workaround doesn't work for R6RS
programs or Scheme scripts.

Will



More information about the Larceny-users mailing list