Prog "Sort" ["Char","Prelude"] [] [Func ("Sort","quickSort") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Let [(5,Comb FuncCall ("Sort","quickSort.split.6") [Var 1,Var 3,Var 4])] (Let [(6,Comb FuncCall ("Sort","quickSort._#selFP6#l") [Var 5])] (Let [(7,Comb FuncCall ("Sort","quickSort._#selFP7#r") [Var 5])] (Comb FuncCall ("Prelude","++") [Comb FuncCall ("Sort","quickSort") [Var 1,Var 6],Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("Sort","quickSort") [Var 1,Var 7]]]))))])),Func ("Sort","quickSort.split.6") 3 Private (FuncType (FuncType (TVar 8) (FuncType (TVar 8) (TCons ("Prelude","Bool") []))) (FuncType (TVar 8) (FuncType (TCons ("Prelude","[]") [TVar 8]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 8],TCons ("Prelude","[]") [TVar 8]])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [4,5]) (Let [(6,Comb FuncCall ("Sort","quickSort.split.6") [Var 1,Var 2,Var 5])] (Let [(7,Comb FuncCall ("Sort","quickSort.split.6._#selFP3#l") [Var 6])] (Let [(8,Comb FuncCall ("Sort","quickSort.split.6._#selFP4#r") [Var 6])] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 4,Var 7],Var 8]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Var 7,Comb ConsCall ("Prelude",":") [Var 4,Var 8]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])]))))])),Func ("Sort","quickSort.split.6._#selFP3#l") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 8],TCons ("Prelude","[]") [TVar 8]]) (TCons ("Prelude","[]") [TVar 8])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Sort","quickSort.split.6._#selFP4#r") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 8],TCons ("Prelude","[]") [TVar 8]]) (TCons ("Prelude","[]") [TVar 8])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Sort","quickSort._#selFP6#l") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 8],TCons ("Prelude","[]") [TVar 8]]) (TCons ("Prelude","[]") [TVar 8])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Sort","quickSort._#selFP7#r") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 8],TCons ("Prelude","[]") [TVar 8]]) (TCons ("Prelude","[]") [TVar 8])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Sort","mergeSort") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Comb FuncCall ("Sort","mergeSort.mergeLists.16") [Var 1,Comb FuncCall ("Sort","mergeSort.genRuns.16") [Var 1,Var 2]])),Func ("Sort","mergeSort.genRuns.16") 2 Private (FuncType (FuncType (TVar 79) (FuncType (TVar 79) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 79]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TVar 79]]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [5,6]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Sort","mergeSort.genRuns.16") [Var 1,Var 6]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Sort","mergeSort.genRuns.16") [Var 1,Var 6]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Sort","mergeSort.mergePairs.16") 2 Private (FuncType (FuncType (TVar 79) (FuncType (TVar 79) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TVar 79]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TVar 79]]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [5,6]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Sort","merge") [Var 1,Var 3,Var 5],Comb FuncCall ("Sort","mergeSort.mergePairs.16") [Var 1,Var 6]])])])),Func ("Sort","mergeSort.mergeLists.16") 2 Private (FuncType (FuncType (TVar 79) (FuncType (TVar 79) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TVar 79]]) (TCons ("Prelude","[]") [TVar 79]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Var 3),Branch (Pattern ("Prelude",":") [5,6]) (Comb FuncCall ("Sort","mergeSort.mergeLists.16") [Var 1,Comb ConsCall ("Prelude",":") [Comb FuncCall ("Sort","merge") [Var 1,Var 3,Var 5],Comb FuncCall ("Sort","mergeSort.mergePairs.16") [Var 1,Var 6]]])])])),Func ("Sort","merge") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Var 3),Branch (Pattern ("Prelude",":") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude",":") [Var 4,Var 5]),Branch (Pattern ("Prelude",":") [6,7]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 6]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Var 4,Comb FuncCall ("Sort","merge") [Var 1,Var 5,Comb ConsCall ("Prelude",":") [Var 6,Var 7]]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Var 6,Comb FuncCall ("Sort","merge") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Var 5],Var 7]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Sort","leqList") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude",":") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude",":") [6,7]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Var 6]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Sort","leqList") [Var 1,Var 5,Var 7]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 6]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Sort","cmpList") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Ordering") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Ordering") [])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","EQ") []),Branch (Pattern ("Prelude",":") [4,5]) (Comb ConsCall ("Prelude","LT") [])]),Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude",":") [8,9]) (Case Rigid (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 6],Var 8],Comb ConsCall ("Prelude","EQ") []]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Sort","cmpList") [Var 1,Var 7,Var 9]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 6],Var 8]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Sort","leqChar") 2 Public (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","<=") [Comb FuncCall ("Prelude","ord") [Var 1],Comb FuncCall ("Prelude","ord") [Var 2]])),Func ("Sort","cmpChar") 2 Public (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Ordering") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","EQ") []),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("Prelude","ord") [Var 1],Comb FuncCall ("Prelude","ord") [Var 2]]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude","GT") [])])])),Func ("Sort","leqCharIgnoreCase") 2 Public (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","<=") [Comb FuncCall ("Prelude","ord") [Comb FuncCall ("Char","toUpper") [Var 1]],Comb FuncCall ("Prelude","ord") [Comb FuncCall ("Char","toUpper") [Var 2]]])),Func ("Sort","leqString") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") []))) (Rule [] (Comb (FuncPartCall 2) ("Sort","leqList") [Comb (FuncPartCall 2) ("Sort","leqChar") []])),Func ("Sort","cmpString") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Ordering") []))) (Rule [] (Comb (FuncPartCall 2) ("Sort","cmpList") [Comb (FuncPartCall 2) ("Sort","cmpChar") []])),Func ("Sort","leqStringIgnoreCase") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") []))) (Rule [] (Comb (FuncPartCall 2) ("Sort","leqList") [Comb (FuncPartCall 2) ("Sort","leqCharIgnoreCase") []])),Func ("Sort","leqLexGerman") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude",":") [5,6]) (Let [(7,Comb FuncCall ("Sort","leqLexGerman.glex.89") [Comb FuncCall ("Prelude","ord") [Var 3]])] (Let [(8,Comb FuncCall ("Sort","leqLexGerman.glex.89") [Comb FuncCall ("Prelude","ord") [Var 5]])] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 7,Var 8]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Sort","leqLexGerman") [Var 4,Var 6]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","<") [Var 7,Var 8]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])))])])),Func ("Sort","leqLexGerman.glex.89") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude",">=") [Var 1,Comb FuncCall ("Prelude","ord") [Lit (Charc 'A')]],Comb FuncCall ("Prelude","<=") [Var 1,Comb FuncCall ("Prelude","ord") [Lit (Charc 'Z')]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","+") [Var 1,Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","ord") [Lit (Charc 'a')],Comb FuncCall ("Prelude","ord") [Lit (Charc 'A')]]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 228)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 'a')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 246)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 'o')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 252)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 'u')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 196)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 'a')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 214)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 'o')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 220)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 'u')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 223)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","ord") [Lit (Charc 's')]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Var 1),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])])])])])]))] []