[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
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.
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