Lennart Staflin writes:
> On 1/31/06, John Deszyck <[EMAIL PROTECTED]> wrote:
>
> > deffunction (doubled f is ugly)
> > def-function (hyphen is bad for such a common operator)
> > defunction (too long, reminds us of "dysfunction")
> > defunc (would have to be pronounced "De Funk")
> >
> > defun
> >
> > and all the following are bad because you might be tempted to use them for
> > data.
> > defn
> > dfn
> > def
> > define
>
>
>
> Didn't Lisp 1.5 use DE to define functions (DF to define FEXPR functions?
> macros?).
No. Well, at least not in the interpreter. The symbols in the LISP
1.5 dictionary were:
$ $ALIST $EOF$ $EOR$ $IL15$ $IL16$ $IL17$ $IL32$ $IL35$ $IL36$ $IL37$
$IL52$ $IL55$ $IL56$ $IL57$ $IL75$ $IL76$ $IL77$ ( ) * *LIST *MOVE
*RETURN + , - . / = A ADD1 ADVANCE AND APPEND APPLY APVAL
ARRAY ATOM ATTRIB B BLANK C CAAAR CAADR CAAR CADAR CADDR CADR CAR
CDAAR CDADR CDAR CDDAR CDDDR CDDR CDR CHARCOUNT CLEARBUFF COMMA COND
CONS COPY COUNT CP1 CURCHAR D DASH DIFFERENCE DIGIT DIVIDE DOLLAR DUMP
E END ENDREAD EOF EOR EQ EQSIGN EQUAL ERROR ERROR1 ERRORSET EVAL EVLIS
EXPR EXPT F FEXPR FIX FIXP FLOAT FLOATP FSUBR FUNARG FUNCTION G GENSYM
GET GO GREATERP H I ILLEGAL INTERN J K L LABEL LAP LEFTSHIFT LESSP
LIST LITER LOAD LOGAND LOGOR LOGXOR LPAR M MAP MAPCON MAPLIST MAX MIN
MINUS MINUSP MKNAM N NCONC NOT NULL NUMBERP NUMOB O OBLIST OCTAL ONEP
OPCHAR OR P PACK PAIR PAUSE PERIOD PLB PLUS PLUSS PNAME PRIN1 PRINT
PRINT2 PROG PROP PUNCH Q QUOTE QUOTIENT R READ RECIP RECLAIM REMAINDER
REMPROP RETURN RPAR RPLACA RPLACD S SASSOC SEARCH SET SETQ SLASH SPEAK
SPECIAL STAR STARTREAD STOP SUB1 SUBLIS SUBR SUBST SYM T TEMPUS-FUGIT
TERPRI TIMES TRACE U UNCOUNT UNPACK V W X Y Z ZEROP
(The 1-character symbols were used as _characters_, there was no
string or character data type, only symbols. The symbols named $ILxx$
are illegal (non-printable) characters. Their actual names are the
characters whose code is given by the digits xx.)
The "REPL" of the LISP 1.5 (on 7090) was EVALQUOTE: it read two forms,
the first being a function, and the second a list of arguments, and it
applied the first to the second, in effect QUOTE-ing automatically the
arguments.
If I've understood correctly, it read a form.
If it's the symbol STOP, it returns to the OVERLORD.
If it's another symbol, then it reads a list of arguments and
applies the function to the list of arguments (unevaluated, ie, as
if quoted). You'd punch:
CAR ((A B C D))
for: (CAR (QUOTE (A B C D)))
If it was a list, then it was take as a definition:
(ACONS (LAMBDA (K V A) (CONS (CONS K V) A)))
to define a function ACONS.
See for example, the programs given in:
http://community.computerhistory.org/scc/projects/LISP/III_LispBook_Apr66.pdf
--
__Pascal Bourguignon__ http://www.informatimago.com/
"I have challenged the entire quality assurance team to a Bat-Leth
contest. They will not concern us again."
_______________________________________________
Gardeners mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/gardeners