[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] library at file level

Per Bothner scripsit:

> > ISLisp, an ISO-standard variant of Common Lisp (close to a subset), is
> > interesting in this respect: it has CL macros, but no `eval` function.
> > Consequently, the compiler needs an interpreter, but the run-time does not!
> Kawa is similar: it does have eval, but eval is by
> default implemented to always compile-and-load.

My intention is to do a trivial interpreter inside the compiler instead.
ISLisp does not require the whole language to be available to macros.
Clause 16 says:

    The set of usable operations is restricted to simple data
    structure creation and manipulation; those operations are
    forbidden that cause side-effects to the environment (such as
    I/O to the terminal), to externally accessible data structure
    (such as a modification to the property list of a symbol),
    or to the macro form itself.

By the way, I've been thinking that the easiest way to get ISLisp
working on the JVM (which is my intended target) is to make it part of
the Kawa family.  Are you interested in collaborating on this?
It's a lot easier than a full Common Lisp, you already have much
of the infrastructure I need, and I have some ideas about implementing
ILOS (a subset of CLOS) in a JVM-friendly way.

John Cowan                                cowan@x
At times of peril or dubitation,          http://www.ccil.org/~cowan
Perform swift circular ambulation,
With loud and high-pitched ululation.

Scheme-reports mailing list