is a C++ library which lets one do LispProgramming
within a C++ (CeePlusPlus
, heh) project actually without any Lisp. Well so we can say InteLib
is a tool for MultiParadigmProgramming
The acronym InteLib
stands for Intelligence Library. More details are found at the library's home site http://www.intelib.org
What sort of Lisp? CommonLisp? A primitive Lisp dialect with conses and little else?
Well, Common Lisp is too big to clone it, specially if your intention is to design a secondary
language to be used in C++ projects. The library implements a short dialect of Lisp which supports basic list operations, lex. and dynamic scoping, functions, macros (in the sense of CommonLisp
), nlambda functions (hmmm.. I know nlambda is not very useful), destructive functions including CL's SETF. Also it has basic input-output features (including a kind of LispReader?
), which I've found useful implementing a Lisp->C++ translator; CommonLispHashTables?
are also implemented, etc. But definitely it is way
shorter and simpler than Common Lisp, and sometimes it is incompatible with it because of some features which came from Scheme (e.g., (defun (a . b) ...)
instead of (defun (a &rest b) ...)
. Some details are here: http://www.intelib.org/libdocs/ill_lang.txt
Actually there are two layers in the library, the first just implements S-expressions as heterogenous data structures (which sometimes is useful without the LispEvaluator?
), and the second implements the evaluator and the functions. -- AndreyStolyarov
See also: CommonLisp