Lisp in Lisp - A minimalistic Lisp interpreter crafted with Kotlin/Native, Linsp provides the foundational operations described by Paul Graham in his seminal article The Root of Lisp. This interpreter offers the seven atomic operations: quote
, atom
, eq
, car
, cdr
, cons
, and cond
, along with support for lambda
.
- Minimalistic Design: Linsp is built with simplicity in mind, focusing on the core principles of Lisp.
- Lambda Support: Enables the creation of anonymous functions with lexical scope.
- Extended Functionality: Beyond the seven atomic operations, Linsp introduces new operators such as
first
,second
,next
,=
, andif
, enriching the language's capabilities.
To get started with Linsp, follow these simple steps:
- Clone the Linsp repository:
git clone https://github.com/redraiment/linsp.git
- Change to the Linsp directory:
cd linsp
- Build and link the native executable using Gradle:
./gradlew linkNative
- Run the Linsp interpreter with the main script:
build/bin/native/releaseExecutable/linsp.kexe main.linsp
The development approach of Linsp is reminiscent of PyPy, focusing on a clean and efficient implementation. Further details on the implementation will be provided in future updates.
We welcome contributions to Linsp! For bug reports, feature requests, or questions, please create an issue or submit a pull request.
Linsp is open-source software, released under the MIT License.
Feel free to explore, learn, and extend the Linsp interpreter to suit your needs.