Pure 0.66

61 views
Skip to first unread message

Albert Graef

unread,
Mar 5, 2017, 9:51:31 AM3/5/17
to pure...@googlegroups.com
Binary packages for Arch and Ubuntu are available in the usual places, and I've also updated the MacPorts Portfile once more, but it's *still* hanging in the MP queue, so for the time being you can find it in this pull request: https://github.com/macports/macports-ports/pull/350.

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.pure

The 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

--
Dr. Albert Gr"af
Computer Music Research Group, JGU Mainz, Germany
Email:  agg...@gmail.com
WWW:    https://plus.google.com/+AlbertGraef

Kurt Pagani

unread,
Mar 6, 2017, 4:31:52 PM3/6/17
to pure-lang

The 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.


An amazing language, indeed. I glanced over
http://www.cse.unsw.edu.au/~plaice/archive/WWW/1985/B-AP85-LucidDataflow.pdf
and was even more surprised when considering that the language appeared forty years ago.
Especially remarkable is "2.5 The Operational Semantics of Iswim" - to say it diplomatically: we could have verifiable code for 40+ years ;)
Euclid is another instance of verifiable languages: https://en.wikipedia.org/wiki/Euclid_(programming_language)
Thank you for sharing "lucid.pure"! It's quite instructive besides pure fun.
Kurt

Reply all
Reply to author
Forward
0 new messages