Lines Matching defs:loop

118       let fun loop stack acc =
119 get stack (fn x => fn stack => loop stack (f(x, acc))) acc
120 in loop [tree] e end
129 let fun loop stack = get stack (fn x => (f x; loop)) ()
130 in loop [tree] end
164 let fun loop ZERO power acc = acc
165 | loop (ONE(_,_,rest)) power acc =
166 loop rest (2*power) (power + acc)
167 | loop (TWO(_,_,_,_,rest)) power acc =
168 loop rest (2*power) (2*power + acc)
169 in loop digits 1 0 end
187 let fun loop x y stack1 stack2 res =
192 (SOME(x, s1), SOME(y, s2)) => loop x y s1 s2 res
201 | SOME(x, stack1) => loop x y stack1 stack2 res
207 | SOME(y, stack2) => loop x y stack1 stack2 res
212 let val digits = loop x y stack1 stack2 ZERO
234 let fun loop x y stack1 stack2 =
238 (SOME(x, s1), SOME(y, s2)) => loop x y s1 s2
244 (SOME(x, stack1), SOME(y, stack2)) => loop x y stack1 stack2
249 let fun loop x y stack1 stack2 =
253 (SOME(x, s1), SOME(y, s2)) => loop x y s1 s2
259 SOME(y, stack2) => loop x y stack1 stack2
263 (SOME(x, stack1), SOME(y, stack2)) => loop x y stack1 stack2
270 let fun loop x y stack1 stack2 res =
275 (SOME(x, s1), SOME(y, s2)) => loop x y s1 s2 res
281 | SOME(x, stack1) => loop x y stack1 stack2 res)
285 | SOME(y, stack2) => loop x y stack1 stack2 res)
289 let val digits = loop x y stack1 stack2 ZERO
295 let fun loop x y stack1 stack2 res =
299 (SOME(x, s1), SOME(y, s2)) => loop x y s1 s2 res
306 | SOME(x, stack1) => loop x y stack1 stack2 res
311 | SOME(y, stack2) => loop x y stack1 stack2 res)
315 let val digits = loop x y stack1 stack2 ZERO
326 let fun loop k p = if p >= n then k else loop (k+1) (2*p)
327 in loop 0 1 end