This was the big goal I had when I built the Ohm visualizer (ohmlang.github.io/editor/#30325d…): to visually represent the *entire* computation — failed branches and all — and to make it possible to jump to any node and step from there. twitter.com/geoffreylitt/s…
It could be more discoverable / learnable but I'm still pretty happy with how it turned out.
(I really should write this up somewhere.)
(I really should write this up somewhere.)
Showing a functional program as an icicle plot / flame graph is straightforward, but the challenge here was:
1️⃣ Ohm's parsing algorithm is not purely functional (due to how it handles left recursion), and
2️⃣ To represent both the parse tree and the computation in the same way
1️⃣ Ohm's parsing algorithm is not purely functional (due to how it handles left recursion), and
2️⃣ To represent both the parse tree and the computation in the same way
https://twitter.com/dubroy/status/1347278540341993472 ∙ Archived on 2025-03-28.