And I already wanted to learn Lisp. Because I kind of half-assumed this tool to be there already :-P
I always assumed, obviously Lisp didn't get this popular if people had to keep track of all their parentheses. Sure they probably had to in "the old days" (although I wonder even when?). It just seems like a tedious thing to have to do in order to work with such a consistently structured language.
Of course you can get most of it with highlighting matching parens and auto-formatting shortcuts. Like most languages.
But I kind of expected Lisp tooling to go the extra mile. Because it is that structured.
From my limited knowledge of Lisp, I figured some vague ideas on how such a tool would work / should be designed. It's kind of cool to see that the author's initial steps match up with that idea: define a grammar, some invariants, and "have at it" (ok, so I didn't figure that far). And then he made it work!
Maybe a silly question, but since the author is in this thread: Was it hard to make? :-)
BTW the idea of switching between these two modes is a very clever approach to keeping certain invariants invariant while still being able to modify the code--because the trivial way to preserve the invariant would be the tool immediately reverting your edit :)
And I already wanted to learn Lisp. Because I kind of half-assumed this tool to be there already :-P
I always assumed, obviously Lisp didn't get this popular if people had to keep track of all their parentheses. Sure they probably had to in "the old days" (although I wonder even when?). It just seems like a tedious thing to have to do in order to work with such a consistently structured language.
Of course you can get most of it with highlighting matching parens and auto-formatting shortcuts. Like most languages.
But I kind of expected Lisp tooling to go the extra mile. Because it is that structured.
From my limited knowledge of Lisp, I figured some vague ideas on how such a tool would work / should be designed. It's kind of cool to see that the author's initial steps match up with that idea: define a grammar, some invariants, and "have at it" (ok, so I didn't figure that far). And then he made it work!
Maybe a silly question, but since the author is in this thread: Was it hard to make? :-)
BTW the idea of switching between these two modes is a very clever approach to keeping certain invariants invariant while still being able to modify the code--because the trivial way to preserve the invariant would be the tool immediately reverting your edit :)