-- Test start at Sat Apr 23 08:42:59 PDT 2005 double 33 -> 66 -123 -> -123 123.12345 -> 123.12345 [] -> [] (((False))) -> False False:[] -> [False] 0:1:[] -> [0,1] not True -> False 10 + 10 -> 20 (5 + 15) + (10 + 30) -> 60 (False:[])++(True:[]) -> [False,True] (False:[])++(True:[])++[]++[] -> [False,True] (True:[])++(False:[])++(False:[])++(True:[]) -> [True,False,False,True] True -> True fibo 10 -> 55 1 == 0 + 1 -> True 34 == 17 -> False fibo 6 == fibo 6 -> True 1 == 0 + 1 -> True 34 == 17 -> False [1,2] == [coin,2] -> False [1,2] == [coin,2] -> True fibo 6 == fibo 6 -> True coin -> 1 coin -> 0 double coin -> 2 double coin -> 0 coin + 7 -> 8 coin + 7 -> 7 (1 + 2) + coin -> 4 (1 + 2) + coin -> 3 coin + coin -> 2 coin + coin -> 1 coin + coin -> 0 coin + coin -> 1 (coin + 0):(coin + 1):[] -> [1,2] (coin + 0):(coin + 1):[] -> [0,2] (coin + 0):(coin + 1):[] -> [0,1] (coin + 0):(coin + 1):[] -> [1,1] (0:1:2:4:[])++(coin:[]) -> [0,1,2,4,1] (0:1:2:4:[])++(coin:[]) -> [0,1,2,4,0] map not (False:True:[]) -> [True,False] map (+ 2) (0:1:2:[]) -> [2,3,4] map (+ coin) (0:1:2:[]) -> [1,2,3] map (+ coin) (0:1:2:[]) -> [0,1,2] X:Y where X, Y free -> :(X,Y) (X:[])++(Y:Z) where X, Y, Z free -> :(X,:(Y,Z)) X++[] where X free -> [] { X=[]; } X++[] where X free -> [_1] { X=[_1]; } X++[] where X free -> [_1,_2] { X=[_1,_2]; } X++[] where X free -> [_1,_2,_3] { X=[_1,_2,_3]; } X++[] where X free -> ... X++(X++X) where X free -> [] { X=[]; } X++(X++X) where X free -> [_1,_1,_1] { X=[_1]; } X++(X++X) where X free -> [_1,_2,_1,_2,_1,_2] { X=[_1,_2]; } X++(X++X) where X free -> [_1,_2,_3,_1,_2,_3,_1,_2,_3] { X=[_1,_2,_3]; } X++(X++X) where X free -> ... coin + fibo 20 -> 6766 coin + fibo 20 -> 6765 -- Test end at Sat Apr 23 08:43:01 PDT 2005