UtilContのソースプログラムを入力して下さい。
foo = \ n -> begin setX 1; setY n; while getY () > 0 do begin val r = getX () in val n = getY () in begin if n==10 then break else if n==3 then begin setX r; setY (n-1); continue end else (); setX (r*n); setY (n-1) end end; getX () end ; bar = \ x -> begin setX 1; label1: if getX () > 100 then goto label2 else (); setX (getX () * 2); goto label1; label2: getX () end ; fact = \ n -> if n==0 then 1 else n*fact(n-1)