Spready is a spreadsheet that uses a lisp interpreter for its formulas.
This project was meant to learn about how to implement a simple programming language and to learn more about kotlin.
Spready supports most of the relevant functions from the R5RS standard, but it sadly doesn't support macros.
More information about the data types and functions can be found in lisp.
You will probably need at least java 14 to run it because of controlsfx.
Then just run:
./gradlew run
These two resources helped me to understand what parts are needed to implement the lisp interpreter.