This issue is to summarise the differences between the two. it should be added to the book as a chapter.
CAR/CDR of NIL fail in ML,returns NIL in CL.
NLAMBDA and NDEFUN are not present in CL. They are done with macros. Consider changing these to “defun’” and “lambda’”
ML uses square brackets for dotted pairs.
ML uses one a-list for functions and variables. CL uses only one.
CL supports integers, arithmetic, strings, etc. In contrast, ML allows any punctuation character in an atom, and all atoms are symbolic. There are no integers.
Very few library functions exist in ML. Said differently, many common CL function such as setq and caar are not part of ML. For example, (NDEFUN setq (a b) (set a (eval b))) or (defun caar (x) (car (car x)).
This issue is to summarise the differences between the two. it should be added to the book as a chapter.
setq
andcaar
are not part of ML. For example,(NDEFUN setq (a b) (set a (eval b)))
or(defun caar (x) (car (car x))
.