-$Id: advantages-of-common-lisp.txt,v 1.8 2014/05/13 20:11:29 mmondor Exp $
+$Id: advantages-of-common-lisp.txt,v 1.9 2015/08/15 08:17:52 mmondor Exp $
Various advantages of Common Lisp which I could easily think of are listed
below.
reinitialized, i.e. by using DEFVAR, and updating existing CLOS object
instances.
- Very flexible language including special low-level forms such as PROGN,
- PROG1, PROGV, TAGBODY or TRY/CATCH for jumps, BLOCK, etc
+ PROG1, PROGV, TAGBODY or TRY/CATCH for jumps, BLOCK, RETURN-FROM, etc
- Designators, system and user-defined ones (a designator argument may accept
multiple types which can logically represent the wanted object. For
instance, a symbol may serve as a function designator, which FUNCALL/APPLY
etc. Sometimes interpreted/compiled results may vary however, depending
on implementation: #'foo may cause a direct function call while 'foo will
dereference from the FOO symbol's function-value.
+- Sequences library which can work on collections of multiple types; some
+ implementations support extensible sequences for new custom collections
+ types.
+- Good math support, including complex numbers and arbitrary-sized integers,
+ exact arithmetic.
+- The standard library includes various functional programming support
+ functions such as MAP*. Also supported is functionality like currying, and
+ functions like INTERSECTION, UNION, MEMBER, REMOVE[-IF], SORT, REDUCE,
+ EVERY, SOME, NOTEVERY, NOTANY, etc.
FFI