[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cabbages and kings, etc
- To: T-Discussion at YALE
- Subject: cabbages and kings, etc
- From: Chris Riesbeck <Riesbeck at YALE>
- Date: Tue ,19 May 82 11:08:00 EDT
Why is it (PUSH list item) instead of (PUSH item list) as in TLisp,
Ellisp, and LispMachineLisp? I don't know what CommonLisp and MACLisp
do. Isn't it better to agree with the syntax of CONS than with a PDP-10
machine instruction?
It would be nice if there was something like ENFORCE (which is not
documented in the first manual draft -- is it going to change?) which
could pass a message to ERROR. As it stands, I don't want to use
ENFORCE to protect code because all the user gets is (ENFORCE list?
x) failed. If I could say something like
(ENFORCE list? x "Non-list returned to MAPCAN")
then I'd be more prone to insert lots of protective devices.
The documentation should be a bit more specific about how CONJOIN and
DISJOIN work, rather than leaving it up to the technical meaning of
the term "predicate". That is, the manual should say that ((CONJOIN
-preds-) arg) is like (TRUE? (*AND -(pred arg)-)), i.e., all the
arguments are evaluated and only T or NIL is returned. Do they have
to have these properties, by the way?
Why is WITH-OUTPUT-TO-STRING so CONS-intensive? A dozen CONSes with
no output at all (e.g., (WITH-OUTPUT-TO-STRING FOO)). I wanted to use it
in a general any-type concatenator.
Would it be possible in future releases to mark all to-be-implemented
functions in some way so that instead of getting "NEGATE has no value"
I get either "NEGATE has name xxx" or "NEGATE not yet implemented"?
I ask this only so I can tell if something is coming, or has already
arrived under another name.
-------