ecdysis [01/02/2007 20:59:18]
Once upon a time, I decided what I really wanted was python's library support, but without all the constraints of the python syntax. I figured the easiest thing to do would be to start with an alternate syntax that looked like lisp, and then build up from there.
Naturally I looked up the word for what snakes do when they shed their skin, and so I called the project ecdysis.
But alas, it was not to be, because I just didn't have time to write it. I got as far as the parser and a handful of lisp-like data structures and functions before the flake effect intervened.
Eventually I heard talk of a similar project, called lython. Lython wasn't quite out of alpha and it wasn't very well documented, but it covers a good deal of the syntax - even allowing macros (which of course is the whole point!). I figured I'd wait and see how it evolved, but apparently, the project was abandoned, and that was the end of that. If you go to the lython site today, you just get a 404 error.
However, thanks to the wayback machine, all is not lost, and a quick search reveals the old lython code, including a simple do-whatever-you-want-style license.
There's really not a lot of code here - maybe 500 lines. It mostly leans on the python compiler module, which I've had a lot of experience with. I think that between what Miles here did with lython and what I did before with ecdysis, I have enough of a toolbox to satisfy my cravings for functional concepts - or at least the freedom to implement them in little article-sized chunks over time - without having to relearn a bunch of libraries and whatnot.
I think what I'll do is try porting a small program like like turcanator over to this syntax and see if it works for me. Worst case I wind up wasting time fiddling with this and producing actual code rather than wasting time reading about languages I don't have time to use, or finding other ways to bend python to my will within the context of the current syntax. :)
