This is another maintenance release, as usual details can be found in the NEWS and ChangeLog files. Briefly, 0.66 fixes some bugs in Emacs Pure mode and in the parser (unary minus in a custom namespace works as expected now if binary minus is declared in that namespace). Another, more mundane addition is that --version now reports the git revision if it is available at compile time. This should help with bug reports in the future, when people are running a Pure version from git.
So this would be another uneventful update, but as a bonus, I've also thrown in an interesting example (IMHO): a toy implementation of Lucid, the venerable dataflow programming language from the 1970s. You can find that in examples/lucid.pure. I had this script lying around unfinished on my hard disk for many many years, finally rediscovered it a few days ago and polished it up for release. Note that you *really* need Pure 0.66 to run this (the script redefines unary
minus in the lucid namespace, which trips the aforementioned parser bug in Pure 0.65 or earlier). So here it is:
https://bitbucket.org/purelang/pure-lang/src/HEAD/pure/examples/lucid.pureThe Lucid manual and a few code examples can be found on Wikipedia:
https://en.wikipedia.org/wiki/Lucid_(programming_language), so you can compare those with the Pure-Lucid examples in the script.
It always amazes me how advanced some of these little research languages in the 1970s and 1980s were. Lucid is one of those seminal languages that didn't see much practical use AFAICT, but kicked off much fruitful research in the programming language design and implementation area.
Enjoy! :)
Albert