Lars Brinkhoff <firstname.lastname@example.org> wrote:
| email@example.com (Rob Warnock) writes:
| > Sidney Markowitz <firstname.lastname@example.org> 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 <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607