Chat
WHAT COMES NEXT?
After publishing The Semantics of Python Import and explicating on the history and internals of how Python turns source code into running operations, I thought I had a pretty clear idea of what to do next. I extended Hy such that it was now possible to write an entire Django application in a Lisp dialect, which was cool, and started on Catalogia, a program that would help me index, search, clean up and organize my music collection. The idea behind Catalogia was to demonstrate that writing an entire Django application in Hy was possible. I've done that, even going so far as to demonstrate that it's possible to replace the boilerplate of generic views with a Lisp macro to generate the boilerplate automatically at compile-time.
The problem is that Catalogia isn't done, but I'm already bored with it. This is a classic problem in side projects, I know, but I'm trying to figure out what to do with it.
What I'd really like to do, now that I've got a viable Lisp running on and auto-transpiling to Python, is write even more tools to extend Hy even further. I don't like the existing suite of PEGs for Python; I'm completely spoiled by David Majda's PEG.js, which marries PEG to Javascript with the absolute minimal amount of boiler plate possible; I'd like to port something that succint to Python. Lexer/Parser technology is one of those spaces that's assumed to be "solved," but there are still places where it could be better, especially in the UX of the development process, and there's also an entirely new Lexer/Parser theory called the Derivatives of Determinite Finite Automata that has one implementation (in Racket, natch) that I'd like to see happening in a popular language like Python.
What I'd also like to do is strike out on my own and build on the experience Hy gave me to build a language research platform for Python. Something like GardenSnake, but complete, on top of which it would be easy, even trivial, to add new tiles that construct whole new operators in Python. I'd like to be able to pipe and compose Python instructions in a point-free syntax; how cool would that be without having to run through a transpiler? Just write in this "extended" Python, call Python, run Python, and have it work. (Psst: Polyloader is a key component of this idea.) Something that could be rolled back simply, providing plug-and-play additions to the Python grammar/compiler, just by adding a single call in your script to polyloader.install()?
Meanwhile, all the other desires are piling up. I want to run through this class, and this class. (I already have the textbooks.) I want to move this blog off effin' Wordpress onto something sane, and then Dockerize the sanity. I want to finish my basic editor for my stories, with all the front-end stuff that's been missing for so long, and do a visual refresh, and all the other critical things that happen when the Web Guy's Website Doesn't Get Revamped.
I really should commit to Catalogia. I'm just afraid of it becoming popular.