"minimax" Board: Results: showBoard ([]) ==> ! Board.hs:(10,0)-(12,22): Non-exhaustive patterns in function showBoard showRow ([]) ==> ! Board.hs:14:0-78: Non-exhaustive patterns in function showRow newPositions ? ([]) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty Game: Results: opposite Empty ==> ! Game.hs:(24,0)-(25,13): Non-exhaustive patterns in function opposite opposite Empty ==> ! Game.hs:(24,0)-(25,13): Non-exhaustive patterns in function opposite best ? ([]) ?1 ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best best ? (: ?1 ?2) ([]) ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best bestMove ? ?1 ?2 ([]) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? ([]) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty opposite Empty ==> ! Game.hs:(24,0)-(25,13): Non-exhaustive patterns in function opposite best ? ([]) ?1 ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best best ? (: ?1 ?2) ([]) ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best bestMove ? ?1 ?2 ([]) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 ([])) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 (: ?4 ([]))) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? ([]) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? (: ?1 ([])) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty opposite Empty ==> ! Game.hs:(24,0)-(25,13): Non-exhaustive patterns in function opposite best ? ([]) ?1 ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best best ? (: ?1 ?2) ([]) ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best best ? (: ?1 ([])) (: ?2 (: ?3 ?4)) ==> ! Game.hs:(31,1)-(33,41): Non-exhaustive patterns in function best' best ? (: ?1 (: ?2 ?3)) (: ?4 ([])) ==> ! Game.hs:(31,1)-(33,41): Non-exhaustive patterns in function best' bestMove ? ?1 ?2 ([]) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 ([])) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 (: ?4 ([]))) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 (: ?4 (: ?5 (: ?6 ?7)))) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? ([]) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? (: ?1 ([])) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? (: ?1 (: ?2 ([]))) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case alternate ? ?1 ?2 (: (: Empty ([])) ([])) of x : _ -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case alternate ? ?1 ?2 (: (: Empty ([])) ([])) of _ : x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty opposite Empty ==> ! Game.hs:(24,0)-(25,13): Non-exhaustive patterns in function opposite best ? ([]) ?1 ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best best ? (: ?1 ?2) ([]) ==> ! Game.hs:(29,0)-(33,41): Non-exhaustive patterns in function best best ? (: ?1 ([])) (: ?2 (: ?3 ?4)) ==> ! Game.hs:(31,1)-(33,41): Non-exhaustive patterns in function best' best ? (: ?1 (: ?2 ?3)) (: ?4 ([])) ==> ! Game.hs:(31,1)-(33,41): Non-exhaustive patterns in function best' bestMove ? ?1 ?2 ([]) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 ([])) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 (: ?4 ([]))) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty bestMove ? ?1 ?2 (: ?3 (: ?4 (: ?5 (: ?6 ?7)))) ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? ([]) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? (: ?1 ([])) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? (: ?1 (: ?2 ([]))) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case searchTree ? (: ?1 (: ?2 (: ?3 (: ?4 ?5)))) of Branch _ x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case alternate ? ?1 ?2 (: (: Empty ([])) ([])) of x : _ -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty case alternate ? ?1 ?2 (: (: Empty ([])) ([])) of _ : x -> x ==> ! Board.hs:(34,0)-(36,35): Non-exhaustive patterns in function empty Main: Results: Prog: Results: Tree: Results: prune -1 (Branch ? ?1) ==> ! Tree.prune: < 0 prune -1 (Branch ? ?1) ==> ! Tree.prune: < 0 prune -1 (Branch ? ?1) ==> ! Tree.prune: < 0 prune -1 (Branch ? ?1) ==> ! Tree.prune: < 0 prune -1 (Branch ? ?1) ==> ! Tree.prune: < 0 prune -1 (Branch ? ?1) ==> ! Tree.prune: < 0 Wins: Results: Writing: Board.hs.html Writing: Game.hs.html Writing: Main.hs.html Writing: Prog.hs.html Writing: Tree.hs.html Writing: Wins.hs.html Writing: hpc_index.html Writing: hpc_index_fun.html Writing: hpc_index_alt.html Writing: hpc_index_exp.html ["Board.hs","Game.hs","Main.hs","Prog.hs","Tree.hs","Wins.hs"]