3 ms·
This is not correct, lisp operations on lists have always been to modify in place, with copying versions added later. The technology did not exist to do functi
by ltbarcly3 5y ago
This is not correct, lisp operations on lists have always been to modify in place, with copying versions added later. The technology did not exist to do functional programming efficiently enough (and to some extent that technology still does not exist generally).
- bluefox 5y agoSimply false. For example, LISP 1.5 manual had this definition for UNION: (union (lambda (x y) (cond ((null x) y) ((member (car x) y) (union (cdr x) y)) (t (cons (car x) (union (cdr x) y)))))) It had a MAPLIST (today called MAPCAR): maplist[x;fn]=[null[x]->NIL; t->cons[fn[x];maplist[cdr[x];fn]]] Or APPEND: append[x;y] = [null[x] -> y; T -> cons[car[x]; append[cdr[x];y]]] Et cetera. Sure, it also had, say, NCONC. But it had these operators and style from the beginning, not surprisingly, as Lisp came from lambda calculus.
- deleted 5y ago[deleted]