[Larceny-users] using srfi 27 and some other issues

William D Clinger will at ccs.neu.edu
Thu Mar 5 07:23:25 EST 2009

Marijn Schouten wrote:
> I've been working on packaging larceny 0.97b1 for Gentoo, partly
> because I wanted to try it out on a small physics simulation project
> that I'm working on.  I'd like to detail some of the difficulties I
> ran into.

Thank you for reporting these things to us.

> in doc/UserManual there are a lot of files with names that end in
> ".txt" which lead me to believe they were just plain text. Apparently
> they are something else. Perhaps the misleading extension could be
> changed?

Those are AsciiDoc ( http://www.methods.co.nz/asciidoc/ )
input files.  I don't know AsciiDoc well enough to know
whether the extension matters, but I'll look into it.
Those files are not included with binary versions of
Larceny; we include the HTML and PDF files produced from
those files instead.

> An error that I could not understand. It turns out I was using an illegal
> function name starting with a hyphen: -energy/J-plus

That has never been a legal identifier in Scheme, but
a lot of implementations fail to detect that error.  The
R6RS requires implementations to raise exceptions for that
class of lexical error.  For consistency, Larceny raises
those exceptions in all modes.

> I'm really non-plussed that such names are illegal, but at least the
> error message should be much clearer and it would be great if it would
> include a line number.

The current development system reports the line number,
as will v0.97 when it is released.

A wholesale cleanup of Larceny's error messages is in
progress, but will take time.

> My program uses SRFI 27 (random sources) and so I added a
> "(require 'srfi-27)" at the beginning. Then I got this:
> $ larceny -nobanner -- ising.scm -e "(main 100)"
> Error: Undefined global variable "srfi-9".
> Entering debugger; type "?" for help.
> debug>

As Larceny's R5RS mode is currently configured, you have to
(require 'srfi-0) before using cond-expand or requiring any
SRFIs that use cond-expand, directly or indirectly.

If that remains true in v0.97, then we should do a better
job of documenting it.

> Finally I would like to note that having to double ctrl-D to
> exit each repl is very annoying. To quit the above invocation
> I have to ctrl-D 8 times.

That's odd.  It may be OS-dependent, as I don't have to do
that.  We'll look into it.

Thanks again for your bug reports.


More information about the Larceny-users mailing list