Subject: Re: Minimal keywords needed for constructing a full CL system
From: (Rob Warnock)
Date: Mon, 17 Jul 2006 21:38:00 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
Lars Brinkhoff  <> wrote:
| (Rob Warnock) writes:
| > Sidney Markowitz  <> wrote:
| > > Johan Bockgård wrote:
| > > > Actually, [in Emacs Lisp?] (/ 3 5) ==> 0
| > > CLtL 12.4 Arithmetic Operations / will produce a ratio if the
| > > mathematical quotient of two integers is not an exact integer.
| > Exactly. Which breaks the "equivalent semantics" rule of CLHS 1.7.
| > [So it's going to be hard to use Emac Lisp as the implementation
| > substrate of a conforming "CL subset".]
| I don't understand that.  I have used Emacs Lisp as the implementation
| substrate of a (purportedly) conforming CL subset, and I didn't find
| the differences between / in Emacs Lisp and Common Lisp to be a hard
| problem.  It's probably on par with using, say, C as a substrate,
| which is common enough.

So you're saying you implemented rationals in your CL subset?
O.k., then no problem, any more than doing it in C [with all
that that implies!] is a "problem". But in that case you didn't
use Emac's own arithmetic *as* the arithmetic for the subset,
which is what I addressing.

And my apologies if I misunderstood the context of your previous

| You wouldn't be say that C is an inappropriate *implementation*
| language just because its operators doesn't have a subset of CL
| semantics, would you?  Of course, C isn't a CL subset. :-)

So is it your opinion that Emacs Lisp is a reasonable -- or at least,
substantially easier/better than C -- implementation substrate for
a conforming CL subset? If so, that's a interesting & potentially
very useful datapoint, since AFAIK Emacs can iteself be compiled
directly from C.


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607