The read function (lex+parse) in lisp is really handy for building little analysis or metaprogramming tools. The runtime has it, so why not allow users to use it?
However, there's no equivalent for just lexing AFAIK. It's a shame because the same arguments apply!
Related Posts
I've been building an 'extract function' refactor feature. It's surprisingly nuanced.
Where do you put the extracted function? Once you've done the static analysis, what order do you use for the parameters?
In many respects I feel an LLM benefits from a monorepo. I've vibe coded a bunch of helper CLIs recently and end up repeating the same preferences for all of them.
I want all my CLIs to use clippy, parse arguments with clap, etc. They're distinct tools in distinct repos though.
It's really satisfying to use a profiler for the first time on a project. I always find a big performance win with only a small code change.
It's never the code that I expected to be slow, however!