LISP has been jokingly maligned for much of my life.
Others write praises and dub it Alien Technology or a Secret Weapon.
LISP is a customizable compiler/interpreter where the source code modifies the compiler at run time.
Generally, the model a compiler/interpreter in these four phases:
- Lexical analysis - scan for token
- Syntax analysis - build Abstract Syntax Tree, the AST.
- Optimization - analyze and refine the AST
- Machine Coding - Excutute the AST or encode the AST for later execution.
In LISP the syntax is simple paren encoded lists called s-expressions. LISP source code is a paren encoded AST.
The lexical READER strips away the parens under control of LISP functions and macros and a LISP data form, an s-expression, is produced.
Because this data form is an AST of the program the AST can be optimized before it is converted to executable code.
The data form is evaluated under LISP rules which are in many places customized by LISP function and macros from the LISP program source.
The LISP PRINTER adds the parens format to output result form where necessary under the control of LISP functions and macros.
[Read More]CL+SSL has cross platform method of specifiation of external binaries.
Posted on February 28, 2023
(Last modified on June 13, 2025)
|
CL+SSL allows the user to directly specify the external binaries that is will use.
I propose the general adoption of two methods of foreign library location currently implemented by CL+SSL.
Most .dll or .so files are located by heuristics, which are guesses.
CL+SSL added a static feature check and a method for users to specify other binaries.
CL+SSL/src/reload.lisp has complex heuristics to define libssl and libcrypto.