clerk
clerk copied to clipboard
Improve show performance by only evaluating each `:render-fn` once
Previously each node in the viewer tree would carry a viewer node and so we'd read and evaluate it multiple times. Now we build up a lookup table from hash to viewer and do it only once per unique viewer.
TODO:
- [x] dedupe viewers
- [x] convey closing parents via opts instead of viewer
- [x] Adjust tests
- [x] Fix closing parens for
(concat (range 20) [#{1 2 3} :foo])