4 mlp.expr.prefix:add{ '!', prec = 5,
\r
5 builder = function(_,x)
\r
6 local v = mlp.gensym()
\r
7 return `Stat{ +{ block:
\r
9 (-{v}).h_boundary=true },
\r
13 mlp.stat:add{ '!', mlp.expr, builder = |x| +{stat: (-{x[1]}).h_boundary=true } }
\r
15 -- * if there's no boundary in it, is there a need to rename vars?
\r
16 -- ==> first pass to mark binders which contain boundaries,
\r
17 -- then 2nd pass only touched those which have a splice
\r
20 return +{ require 'extension.H-runtime' }