I've been implementing a quasiquoter as part of the wonderful Make-A-Lisp project: https://github.com/kanaka/mal
This has been the most interesting part so far! I now have a pretty good understanding of how it's an AST transformation that you later eval. I.e. basically a macro.
miniblog.
Related Posts
Implementation chicken:
When there's an obvious feature gap in an ecosystem and everyone is waiting for someone else to write it.
I see this most frequently with OSS toolchains. Basic functionality in new programming languages is another common scenario.
I'm debating whether `from foo import *` is a bad feature for my toy programming language.
Forcing `import foo as f` and later `f::bar()` is so much more amenable to local static analysis. You also don't get issues with name clashes.
It's certainly convenient though.
I've released difftastic 0.70! In this release:
* Added Dockerfile and fish shell support
* Improved Dart, Emacs Lisp, Erlang, Java, OCaml, PHP,
Protocol Buffers and TOML.
* A bunch of display and performance fixes.