variable capture bug in match extension
[metalua.git] / src / samples / h_test2.mlua
blobca8346bbb0cf9828ecd12777bd0e3df970eacad1
1 -{ block:
2    -{ extension 'log' }
3    -{ extension 'H' }
5    require 'dollar'
7    local H = H:new()
8    print("initial H.alpha", H.alpha)
11    function dollar.Q(cond, iftrue, iffalse)
12       local b = +{ block: 
13                    local v 
14                    if -{!cond} then v = -{!iftrue}
15                    else v = -{!iffalse} end }
16       local r = `Stat{ b, +{v} }
17       H(r)
18       return r
19    end 
21    $log(H)
22    return H.alpha }
24 x=1 ; y=$Q(x==1, 'one', 'two') ; print(y)
25 x=2 ; y=$Q(x==1, 'one', 'two') ; print(y)