3 ms·
(L)ets (I)nsert (S)ome (P)arantheses :-) I like LISP since it was an eye-opener for me long ago, showing the essence of computer sciences (i.e. tail recursion,
by chupa-chups 7y ago
(L)ets (I)nsert (S)ome (P)arantheses :-)
I like LISP since it was an eye-opener for me long ago, showing the essence of computer sciences (i.e. tail recursion, functional programming, immutable data structures, terseness vs. understandability).
- kazinator 7y agoMost of the data structures in ANSI Lisp are mutable, as are variable bindings and global function bindings. Support for tail recursion is a quality-of-implementation issue. There is excellent support for procedural programming: the language constructs are strictly evaluated and many key language constructs evaluate a body of zero or more forms (called an "implicit progn"), all but the last of which have to have side-effects for that to make sense. There are constructs for iteration over a single instance of the loop variables, and control transfer features: a form of goto within a labeled block called a tagbody, as well as dynamic non-local control transfers that support the condition handling system. Functional programming is possible by confining to a very small language subset (sometimes called "Pure Lisp").