I just want to take a moment and note that DreamLisp interpreter is at v1.0, and I have no plans to add more to the core of the language. It is a stable reference implementation of the language I want it to be.
The language itself did not have much change after the initial release except the let
form. Since it supports both Clojure style and Common Lisp (LFE) style brackets, the parenthesis for variable bindings isn't the standard style, which I updated now.
A significant enhancement was in the way the REPL works. The REPL now supports multi-line expressions which is essential for experimenting with functional programming and the language itself.
I wanted to do some cleanup and remove some functions like notifications which exposes the underlying platform/language, but I will leave it as is for now.
The sun and stars that float in the open air,
The apple-shaped earth and we upon it, surely the drift of them
is something grand,
I do not know what it is except that it is grand, and that it is
happiness.
- Walt Whitman in A Song for Occupations.
Update on Mon, 08 July 2024: I removed lazy sequence and functions, notifications and network module. Lazy sequences can be constructed using anonymous functions. Keeping them in the language is making the implementation brittle and complicated. Notification and network modules are not necessary at this point in time. If and when Objective-C interop gets implemented, these functionalities can be utilized through DLOS (DreamLisp Object System). A binary release is not available yet because I still have to figure out how to sign and notarize command line programs on a mac.