I'm having fun writing a simple type checker, but I'm learning firsthand why syntax-directed checking doesn't work. It prevents inference.
My checker catches real bugs, but it can't handle cases like this:
[1, 2].map(fun(x) { x + 1; })
I think I need bidirectional checking.
miniblog.
Related Posts
I don't use subagents much: I usually want to discuss and iterate on the subtask. Subagents are typically unattended.
I find myself writing md files for a new session to read. Are there any harnesses that treat forking as a first class feature?
I had a third attempt at porting difftastic from Dijkstra to A*, and I've eventually concluded that A* just isn't worth it for the implementation complexity.
I had fun writing it up though, and I've even attempted ASCII art for building intuitions:
I like the idea of tools like Pinboard or Karakeep that let you save copies of websites you've bookmarked.
I'm considering just writing a script that saves web pages as a .md in a private git repository though.
It feels crude. I think I get essentially all the benefits though?