3 importJava "org.simantics.scl.runtime.lazy.Lazy" where
7 lazy :: (<e> a) -> Lazy e a
8 force :: Lazy e a -> <e> a
10 type LazyList e a = Lazy e (LazyListStr e a)
11 data LazyListStr e a = LLNil | LLCons a (LazyList e a)
13 headLL :: LazyList e a -> <e> Maybe a
14 headLL ll = match force ll with
18 tailLL :: LazyList e a -> <e> Maybe (LazyList e a)
19 tailLL ll = match force ll with
23 // data StaticFunction a e b
24 // data Closure a e b = Closure a (StaticFunction a e b)
25 // closure :: (<e> a) -> Closure ? e b
26 // staticFunction :: StaticFunction a e b -> a -> <e> b