Visualising the execution of functional programming languages by stepping through a graphical AST representation: https://danghica.blogspot.co.uk/2018/03/copying-vs-sharing-in-functional.html
Related Posts
Counter-intuitively, if you're writing a parser for a programming language, you need it to be a total function. As soon as you build IDE tooling, you need ASTs from invalid or incomplete input.
The parser should return (Ast, List<Error>) rather than Result<Ast, Error>.
What are the most popular languages that have used an AST walker for their implementation?
I know Ruby used to do this, but there must be others.
(I'm interested in the lowest PL speed that users will tolerate if you have awesome features.)
Sometimes programming tools are so good that you miss them when using other languages. I see these mentioned the most frequently:
* IntelliJ (for Java)
* Slime+Emacs (for Common Lisp)
* Pharo (for Smalltalk)
I'm struck that they all have bespoke UIs.