SBCL (Steel Bank Common Lisp)
* A high-performance, open-source Common Lisp compiler.
* It is used to write and run programs in the Common Lisp programming language.
* Known for speed and strict ANSI Common Lisp compliance.
Quicklisp
* A package manager for Common Lisp.
* It makes it easy to install and manage libraries for Common Lisp projects.
* Essential for modern Lisp development, simplifying dependency management.
Emacs
* A highly customizable text editor and development environment.
* It is used for coding, writing, and more. Supports extensions like SLIME for Lisp.
* So popular among Lisp developers for its flexibility and integration with tools like SLIME.
SLIME (Superior Lisp Interaction Mode for Emacs)
* An IDE-like environment for Common Lisp, integrated into Emacs.
* It provides a REPL, debugging, and advanced development tools for Lisp.
* Enhances productivity by combining Lisp’s power with Emacs’ editing capabilities.
REPL (Read-Eval-Print Loop)
* NOTE: If you are coming from Java, you have this feature from Java 9 in JShell;)
* It is an interactive programming environment that allows you to write and execute code in real time.
– Read: The REPL reads the code you input.
– Eval: It evaluates the code (executes it).
– Print: The REPL then prints the result of the evaluation.
– Loop: The process repeats, letting you continue interacting with the program.
Why to use REPL?
REPL allows immediate feedback, which is helpful for debugging, learning, and quick prototyping.
Many programming languages, including Common Lisp (via SLIME) and Python, have REPL.
In Lisp, the REPL is an essential part of Lisp development. It allows you to interact with your program’s state and execute code directly.