kadath:script> cabal repl Preprocessing library deepseq-bounded-0.5.0... In-place registering deepseq-bounded-0.5.0... Preprocessing test suite 'deepseq-bounded-tests' for deepseq-bounded-0.5.0... GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. ... Ok, modules loaded: Main, Tests, Blah, Bottom, Foo, FooG. *Main> main Running tests for deepseq-bounded... Cases: 1 Tried: 0 Errors: 0 Failures: 0 Testing. Pattern Compiles to * Node WW [] # Node WI [] . Node WS [] .{} Node WR [] .{*} Node WR [Node WW []] .{**} Node WR [Node WW [],Node WW []] .{.*} Node WR [Node WS [],Node WW []] .{#.} Node WR [Node WI [],Node WS []] compilePat-"{": warning: # with subpattern .{#{#}} Node WR [Node WI []] .{.{#}} Node WR [Node WR [Node WI []]] .{*#*#*#**#*#*} Node WR [Node WW [],Node WI [],Node WW [],Node WI [],Node WW [],Node WI [],Node WW [],Node WW [],Node WI [],Node WW [],Node WI [],Node WW []] compilePat-"{": warning: * with subpattern .{*#.{*#.{*#}*}*{#*}#*} Node WR [Node WW [],Node WI [],Node WR [Node WW [],Node WI [],Node WR [Node WW [],Node WI []],Node WW []],Node WW [],Node WI [],Node WW []] .{*#.{*#.{*#}*}*#*} Node WR [Node WW [],Node WI [],Node WR [Node WW [],Node WI [],Node WR [Node WW [],Node WI []],Node WW []],Node WW [],Node WI [],Node WW []] .{.*.{*23*}} Node WR [Node WS [],Node WW [],Node WR [Node (WN 23) [],Node WW []]] .{.=*.{=*23*}} Node WR [Node WS [],Node PW [],Node WR [Node (PN 23) [],Node WW []]] =================================================== exp = (3.4, [5,__,7], __) :: (Float, [Int], Bool) get (_,xs,_) = show $ (xs!!2) ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .## showPat.compilePat = compilePat: disconnected pattern (not rooted) Perhaps you used parentheses instead of braces? --------------------------------------------------- patstr = .{.##} showPat.compilePat = .{.##} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{.{}#{}#{}} expected value = 7 (but "# with subpattern" warning) showPat.compilePat = .{.{}##} actual value = 7 --------------------------------------------------- patstr = * showPat.compilePat = * expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{***} showPat.compilePat = .{***} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{###} showPat.compilePat = .{###} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*##} showPat.compilePat = .{*##} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{**#} showPat.compilePat = .{**#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{##*} showPat.compilePat = .{##*} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{..{*#*}#} expected value = 7 (but with pattern-match failure warning) showPat.compilePat = .{..{*#*}#} actual value = 7 --------------------------------------------------- patstr = .{..{*###}#} expected value = 7 (but with pattern-match failure warning) showPat.compilePat = .{..{*###}#} actual value = 7 --------------------------------------------------- patstr = .{..{*####}#} expected value = 7 (but with pattern-match failure warning) showPat.compilePat = .{..{*####}#} actual value = 7 --------------------------------------------------- patstr = .{..{*####}.} expected value = Prelude.undefined (but with pattern-match failure warning) showPat.compilePat = .{..{*####}.} actual value = Prelude.undefined --------------------------------------------------- patstr = .{..{*#}*} showPat.compilePat = .{..{*#}*} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{..{*#}#} showPat.compilePat = .{..{*#}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{..{*.{#*}}#} showPat.compilePat = .{..{*.{#*}}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{..{*.{*#}}#} showPat.compilePat = .{..{*.{*#}}#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{..{.{..{#*}}}#} expected value = 7 (but with pattern-match failure warning) showPat.compilePat = .{..{.{..{#*}}}#} actual value = 7 --------------------------------------------------- patstr = .{#.{..{..{#*}}}#} showPat.compilePat = .{#.{..{..{#*}}}#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{..{..{#.{..}}}#} showPat.compilePat = .{..{..{#.{..}}}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{..{..{#*}}#} showPat.compilePat = .{..{..{#*}}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*.{*.{#*}}#} showPat.compilePat = .{*.{*.{#*}}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{##*} showPat.compilePat = .{##*} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*#*} showPat.compilePat = .{*#*} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .:Tuple3{*.{*.{#*}}#} showPat.compilePat = .:Tuple3{*.{*.{#*}}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .:(,,){*.{*.{#*}}#} showPat.compilePat = .:(,,){*.{*.{#*}}#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .:(,,){*.{*.{.*}}#} showPat.compilePat = .:(,,){*.{*.{.*}}#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .:Bool{***} showPat.compilePat = .:Bool{***} expected value = 7 actual value = 7 --------------------------------------------------- patstr = *:Bool showPat.compilePat = *:Bool expected value = 7 actual value = 7 --------------------------------------------------- patstr = *:(,,) showPat.compilePat = *:(,,) expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*#.} showPat.compilePat = .{*#.} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*#.:Bool} showPat.compilePat = .{*#.:Bool{}} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*#.:Bool{}} showPat.compilePat = .{*#.:Bool{}} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*#.:Int{}} showPat.compilePat = .{*#.:Int{}} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*#.:(,){}} showPat.compilePat = .{*#.:(,){}} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*#.:Int } showPat.compilePat = .{*#.:Int{}} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*#.:Int'} showPat.compilePat = .{*#.:Int'{}} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*##:Bool} showPat.compilePat = .{*##:Bool} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{*##:Int} showPat.compilePat = .{*##:Int} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*##:(,)} showPat.compilePat = .{*##:(,)} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*##:Bool{}} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*##:Bool} expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = .{*##:Int{}} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*##:Int} expected value = Prelude.undefined compilePat-"{": warning: # with subpattern actual value = Prelude.undefined --------------------------------------------------- patstr = .{*##:(,){}} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*##:(,)} expected value = Prelude.undefined compilePat-"{": warning: # with subpattern actual value = Prelude.undefined --------------------------------------------------- patstr = .{**2#} showPat.compilePat = .{**2#} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{**3#} showPat.compilePat = .{**3#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{*#:G2{}#} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*#:G2#} expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = .{*#:Int{}#} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*#:Int#} expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 -------------------------------------------------- =================================================== exp = (G1, G2 5 __ 7, __) :: (TG, TG, Bool) get (_,(G2 _ _ n),_) = n ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .{*#:G2{}#} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*#:G2#} expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = .{*#:Int{}#} showPat.compilePat = compilePat-"{": warning: # with subpattern .{*#:Int#} expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 -------------------------------------------------- =================================================== exp = G2 5 __ 7 :: TG get (G2 _ _ n) = n ? = get $ forcep patstr exp =================================================== patstr = .. showPat.compilePat = compilePat: disconnected pattern (not rooted) Perhaps you used parentheses instead of braces? --------------------------------------------------- patstr = * showPat.compilePat = * expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = *0 showPat.compilePat = *0 expected value = 7 actual value = 7 --------------------------------------------------- patstr = *1 showPat.compilePat = *1 expected value = 7 actual value = 7 --------------------------------------------------- patstr = *2 showPat.compilePat = *2 expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = *3 showPat.compilePat = *3 expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{.#.} showPat.compilePat = .{.#.} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .{...} showPat.compilePat = .{...} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = *:TG showPat.compilePat = *:TG expected value = 7 actual value = 7 --------------------------------------------------- patstr = *:G1 showPat.compilePat = *:G1 expected value = 7 actual value = 7 --------------------------------------------------- patstr = *:G2 showPat.compilePat = *:G2 expected value = Prelude.undefined actual value = 7 --------------------------------------------------- patstr = *:G1{..} showPat.compilePat = compilePat-"{": warning: * with subpattern *:G1 expected value = 7 compilePat-"{": warning: * with subpattern actual value = 7 --------------------------------------------------- patstr = *:G1{...} showPat.compilePat = compilePat-"{": warning: * with subpattern *:G1 expected value = 7 compilePat-"{": warning: * with subpattern actual value = 7 --------------------------------------------------- patstr = *:G2{..} showPat.compilePat = compilePat-"{": warning: * with subpattern *:G2 expected value = Prelude.undefined compilePat-"{": warning: * with subpattern actual value = 7 --------------------------------------------------- patstr = *:G2{...} showPat.compilePat = compilePat-"{": warning: * with subpattern *:G2 expected value = Prelude.undefined compilePat-"{": warning: * with subpattern actual value = 7 --------------------------------------------------- patstr = #:G1 showPat.compilePat = #:G1 expected value = 7 actual value = 7 --------------------------------------------------- patstr = #:G2 showPat.compilePat = #:G2 expected value = 7 actual value = 7 --------------------------------------------------- patstr = #:G1{..} showPat.compilePat = compilePat-"{": warning: # with subpattern #:G1 expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = #:G1{...} showPat.compilePat = compilePat-"{": warning: # with subpattern #:G1 expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = #:G2{..} showPat.compilePat = compilePat-"{": warning: # with subpattern #:G2 expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = #:G2{...} showPat.compilePat = compilePat-"{": warning: # with subpattern #:G2 expected value = 7 compilePat-"{": warning: # with subpattern actual value = 7 --------------------------------------------------- patstr = .:G1{..} showPat.compilePat = .:G1{..} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .:G1{...} showPat.compilePat = .:G1{...} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .:G2{..} showPat.compilePat = .:G2{..} expected value = 7 actual value = 7 --------------------------------------------------- patstr = .:G2{...} showPat.compilePat = .:G2{...} expected value = Prelude.undefined actual value = Prelude.undefined -------------------------------------------------- =================================================== exp = J2 (1, J4 (J3, K3 __ (J1 4.5))) False get = (J2 (_, J4 (_, K3 _ (J1 f))) _) = show f ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .{.{..{.{..{..{.}}}}}.} showPat.compilePat = .{.{..{.{..{..{.}}}}}.} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{.{..{.{#.{..{.}}}}}#} showPat.compilePat = .{.{..{.{#.{..{.}}}}}#} expected value = 4.5 actual value = 4.5 -------------------------------------------------- =================================================== exp = J2 (1, J4 (__, K2)) False get ~_ = show 1 -- seems to suffice?!?... ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .{.{..{.{..}}}.} showPat.compilePat = .{.{..{.{..}}}.} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{.{..{.{#.}}}.} showPat.compilePat = .{.{..{.{#.}}}.} expected value = 1 actual value = 1 --------------------------------------------------- patstr = .{.{..{#{..}}}.} showPat.compilePat = .{.{..{#}}.} expected value = 1 actual value = 1 --------------------------------------------------- patstr = .{.{.#{.{..}}}.} showPat.compilePat = .{.{.#}.} expected value = 1 actual value = 1 -------------------------------------------------- =================================================== exp = J4 (__, K2) get ~_ = show 1 -- seems to suffice?!?... ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .{.{..}} showPat.compilePat = .{.{..}} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{.{#.}} showPat.compilePat = .{.{#.}} expected value = 1 actual value = 1 --------------------------------------------------- patstr = .{#{..}} showPat.compilePat = .{#} expected value = 1 actual value = 1 --------------------------------------------------- patstr = #{.{..}} showPat.compilePat = # expected value = 1 actual value = 1 -------------------------------------------------- =================================================== exp = (__, K2) get ~_ = show 1 -- seems to suffice?!?... ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .{..} showPat.compilePat = .{..} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{#.} showPat.compilePat = .{#.} expected value = 1 actual value = 1 --------------------------------------------------- patstr = #{..} showPat.compilePat = # expected value = 1 actual value = 1 -------------------------------------------------- =================================================== exp = __ :: TJ get ~_ = show 1 -- seems to suffice?!?... ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = . showPat.compilePat = . expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = # showPat.compilePat = # expected value = 1 actual value = Prelude.undefined -------------------------------------------------- =================================================== exp = (K5 (__::TJ)) get ~_ = show 1 -- seems to suffice?!?... ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = . showPat.compilePat = . expected value = okay actual value = okay --------------------------------------------------- patstr = .{#} showPat.compilePat = .{#} expected value = okay actual value = okay --------------------------------------------------- patstr = .{.} showPat.compilePat = .{.} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = # showPat.compilePat = # expected value = okay actual value = okay -------------------------------------------------- =================================================== exp = K3 (__::TK) J3 get ~_ = show 1 -- seems to suffice?!?... ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = . showPat.compilePat = . expected value = okay actual value = okay --------------------------------------------------- patstr = .{#.} showPat.compilePat = .{#.} expected value = okay actual value = okay --------------------------------------------------- patstr = .{.#} showPat.compilePat = .{.#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{..} showPat.compilePat = .{..} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = # showPat.compilePat = # expected value = okay actual value = okay -------------------------------------------------- =================================================== exp = L1 5.6 (M1 __) get (L1 f (M1 _)) = show f ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = # showPat.compilePat = # expected value = 5.6 actual value = 5.6 --------------------------------------------------- patstr = #{..} expected value = 5.6 (but "# with subpattern" warning) showPat.compilePat = # actual value = 5.6 --------------------------------------------------- patstr = .{..} showPat.compilePat = .{..} expected value = 5.6 actual value = 5.6 --------------------------------------------------- patstr = .{.{.}.} showPat.compilePat = .{.{.}.} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{.{#}.} showPat.compilePat = .{.{#}.} expected value = 5.6 actual value = 5.6 -------------------------------------------------- =================================================== exp = K3 __ (J1 4.5) get = (K3 _ (J1 f)) = show f ? = get $ forcep patstr exp =================================================== patstr = showPat.compilePat = compilePat: empty pattern (syntax error) --------------------------------------------------- patstr = .{..{.}} showPat.compilePat = .{..{.}} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{##} showPat.compilePat = .{##} expected value = 4.5 actual value = 4.5 --------------------------------------------------- patstr = .{#.} showPat.compilePat = .{#.} expected value = 4.5 actual value = 4.5 --------------------------------------------------- patstr = .{#.{#}} showPat.compilePat = .{#.{#}} expected value = 4.5 actual value = 4.5 --------------------------------------------------- patstr = .{#.{.}} showPat.compilePat = .{#.{.}} expected value = 4.5 actual value = 4.5 --------------------------------------------------- patstr = .{.#{.}} showPat.compilePat = .{.#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{.#{#}} showPat.compilePat = .{.#} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr = .{##{#}} showPat.compilePat = .{##} expected value = 4.5 actual value = 4.5 --------------------------------------------------- patstr = #{##{#}} showPat.compilePat = # expected value = 4.5 actual value = 4.5 -------------------------------------------------- =================================================== exp = (3.4, [5,__,7], __) :: (Float, [Int], Bool) get (_,xs,_) = show $ (xs!!2) ? = get $ ( forcep patstr2 . forcep patstr1 ) exp ? = get $! ( forcep_ ( unionPats [ pat1, pat2 ] ) ) exp (Results were more interesting with a previous semantics...). =================================================== patstr1 = . patstr2 = . patstrU = . showPat.compilePat patstr1 = . showPat.compilePat patstr2 = . showPat.compilePat patstrU = . expected value = 7 actual value = 7 actual value = 7 --------------------------------------------------- patstr1 = . patstr2 = * patstrU = * showPat.compilePat patstr1 = . showPat.compilePat patstr2 = * showPat.compilePat patstrU = * expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr1 = * patstr2 = . patstrU = * showPat.compilePat patstr1 = * showPat.compilePat patstr2 = . showPat.compilePat patstrU = * expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr1 = * patstr2 = * patstrU = * showPat.compilePat patstr1 = * showPat.compilePat patstr2 = * showPat.compilePat patstrU = * expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr1 = .{...} patstr2 = .{*..} patstrU = .{*..} showPat.compilePat patstr1 = .{...} showPat.compilePat patstr2 = .{*..} showPat.compilePat patstrU = .{*..} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr1 = .{*..} patstr2 = .{..*} patstrU = .{*.*} showPat.compilePat patstr1 = .{*..} showPat.compilePat patstr2 = .{..*} showPat.compilePat patstrU = .{*.*} expected value = Prelude.undefined actual value = Prelude.undefined --------------------------------------------------- patstr1 = .{.*#} patstr2 = .{.#.} patstrU = .{.*.} showPat.compilePat patstr1 = .{.*#} showPat.compilePat patstr2 = .{.#.} showPat.compilePat patstrU = .{.*.} expected value = Prelude.undefined actual value = Prelude.undefined -------------------------------------------------- =================================================== Testing splicePats. --------------------------------------------------- target . path [] isibs [(0,"*")] result .{*} --------------------------------------------------- target .{} path [] isibs [(0,"*")] result .{*} --------------------------------------------------- target . path [0] isibs [(0,"*")] result splicePats: path escapes target (depth) --------------------------------------------------- target .{..} path [] isibs [(0,"*")] result .{*..} --------------------------------------------------- target .{..} path [0] isibs [(0,"*")] result .{.{*}.} --------------------------------------------------- target .{..} path [2] isibs [(0,"*")] result splicePats: path escapes target (breadth) --------------------------------------------------- target .{..} path [] isibs [(0,"*"),(0,"#")] result .{*#..} --------------------------------------------------- target .{..} path [] isibs [(0,"*"),(1,"#")] result .{*.#.} --------------------------------------------------- target .{..} path [] isibs [(1,"#"),(0,"*")] result .{*.#.} --------------------------------------------------- target .{..} path [] isibs [(0,"*"),(2,"#")] result .{*..#} --------------------------------------------------- target .{..} path [] isibs [(2,"*"),(2,"#"),(2,"#")] result .{..*##} --------------------------------------------------- target .{..} path [] isibs [(-1,"*")] result .{..*} --------------------------------------------------- target .{..} path [] isibs [(0,"*")] result .{*..} --------------------------------------------------- target .{..} path [] isibs [(1,"*")] result .{.*.} --------------------------------------------------- target .{..} path [] isibs [(2,"*")] result .{..*} --------------------------------------------------- target .{..} path [] isibs [(3,"*")] result splicePats: sibling indices must not exceed the number of existing children --------------------------------------------------- target .{..{..}.} path [1] isibs [(0,"*")] result .{..{*..}.} --------------------------------------------------- target .{..{..}.} path [1] isibs [(0,"*3"),(1,"#"),(2,"*")] result .{..{*3.#.*}.} --------------------------------------------------- target .{..{..}.} path [1,0] isibs [(0,"*"),(0,"#")] result .{..{.{*#}.}.} --------------------------------------------------- target .{.{...}.{.{}.}.} path [1] isibs [(0,"*"),(0,"#")] result .{.{...}.{*#.{}.}.} --------------------------------------------------- target .{.{...}.{.{}.}.} path [1,0] isibs [(0,"*"),(0,"#")] result .{.{...}.{.{*#}.}.} --------------------------------------------------- target .{.{###}.{.{}#}#} path [1,0] isibs [(0,"*"),(0,"#")] result .{.{###}.{.{*#}#}#} --------------------------------------------------- target .{.:(,,){###}.{.{}#}#} path [1,0] isibs [(0,"*"),(0,"#")] result .{.:(,,){###}.{.{*#}#}#} =================================================== Testing elidePats. --------------------------------------------------- target .{.{..}..{.}} path [] isibs [0] result .{..{.}} --------------------------------------------------- target .{.{..}..{.}} path [0] isibs [0] result .{.{.}..{.}} --------------------------------------------------- target .{.{..}..{.}} path [1] isibs [0] result elidePats: (2) path escapes target: [0] --------------------------------------------------- target .{.{..}..{.}} path [1] isibs [1] result elidePats: sibling indices must not exceed the number of existing children =================================================== Testing erodePat. --------------------------------------------------- target .{.{..}..{.}} stdgen 1355035016 2147483398 path [] result .{.{.#}..{.}} --------------------------------------------------- target .{.{..}..{.}} stdgen 164232961 367188984 path [] result .{.{.#}..{.}} --------------------------------------------------- target .{.{..}..{.}} stdgen 23844443 223185073 path [] result .{.{..}..{#}} --------------------------------------------------- target .{.{..}..{.}} stdgen 1900020236 1632766708 path [] result .{.{..}..{#}} --------------------------------------------------- target .{.{..}..{.}} stdgen 1186277707 709377745 path [] result .{.{..}#.{.}} --------------------------------------------------- =================================================== Testing miscellaneous PatAlg functions... --------------------------------------------------- unionPats test already done test13-1! --------------------------------------------------- Testing intersectPats [patA, patB] patA .{...} patB .{.#} result intersection: node arity disparity! .{#.} --------------------------------------------------- Testing isSubPatOf patA patB patA . patB . as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA # patB # as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA * patB * as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA . patB .{} as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA .{} patB . as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA .{} patB .{.} intersection: node arity disparity! as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA .{.} patB .{.} as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA .{.} patB .{..} intersection: node arity disparity! as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA .{.} patB .{.{.}} expect True result False --------------------------------------------------- Testing isSubPatOf patA patB patA .{..} patB .{.#} as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA .{.#} patB .{..} expect True result False --------------------------------------------------- Testing isSubPatOf patA patB patA .{..} patB .{...} intersection: node arity disparity! as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA .{} patB .{...} intersection: node arity disparity! as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA . patB .{*.#} as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA # patB .{*.#} as expected True --------------------------------------------------- Testing isSubPatOf patA patB patA * patB .{*.#} as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA * patB .{*} as expected False --------------------------------------------------- Testing isSubPatOf patA patB patA * patB .{**} as expected False doit13: unexpected code 4 --------------------------------------------------- Testing emptyPat result # --------------------------------------------------- Testing mkPat ([1,2,3],(False,"foo")) result .{.{..{..{..}}}.{..{..{..{..}}}}} --------------------------------------------------- Testing growPat patA ([1,2,3],(False,"foo")) patA .{.{..{..}}.{..{..}}} result .{.{..{..{..}}}.{..{..{..}}}} --------------------------------------------------- Testing growPat patA ([1,2,3],(False,"foo")) patA .{.{..{..{..}}}.{..{..{..}}}} result .{.{..{..{..}}}.{..{..{..{..}}}}} --------------------------------------------------- Testing growPat patA ([1,2,3],(False,"foo")) patA .{.{..{..{..}}}.{..{..{..{..}}}}} result .{.{..{..{..}}}.{..{..{..{..}}}}} --------------------------------------------------- Testing shrinkPat patA patA .{.{..{..{..}}}.{..{..{..{..}}}}} result .{.{#.{#.{##}}}.{#.{#.{#.{##}}}}} --------------------------------------------------- Testing shrinkPat patA patA .{.{..{..{..}}}.{..{..{..}}}} result .{.{#.{#.{##}}}.{#.{#.{##}}}} --------------------------------------------------- Testing shrinkPat patA patA .{.{..{..}}.{..{..}}} result .{.{#.{##}}.{#.{##}}} --------------------------------------------------- Testing shrinkPat patA patA .{.{#.{..}}.{#.{*3.}}} result .{.{#.{##}}.{#.{*2#}}} --------------------------------------------------- Testing shrinkPat patA patA .{.{#.}.{#.}} result .{.{##}.{##}} --------------------------------------------------- Testing shrinkPat patA patA .{..} result .{##} --------------------------------------------------- Testing shrinkPat patA patA . result # --------------------------------------------------- Testing liftPats patstrlst patstrs [".{...}",".{.#}"] result .{.{...}.{.#}} --------------------------------------------------- splicePats test already done test13-10! --------------------------------------------------- isPath test already done test13-11! --------------------------------------------------- Testing mkPatN 2 ([1,2,3],(False,"foo")) result .{.{..{}}.{..{}}} --------------------------------------------------- Testing fusion -fenable-rewrite-rules -O -ddump-rules -ddump-simpl-stats -ddump-rule-firings 7 7 7 7 expN_1 = [__] :: [Int] expN_2 = [0,1,__,3] :: [Int] expN_3 = (3.4, [5,__,7], True) :: (Float, [Int], Bool) expN_4 = (3.4, [5,__,7], __) :: (Float, [Int], Bool) getN_1 xs = show $ () --getN_1 xs = show $ head xs --getN_2 xs = show $ (xs!!1) getN_2 xs = show $ (xs!!3) getN_3 (_,xs,_) = show $ (xs!!2) forcen 0 expN_1 `seq` () = () forcen 1 expN_1 `seq` () = () forcen 2 expN_1 `seq` () = Prelude.undefined forcen 3 expN_1 `seq` () = Prelude.undefined forcen 4 expN_1 `seq` () = Prelude.undefined getN_2 $ forcen 0 expN_2 = 3 getN_2 $ forcen 1 expN_2 = 3 getN_2 $ forcen 2 expN_2 = 3 getN_2 $ forcen 3 expN_2 = 3 getN_2 $ forcen 4 expN_2 = Prelude.undefined getN_3 $ forcen 0 expN_3 = 7 getN_3 $ forcen 1 expN_3 = 7 getN_3 $ forcen 2 expN_3 = 7 getN_3 $ forcen 3 expN_3 = 7 getN_3 $ forcen 4 expN_3 = Prelude.undefined getN_3 $ forcen 0 expN_4 = 7 getN_3 $ forcen 1 expN_4 = 7 getN_3 $ forcen 2 expN_4 = Prelude.undefined getN_3 $ forcen 3 expN_4 = Prelude.undefined getN_3 $ forcen 4 expN_4 = Prelude.undefined =================================================== Testing generic GNFDataN (refer to Foo.hs for the defs). --------------------------------------------------- ( getB_1 $ forcen 0 expTB_1 ) True ( getB_1 $ forcen 1 expTB_1 ) True ( getB_1 $ forcen 2 expTB_1 ) True ( getB_1 $ forcen 3 expTB_1 ) True ( getB_1 $ forcen 4 expTB_1 ) True ( getB_1 $ forcen 5 expTB_1 ) True ( getB_1 $ forcen 6 expTB_1 ) True ( getB_1 $ forcen 7 expTB_1 ) True ( getB_1 $ forcen 8 expTB_1 ) True ( getB_1 $ forcen 9 expTB_1 ) True ( getB_1 $ forcen 10 expTB_1 ) True ( getB_1 $ forcen 0 expTB_2 ) True ( getB_1 $ forcen 1 expTB_2 ) True ( getB_1 $ forcen 2 expTB_2 ) True ( getB_1 $ forcen 3 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_2 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 1 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 2 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_3 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 1 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 2 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_4 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_5 ) True ( getB_1 $ forcen 1 expTB_5 ) True ( getB_1 $ forcen 2 expTB_5 ) True ( getB_1 $ forcen 3 expTB_5 ) True ( getB_1 $ forcen 4 expTB_5 ) True ( getB_1 $ forcen 5 expTB_5 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_5 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_5 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_5 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_5 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_5 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_6 ) True ( getB_1 $ forcen 1 expTB_6 ) True ( getB_1 $ forcen 2 expTB_6 ) True ( getB_1 $ forcen 3 expTB_6 ) True ( getB_1 $ forcen 4 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_6 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 1 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 2 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_7 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_8 ) True ( getB_1 $ forcen 1 expTB_8 ) True ( getB_1 $ forcen 2 expTB_8 ) True ( getB_1 $ forcen 3 expTB_8 ) True ( getB_1 $ forcen 4 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_8 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_9 ) True ( getB_1 $ forcen 1 expTB_9 ) True ( getB_1 $ forcen 2 expTB_9 ) True ( getB_1 $ forcen 3 expTB_9 ) True ( getB_1 $ forcen 4 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_9 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_10 ) True ( getB_1 $ forcen 1 expTB_10 ) True ( getB_1 $ forcen 2 expTB_10 ) True ( getB_1 $ forcen 3 expTB_10 ) True ( getB_1 $ forcen 4 expTB_10 ) True ( getB_1 $ forcen 5 expTB_10 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_10 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_10 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_10 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_10 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_10 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_11 ) True ( getB_1 $ forcen 1 expTB_11 ) True ( getB_1 $ forcen 2 expTB_11 ) True ( getB_1 $ forcen 3 expTB_11 ) True ( getB_1 $ forcen 4 expTB_11 ) True ( getB_1 $ forcen 5 expTB_11 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_11 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_11 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_11 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_11 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_11 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_12 ) True ( getB_1 $ forcen 1 expTB_12 ) True ( getB_1 $ forcen 2 expTB_12 ) True ( getB_1 $ forcen 3 expTB_12 ) True ( getB_1 $ forcen 4 expTB_12 ) True ( getB_1 $ forcen 5 expTB_12 ) True ( getB_1 $ forcen 6 expTB_12 ) True ( getB_1 $ forcen 7 expTB_12 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_12 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_12 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_12 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_13 ) True ( getB_1 $ forcen 1 expTB_13 ) True ( getB_1 $ forcen 2 expTB_13 ) True ( getB_1 $ forcen 3 expTB_13 ) True ( getB_1 $ forcen 4 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_13 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_14 ) True ( getB_1 $ forcen 1 expTB_14 ) True ( getB_1 $ forcen 2 expTB_14 ) True ( getB_1 $ forcen 3 expTB_14 ) True ( getB_1 $ forcen 4 expTB_14 ) True ( getB_1 $ forcen 5 expTB_14 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_14 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_14 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_14 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_14 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_14 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_15 ) True ( getB_1 $ forcen 1 expTB_15 ) True ( getB_1 $ forcen 2 expTB_15 ) True ( getB_1 $ forcen 3 expTB_15 ) True ( getB_1 $ forcen 4 expTB_15 ) True ( getB_1 $ forcen 5 expTB_15 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_15 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_15 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_15 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_15 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_15 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_16 ) 5 ( getB_1 $ forcen 1 expTB_16 ) 5 ( getB_1 $ forcen 2 expTB_16 ) 5 ( getB_1 $ forcen 3 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_16 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_17 ) 5 ( getB_1 $ forcen 1 expTB_17 ) 5 ( getB_1 $ forcen 2 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_17 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_18 ) 5 ( getB_1 $ forcen 1 expTB_18 ) 5 ( getB_1 $ forcen 2 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_18 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_19 ) False ( getB_1 $ forcen 1 expTB_19 ) False ( getB_1 $ forcen 2 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_19 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_20 ) beesix ( getB_1 $ forcen 1 expTB_20 ) beesix ( getB_1 $ forcen 2 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_20 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_21 ) <bah> ( getB_1 $ forcen 1 expTB_21 ) <bah> ( getB_1 $ forcen 2 expTB_21 ) <bah> ( getB_1 $ forcen 3 expTB_21 ) <bah> ( getB_1 $ forcen 4 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_21 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_22 ) <bah> ( getB_1 $ forcen 1 expTB_22 ) <bah> ( getB_1 $ forcen 2 expTB_22 ) <bah> ( getB_1 $ forcen 3 expTB_22 ) <bah> ( getB_1 $ forcen 4 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_22 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_23 ) <bah> ( getB_1 $ forcen 1 expTB_23 ) <bah> ( getB_1 $ forcen 2 expTB_23 ) <bah> ( getB_1 $ forcen 3 expTB_23 ) <bah> ( getB_1 $ forcen 4 expTB_23 ) <bah> ( getB_1 $ forcen 5 expTB_23 ) <bah> ( getB_1 $ forcen 6 expTB_23 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_23 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_23 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_23 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_23 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_24 ) <bah> ( getB_1 $ forcen 1 expTB_24 ) <bah> ( getB_1 $ forcen 2 expTB_24 ) <bah> ( getB_1 $ forcen 3 expTB_24 ) <bah> ( getB_1 $ forcen 4 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_24 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_25 ) <bah> ( getB_1 $ forcen 1 expTB_25 ) <bah> ( getB_1 $ forcen 2 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 3 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 4 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 5 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 6 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 7 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_25 ) Prelude.undefined ( getB_1 $ forcen 0 expTB_26 ) <bah> ( getB_1 $ forcen 1 expTB_26 ) <bah> ( getB_1 $ forcen 2 expTB_26 ) <bah> ( getB_1 $ forcen 3 expTB_26 ) <bah> ( getB_1 $ forcen 4 expTB_26 ) <bah> ( getB_1 $ forcen 5 expTB_26 ) <bah> ( getB_1 $ forcen 6 expTB_26 ) <bah> ( getB_1 $ forcen 7 expTB_26 ) Prelude.undefined ( getB_1 $ forcen 8 expTB_26 ) Prelude.undefined ( getB_1 $ forcen 9 expTB_26 ) Prelude.undefined ( getB_1 $ forcen 10 expTB_26 ) Prelude.undefined Testing SOP rnfpDyn with SYB generic stop condition. Float WR BBB 3.4 [Int] WI AAA Bool WI AAA 7 Testing SOP/SYB rnfpDyn again. [[Int]] Noo-C WI Noo-C AAA [[[Int]]] Noo-D WI Noo-D AAA 6 Testing SOP rnfpDyn' with SOP generic stop condition. *** : WR Testing SOP rnfpDyn'' with Typeable generic stop condition [[Int]] WI AAA [[[Int]]] WI AAA 7 Testing Seqable class (tuple with list): =================================================== exp = <refer to test code> get (_,xs,_) = show $ (xs!!2) ? = get $! exp =================================================== 1 expected value = 7 1 actual value = 7 --------------------------------------------------- 2 expected value = Prelude.undefined 2 actual value = Prelude.undefined --------------------------------------------------- 3 expected value = Prelude.undefined 3 actual value = Prelude.undefined --------------------------------------------------- 4 expected value = 7 4 actual value = 7 --------------------------------------------------- 5 expected value = 7 5 actual value = 7 --------------------------------------------------- 6 expected value = Prelude.undefined 6 actual value = Prelude.undefined --------------------------------------------------- 7 expected value = 7 7 actual value = 7 --------------------------------------------------- 8 expected value = 7 8 actual value = 7 --------------------------------------------------- 9 expected value = 7 9 actual value = 7 -------------------------------------------------- Testing Seqable class (nested tuples): =================================================== exp = <refer to test code> get (_,(_,x),_) = show x ? = get $! exp =================================================== 1 expected value = 7 1 actual value = 7 --------------------------------------------------- 2 expected value = 7 2 actual value = 7 --------------------------------------------------- 3 expected value = Prelude.undefined 3 actual value = Prelude.undefined --------------------------------------------------- 4 expected value = Prelude.undefined 4 actual value = Prelude.undefined --------------------------------------------------- 5 expected value = Prelude.undefined 5 actual value = Prelude.undefined --------------------------------------------------- 6 expected value = 7 6 actual value = 7 --------------------------------------------------- 7 expected value = Prelude.undefined 7 actual value = Prelude.undefined --------------------------------------------------- 8 expected value = 7 8 actual value = 7 --------------------------------------------------- 9 expected value = Prelude.undefined 9 actual value = Prelude.undefined -------------------------------------------------- Testing generic Seqable (tuple with list): =================================================== exp = <refer to test code> get (_,xs,_) = show $ (xs!!2) ? = get $! exp =================================================== 1 expected value = 7 1 actual value = 7 --------------------------------------------------- 2 expected value = Prelude.undefined 2 actual value = Prelude.undefined --------------------------------------------------- 3 expected value = Prelude.undefined 3 actual value = Prelude.undefined --------------------------------------------------- 4 expected value = 7 4 actual value = 7 --------------------------------------------------- 5 expected value = 7 5 actual value = 7 --------------------------------------------------- 6 expected value = Prelude.undefined 6 actual value = Prelude.undefined --------------------------------------------------- 7 expected value = 7 7 actual value = 7 --------------------------------------------------- 8 expected value = 7 8 actual value = 7 --------------------------------------------------- 9 expected value = 7 9 actual value = 7 -------------------------------------------------- Testing generic Seqable (expTJ_*): =================================================== exp = J2 (1, J4 (__, K3 __ (J1 4.5))) __ get = (J2 (_, J4 (_, K3 _ (J1 f))) _) = show f ? = get exp =================================================== 1 expected value = 4.5 1 actual value = 4.5 --------------------------------------------------- 2 expected value = Prelude.undefined 2 actual value = Prelude.undefined --------------------------------------------------- 3 expected value = 4.5 3 actual value = 4.5 --------------------------------------------------- 4 expected value = Prelude.undefined 4 actual value = Prelude.undefined --------------------------------------------------- 5 expected value = Prelude.undefined 5 actual value = Prelude.undefined --------------------------------------------------- 6 expected value = Prelude.undefined 6 actual value = Prelude.undefined -------------------------------------------------- FAILING ON PURPOSE TO DISPLAY THE LOGGED OUTPUT! ### Failure in: All:0 expected: 0 but got: 1 Cases: 1 Tried: 1 Errors: 0 Failures: 1 *** Exception: ExitFailure 1 *Main> Leaving GHCi. kadath:script>