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

Reply via email to