4 ms·
For me learning Lisp is an essential requirement for becoming a professional programmer, even if you don't use it after that, you will "Lispify" everything you
by bumbada 6y ago
For me learning Lisp is an essential requirement for becoming a professional programmer, even if you don't use it after that, you will "Lispify" everything you touch. It just changes the way you think.
SBCL is a compiler, it let's you use what was designed as an interpreted language, in an efficient, compiled way.
But this compiler has nothing to do with other compilers you probably know about. Instead of compiling the entire set, you just can compile fragments of code, or not compile them (interpret it for things like flexible self modifying code)if you want with total control.
Very very good for incremental programming, with tools like the REPL and debugging options you have nowhere else.
Having said that, I use my own dialect of Lisp in C, and I use that for writing code in the c world: c, c++, python, webasm, js.
I use SBCL only occasionally now.
- lispm 6y agoSBCL was for years a compilation only Lisp implementation. A few years ago an interpreter for Lisp was added, but is not used by default. SBCL has two compilation modes: a) compilation of source code files to machine code files and b) compilation of Lisp expressions in memory. a) can be used via the function COMPILE-FILE and b) typically via COMPILE (and thus also via EVAL) Generally compilation of Lisp is nothing new (the first compiler was written in the early 60s) and the Common Lisp language definition (first in 1984) has many features to support Lisp compilation: compiler interface, code inlining, similar semantics for interpreted and compiled code, type annotations, ...