Hacker News new | ask | show | jobs
by loeg 185 days ago
What about this representation is hostile to humans and ad-hoc traversals? Don't convenience "getters" basically solve usability?
1 comments

(author here) If you run the parser under a debugger like lldb, then attempt to inspect the AST of a program, it appears as an array of u64. Not very useful, unless you work on special support for debuggers (such as a python script to unpack it in lldb). Compare that to a tree of pointers, you can "expand" nodes without any extra effort.
I guess that makes sense. But I don't ever look at AST in a debugger, and if I needed to, I'd just write some python helpers.