[pure-lang-svn] SF.net SVN: pure-lang:[716] pure/trunk/test/prelude.log
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-09-05 11:08:23
|
Revision: 716 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=716&view=rev Author: agraef Date: 2008-09-05 11:08:32 +0000 (Fri, 05 Sep 2008) Log Message: ----------- Update logs. Modified Paths: -------------- pure/trunk/test/prelude.log Modified: pure/trunk/test/prelude.log =================================================================== --- pure/trunk/test/prelude.log 2008-09-05 10:47:34 UTC (rev 715) +++ pure/trunk/test/prelude.log 2008-09-05 11:08:32 UTC (rev 716) @@ -773,7 +773,67 @@ scanl1 f/*0:01*/ [] = []; scanl1 f/*0:01*/ (x/*0:101*/:xs/*0:11*/) = scanl f/*0:01*/ x/*0:101*/ xs/*0:11*/; scanr f/*0:001*/ a/*0:01*/ [] = [a/*0:01*/]; -scanr f/*0:001*/ a/*0:01*/ xs@(_/*0:101*/:_/*0:11*/) = tick/*0*/ [] xs/*0:1*/ with tick zs/*0:01*/ (x/*0:101*/:xs/*0:11*/) = tack/*1*/ zs/*0:01*/ (f/*3:001*/ x/*2:101*/ (y/*0:01*/ when y/*0:01*/:_/*0:1*/ = ys/*1:*/ { +scanr f/*0:001*/ a/*0:01*/ xs@(_/*0:101*/:_/*0:11*/) = tick/*0*/ [] xs/*0:1*/ with tick zs/*0:01*/ (x/*0:101*/:xs/*0:11*/) = tack/*4*/ zs/*3:01*/ us/*0:*/ when ys/*0:*/ = scanr f/*2:001*/ a/*2:01*/ xs/*1:11*/&; y/*0:*/ = (case ys/*1:*/ of y/*0:01*/:_/*0:1*/ = y/*0:01*/; scanr _/*0:001*/ _/*0:01*/ ys/*0:1*/ = throw (bad_list_value ys/*0:1*/); _/*0:*/ = throw (bad_list_value ys/*2:*/) { + rule #0: y:_ = y + rule #1: scanr _ _ ys = throw (bad_list_value ys) + rule #2: _ = throw (bad_list_value ys) + state 0: #0 #1 #2 + <var> state 1 + <app> state 2 + state 1: #2 + state 2: #0 #1 #2 + <var> state 3 + <app> state 5 + state 3: #2 + <var> state 4 + state 4: #2 + state 5: #0 #1 #2 + <var> state 6 + : state 9 + <app> state 12 + state 6: #2 + <var> state 7 + state 7: #2 + <var> state 8 + state 8: #2 + state 9: #0 #2 + <var> state 10 + state 10: #0 #2 + <var> state 11 + state 11: #0 #2 + state 12: #1 #2 + <var> state 13 + scanr state 17 + state 13: #2 + <var> state 14 + state 14: #2 + <var> state 15 + state 15: #2 + <var> state 16 + state 16: #2 + state 17: #1 #2 + <var> state 18 + state 18: #1 #2 + <var> state 19 + state 19: #1 #2 + <var> state 20 + state 20: #1 #2 +} end)&; us/*0:*/ = f/*3:001*/ x/*2:101*/ y/*0:*/:ys/*1:*/ { + rule #0: us = f x y:ys + state 0: #0 + <var> state 1 + state 1: #0 +} { + rule #0: y = (case ys of y:_ = y; scanr _ _ ys = throw (bad_list_value ys); _ = throw (bad_list_value ys) end)& + state 0: #0 + <var> state 1 + state 1: #0 +} { + rule #0: ys = scanr f a xs& + state 0: #0 + <var> state 1 + state 1: #0 +} end if thunkp xs/*0:11*/; tick zs/*0:01*/ (x/*0:101*/:xs/*0:11*/) = tack/*1*/ zs/*0:01*/ (f/*3:001*/ x/*2:101*/ (y/*0:01*/ when y/*0:01*/:_/*0:1*/ = ys/*1:*/ { rule #0: y:_ = ys state 0: #0 <app> state 1 @@ -792,37 +852,38 @@ <var> state 1 state 1: #0 } end) if thunkp xs/*0:11*/; tick zs/*0:01*/ (x/*0:101*/:xs/*0:11*/) = tick/*1*/ (x/*0:101*/:zs/*0:01*/) xs/*0:11*/; tick zs/*0:01*/ [] = tack/*1*/ zs/*0:01*/ [a/*1:01*/]; tick zs/*0:01*/ xs/*0:1*/ = throw (bad_list_value xs/*0:1*/) { - rule #0: tick zs (x:xs) = tack zs (f x (y when y:_ = ys end)&:ys when ys = scanr f a xs& end) if thunkp xs - rule #1: tick zs (x:xs) = tick (x:zs) xs - rule #2: tick zs [] = tack zs [a] - rule #3: tick zs xs = throw (bad_list_value xs) - state 0: #0 #1 #2 #3 + rule #0: tick zs (x:xs) = tack zs us when ys = scanr f a xs&; y = (case ys of y:_ = y; scanr _ _ ys = throw (bad_list_value ys); _ = throw (bad_list_value ys) end)&; us = f x y:ys end if thunkp xs + rule #1: tick zs (x:xs) = tack zs (f x (y when y:_ = ys end)&:ys when ys = scanr f a xs& end) if thunkp xs + rule #2: tick zs (x:xs) = tick (x:zs) xs + rule #3: tick zs [] = tack zs [a] + rule #4: tick zs xs = throw (bad_list_value xs) + state 0: #0 #1 #2 #3 #4 <var> state 1 - state 1: #0 #1 #2 #3 + state 1: #0 #1 #2 #3 #4 <var> state 2 <app> state 3 [] state 13 - state 2: #3 - state 3: #0 #1 #3 + state 2: #4 + state 3: #0 #1 #2 #4 <var> state 4 <app> state 6 - state 4: #3 + state 4: #4 <var> state 5 - state 5: #3 - state 6: #0 #1 #3 + state 5: #4 + state 6: #0 #1 #2 #4 <var> state 7 : state 10 - state 7: #3 + state 7: #4 <var> state 8 - state 8: #3 + state 8: #4 <var> state 9 - state 9: #3 - state 10: #0 #1 #3 + state 9: #4 + state 10: #0 #1 #2 #4 <var> state 11 - state 11: #0 #1 #3 + state 11: #0 #1 #2 #4 <var> state 12 - state 12: #0 #1 #3 - state 13: #2 #3 + state 12: #0 #1 #2 #4 + state 13: #3 #4 }; tack (x/*0:0101*/:xs/*0:011*/) ys/*0:1*/ = tack/*2*/ xs/*1:011*/ (f/*2:001*/ x/*1:0101*/ y/*0:01*/:ys/*1:1*/) when y/*0:01*/:_/*0:1*/ = ys/*0:1*/ { rule #0: y:_ = ys state 0: #0 @@ -859,25 +920,55 @@ } end; scanr1 f/*0:01*/ [] = []; scanr1 f/*0:01*/ [x/*0:101*/] = [x/*0:101*/]; -scanr1 f/*0:01*/ xs@(_/*0:101*/:_/*0:11*/) = tick/*0*/ [] xs/*0:1*/ with tick zs/*0:01*/ (x/*0:101*/:xs/*0:11*/) = tack/*1*/ zs/*0:01*/ (f/*3:01*/ x/*2:101*/ (y/*0:01*/ when y/*0:01*/:_/*0:1*/ = ys/*1:*/ { - rule #0: y:_ = ys +scanr1 f/*0:01*/ xs@(_/*0:101*/:_/*0:11*/) = tick/*0*/ [] xs/*0:1*/ with tick zs/*0:01*/ (x/*0:101*/:xs/*0:11*/) = tack/*4*/ zs/*3:01*/ us/*0:*/ when ys/*0:*/ = scanr1 f/*2:01*/ xs/*1:11*/&; y/*0:*/ = (case ys/*1:*/ of y/*0:01*/:_/*0:1*/ = y/*0:01*/; scanr1 _/*0:01*/ ys/*0:1*/ = throw (bad_list_value ys/*0:1*/); _/*0:*/ = throw (bad_list_value ys/*2:*/) { + rule #0: y:_ = y + rule #1: scanr1 _ ys = throw (bad_list_value ys) + rule #2: _ = throw (bad_list_value ys) + state 0: #0 #1 #2 + <var> state 1 + <app> state 2 + state 1: #2 + state 2: #0 #1 #2 + <var> state 3 + <app> state 5 + state 3: #2 + <var> state 4 + state 4: #2 + state 5: #0 #1 #2 + <var> state 6 + : state 9 + scanr1 state 12 + state 6: #2 + <var> state 7 + state 7: #2 + <var> state 8 + state 8: #2 + state 9: #0 #2 + <var> state 10 + state 10: #0 #2 + <var> state 11 + state 11: #0 #2 + state 12: #1 #2 + <var> state 13 + state 13: #1 #2 + <var> state 14 + state 14: #1 #2 +} end)&; us/*0:*/ = f/*3:01*/ x/*2:101*/ y/*0:*/:ys/*1:*/ { + rule #0: us = f x y:ys state 0: #0 - <app> state 1 + <var> state 1 state 1: #0 - <app> state 2 - state 2: #0 - : state 3 - state 3: #0 - <var> state 4 - state 4: #0 - <var> state 5 - state 5: #0 -} end)&:ys/*0:*/ when ys/*0:*/ = scanr1 f/*2:01*/ xs/*1:11*/& { +} { + rule #0: y = (case ys of y:_ = y; scanr1 _ ys = throw (bad_list_value ys); _ = throw (bad_list_value ys) end)& + state 0: #0 + <var> state 1 + state 1: #0 +} { rule #0: ys = scanr1 f xs& state 0: #0 <var> state 1 state 1: #0 -} end) if thunkp xs/*0:11*/; tick zs/*0:01*/ xs/*0:1*/ = case xs/*0:1*/ of [x/*0:01*/] = tack/*2*/ zs/*1:01*/ [x/*0:01*/]; x/*0:01*/:xs/*0:1*/ = tick/*2*/ (x/*0:01*/:zs/*1:01*/) xs/*0:1*/; _/*0:*/ = throw (bad_list_value xs/*1:1*/) { +} end if thunkp xs/*0:11*/; tick zs/*0:01*/ xs/*0:1*/ = case xs/*0:1*/ of [x/*0:01*/] = tack/*2*/ zs/*1:01*/ [x/*0:01*/]; x/*0:01*/:xs/*0:1*/ = tick/*2*/ (x/*0:01*/:zs/*1:01*/) xs/*0:1*/; _/*0:*/ = throw (bad_list_value xs/*1:1*/) { rule #0: [x] = tack zs [x] rule #1: x:xs = tick (x:zs) xs rule #2: _ = throw (bad_list_value xs) @@ -907,7 +998,7 @@ state 11: #1 #2 state 12: #0 #1 #2 } end { - rule #0: tick zs (x:xs) = tack zs (f x (y when y:_ = ys end)&:ys when ys = scanr1 f xs& end) if thunkp xs + rule #0: tick zs (x:xs) = tack zs us when ys = scanr1 f xs&; y = (case ys of y:_ = y; scanr1 _ ys = throw (bad_list_value ys); _ = throw (bad_list_value ys) end)&; us = f x y:ys end if thunkp xs rule #1: tick zs xs = case xs of [x] = tack zs [x]; x:xs = tick (x:zs) xs; _ = throw (bad_list_value xs) end state 0: #0 #1 <var> state 1 @@ -1801,8 +1892,8 @@ dowith3 f/*0:0001*/ (x/*0:00101*/:xs/*0:0011*/) (y/*0:0101*/:ys/*0:011*/) (z/*0:101*/:zs/*0:11*/) = f/*0:0001*/ x/*0:00101*/ y/*0:0101*/ z/*0:101*/$$dowith3 f/*0:0001*/ xs/*0:0011*/ ys/*0:011*/ zs/*0:11*/; dowith3 f/*0:0001*/ _/*0:001*/ _/*0:01*/ _/*0:1*/ = (); unzip [] = [],[]; -unzip us@(_/*0:101*/:_/*0:11*/) = foldr accum/*0*/ ([],[]) us/*0:1*/ with accum u@(x/*0:0101*/,y/*0:011*/) us/*0:1*/ = x/*0:0101*/:(xs/*0:01*/ when xs/*0:01*/,_/*0:1*/ = us/*1:1*/ { - rule #0: xs,_ = us +unzip us@(_/*0:101*/:_/*0:11*/) = foldr accum/*0*/ ([],[]) us/*0:1*/ with accum u@(x/*0:0101*/,y/*0:011*/) us/*0:1*/ = x/*0:0101*/:(xs/*0:01*/ when xs/*0:01*/,_/*0:1*/ = check/*2*/ us/*1:1*/ { + rule #0: xs,_ = check us state 0: #0 <app> state 1 state 1: #0 @@ -1814,8 +1905,8 @@ state 4: #0 <var> state 5 state 5: #0 -} end)&,y/*0:011*/:(ys/*0:1*/ when _/*0:01*/,ys/*0:1*/ = us/*1:1*/ { - rule #0: _,ys = us +} end)&,y/*0:011*/:(ys/*0:1*/ when _/*0:01*/,ys/*0:1*/ = check/*2*/ us/*1:1*/ { + rule #0: _,ys = check us state 0: #0 <app> state 1 state 1: #0 @@ -1827,8 +1918,8 @@ state 4: #0 <var> state 5 state 5: #0 -} end)& if thunkp us/*0:1*/; accum u@(x/*0:0101*/,y/*0:011*/) us/*0:1*/ = x/*1:0101*/:xs/*0:01*/,y/*1:011*/:ys/*0:1*/ when xs/*0:01*/,ys/*0:1*/ = us/*0:1*/ { - rule #0: xs,ys = us +} end)& if thunkp us/*0:1*/; accum u@(x/*0:0101*/,y/*0:011*/) us/*0:1*/ = x/*1:0101*/:xs/*0:01*/,y/*1:011*/:ys/*0:1*/ when xs/*0:01*/,ys/*0:1*/ = check/*1*/ us/*0:1*/ { + rule #0: xs,ys = check us state 0: #0 <app> state 1 state 1: #0 @@ -1841,8 +1932,8 @@ <var> state 5 state 5: #0 } end; accum u/*0:01*/ _/*0:1*/ = throw (bad_tuple_value u/*0:01*/) { - rule #0: accum u@(x,y) us = x:(xs when xs,_ = us end)&,y:(ys when _,ys = us end)& if thunkp us - rule #1: accum u@(x,y) us = x:xs,y:ys when xs,ys = us end + rule #0: accum u@(x,y) us = x:(xs when xs,_ = check us end)&,y:(ys when _,ys = check us end)& if thunkp us + rule #1: accum u@(x,y) us = x:xs,y:ys when xs,ys = check us end rule #2: accum u _ = throw (bad_tuple_value u) state 0: #0 #1 #2 <var> state 1 @@ -1875,10 +1966,55 @@ state 14: #0 #1 #2 <var> state 15 state 15: #0 #1 #2 +}; check us@(_/*0:101*/,_/*0:11*/) = us/*0:1*/; check (foldr _/*0:1001*/ _/*0:101*/ us/*0:11*/) = throw (bad_list_value us/*0:11*/); check us/*0:1*/ = throw (bad_tuple_value us/*0:1*/) { + rule #0: check us@(_,_) = us + rule #1: check (foldr _ _ us) = throw (bad_list_value us) + rule #2: check us = throw (bad_tuple_value us) + state 0: #0 #1 #2 + <var> state 1 + <app> state 2 + state 1: #2 + state 2: #0 #1 #2 + <var> state 3 + <app> state 5 + state 3: #2 + <var> state 4 + state 4: #2 + state 5: #0 #1 #2 + <var> state 6 + , state 9 + <app> state 12 + state 6: #2 + <var> state 7 + state 7: #2 + <var> state 8 + state 8: #2 + state 9: #0 #2 + <var> state 10 + state 10: #0 #2 + <var> state 11 + state 11: #0 #2 + state 12: #1 #2 + <var> state 13 + foldr state 17 + state 13: #2 + <var> state 14 + state 14: #2 + <var> state 15 + state 15: #2 + <var> state 16 + state 16: #2 + state 17: #1 #2 + <var> state 18 + state 18: #1 #2 + <var> state 19 + state 19: #1 #2 + <var> state 20 + state 20: #1 #2 } end; unzip3 [] = [],[],[]; -unzip3 us@(_/*0:101*/:_/*0:11*/) = foldr accum/*0*/ ([],[],[]) us/*0:1*/ with accum u@(x/*0:0101*/,y/*0:01101*/,z/*0:0111*/) us/*0:1*/ = x/*0:0101*/:(xs/*0:01*/ when xs/*0:01*/,_/*0:101*/,_/*0:11*/ = us/*1:1*/ { - rule #0: xs,_,_ = us +unzip3 us@(_/*0:101*/:_/*0:11*/) = foldr accum/*0*/ ([],[],[]) us/*0:1*/ with accum u@(x/*0:0101*/,y/*0:01101*/,z/*0:0111*/) us/*0:1*/ = x/*0:0101*/:(xs/*0:01*/ when xs/*0:01*/,_/*0:101*/,_/*0:11*/ = check/*2*/ us/*1:1*/ { + rule #0: xs,_,_ = check us state 0: #0 <app> state 1 state 1: #0 @@ -1898,8 +2034,8 @@ state 8: #0 <var> state 9 state 9: #0 -} end)&,y/*0:01101*/:(ys/*0:101*/ when _/*0:01*/,ys/*0:101*/,_/*0:11*/ = us/*1:1*/ { - rule #0: _,ys,_ = us +} end)&,y/*0:01101*/:(ys/*0:101*/ when _/*0:01*/,ys/*0:101*/,_/*0:11*/ = check/*2*/ us/*1:1*/ { + rule #0: _,ys,_ = check us state 0: #0 <app> state 1 state 1: #0 @@ -1919,8 +2055,8 @@ state 8: #0 <var> state 9 state 9: #0 -} end)&,z/*0:0111*/:(zs/*0:11*/ when _/*0:01*/,_/*0:101*/,zs/*0:11*/ = us/*1:1*/ { - rule #0: _,_,zs = us +} end)&,z/*0:0111*/:(zs/*0:11*/ when _/*0:01*/,_/*0:101*/,zs/*0:11*/ = check/*2*/ us/*1:1*/ { + rule #0: _,_,zs = check us state 0: #0 <app> state 1 state 1: #0 @@ -1940,8 +2076,8 @@ state 8: #0 <var> state 9 state 9: #0 -} end)& if thunkp us/*0:1*/; accum u@(x/*0:0101*/,y/*0:01101*/,z/*0:0111*/) us/*0:1*/ = x/*1:0101*/:xs/*0:01*/,y/*1:01101*/:ys/*0:101*/,z/*1:0111*/:zs/*0:11*/ when xs/*0:01*/,ys/*0:101*/,zs/*0:11*/ = us/*0:1*/ { - rule #0: xs,ys,zs = us +} end)& if thunkp us/*0:1*/; accum u@(x/*0:0101*/,y/*0:01101*/,z/*0:0111*/) us/*0:1*/ = x/*1:0101*/:xs/*0:01*/,y/*1:01101*/:ys/*0:101*/,z/*1:0111*/:zs/*0:11*/ when xs/*0:01*/,ys/*0:101*/,zs/*0:11*/ = check/*1*/ us/*0:1*/ { + rule #0: xs,ys,zs = check us state 0: #0 <app> state 1 state 1: #0 @@ -1962,8 +2098,8 @@ <var> state 9 state 9: #0 } end; accum u/*0:01*/ _/*0:1*/ = throw (bad_tuple_value u/*0:01*/) { - rule #0: accum u@(x,y,z) us = x:(xs when xs,_,_ = us end)&,y:(ys when _,ys,_ = us end)&,z:(zs when _,_,zs = us end)& if thunkp us - rule #1: accum u@(x,y,z) us = x:xs,y:ys,z:zs when xs,ys,zs = us end + rule #0: accum u@(x,y,z) us = x:(xs when xs,_,_ = check us end)&,y:(ys when _,ys,_ = check us end)&,z:(zs when _,_,zs = check us end)& if thunkp us + rule #1: accum u@(x,y,z) us = x:xs,y:ys,z:zs when xs,ys,zs = check us end rule #2: accum u _ = throw (bad_tuple_value u) state 0: #0 #1 #2 <var> state 1 @@ -2022,4 +2158,69 @@ state 27: #0 #1 #2 <var> state 28 state 28: #0 #1 #2 +}; check us@(_/*0:101*/,_/*0:1101*/,_/*0:111*/) = us/*0:1*/; check (foldr _/*0:1001*/ _/*0:101*/ us/*0:11*/) = throw (bad_list_value us/*0:11*/); check us/*0:1*/ = throw (bad_tuple_value us/*0:1*/) { + rule #0: check us@(_,_,_) = us + rule #1: check (foldr _ _ us) = throw (bad_list_value us) + rule #2: check us = throw (bad_tuple_value us) + state 0: #0 #1 #2 + <var> state 1 + <app> state 2 + state 1: #2 + state 2: #0 #1 #2 + <var> state 3 + <app> state 5 + state 3: #2 + <var> state 4 + state 4: #2 + state 5: #0 #1 #2 + <var> state 6 + , state 9 + <app> state 22 + state 6: #2 + <var> state 7 + state 7: #2 + <var> state 8 + state 8: #2 + state 9: #0 #2 + <var> state 10 + state 10: #0 #2 + <var> state 11 + <app> state 12 + state 11: #2 + state 12: #0 #2 + <var> state 13 + <app> state 15 + state 13: #2 + <var> state 14 + state 14: #2 + state 15: #0 #2 + <var> state 16 + , state 19 + state 16: #2 + <var> state 17 + state 17: #2 + <var> state 18 + state 18: #2 + state 19: #0 #2 + <var> state 20 + state 20: #0 #2 + <var> state 21 + state 21: #0 #2 + state 22: #1 #2 + <var> state 23 + foldr state 27 + state 23: #2 + <var> state 24 + state 24: #2 + <var> state 25 + state 25: #2 + <var> state 26 + state 26: #2 + state 27: #1 #2 + <var> state 28 + state 28: #1 #2 + <var> state 29 + state 29: #1 #2 + <var> state 30 + state 30: #1 #2 } end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |