Subject: Re: Minimal keywords needed for constructing a full CL system
From: rpw3@rpw3.org (Rob Warnock)
Date: Sun, 16 Jul 2006 23:19:50 -0500
Newsgroups: comp.lang.lisp
Message-ID: <uKudnW5msf97kibZnZ2dnUVZ_tGdnZ2d@speakeasy.net>
Sidney Markowitz  <sidney@sidney.com> wrote:
+---------------
| XXJohan 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".]

Whereas, if a purported "CL subset" gave a "don't do that!" error:

    qdl> (/ 3 5)

    /: Error: Division by 5 produced non-integer result!
    qdl>

Then as long as you exclude programs that do that from the set of
"valid programs" for the purported subset, then that *wouldn't*
break the rule. [Bend real hard, maybe, but not break.]  ;-}

The question is whether such a subset would be considered "useful"...


-Rob

p.s. If a fixnum-only subset included MOD and/or REM,
it would be a lot more useful than if it didn't.  ;-}

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607