Patil, Vishal
Description
Find out more about this book at https://github.com/vishpat/lisp-rs
In this book, you will implement an interpreter for a subset of Scheme, a Lisp di
...
alect, using the Rust programming language. The interpreter will be implemented from scratch using standard Rust. Rust's rich programming constructs such as enum, pattern matching, and error handling, make it easy and a joy to implement a fully functional Lisp interpreter. With Rust's concise syntax, you will be amazed at how you will get an interpreter working with a few lines of code.
To ease the learning curve, the book is divided into two parts. The first part implements a fully functional interpreter and a REPL (Read-Eval-Print-Loop). However, it will support limited data types, if-else expressions, lambdas, and function calls. With the interpreter framework in place, the book's second part will extend the interpreter we will build in Part I with more advanced data types and support for functional programming constructs such as map, filter, and reduce.
This book offers a hands-on approach and does not dwell on programming language theory. The goal is to teach you how to build interpreters or Rust frameworks to add scripting or DSL (Domain Specific Language) capabilities to your future projects.
Read more