NAME "IOx" COMPILED true TIME 1160775743 IMPORT "Prelude" OPERATION "fileName" 0 0 public :: "Prelude"."[]"("Prelude"."Char") { MakeTerm "[]" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 109 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 108 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 100 MakeTerm ":" "Prelude" MakeChar 47 MakeTerm ":" "Prelude" MakeChar 112 MakeTerm ":" "Prelude" MakeChar 109 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 47 MakeTerm ":" "Prelude" Pop Replace } OPERATION "string" 0 0 public :: "Prelude"."[]"("Prelude"."Char") { MakeTerm "[]" "Prelude" MakeChar 10 MakeTerm ":" "Prelude" MakeChar 103 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 104 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 109 MakeTerm ":" "Prelude" MakeChar 111 MakeTerm ":" "Prelude" MakeChar 115 MakeTerm ":" "Prelude" Pop Replace } OPERATION "write" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "string" "IOx" MakeTerm "fileName" "IOx" MakeTerm "writeFile" "Prelude" Pop Replace } OPERATION "append" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "string" "IOx" MakeTerm "fileName" "IOx" MakeTerm "appendFile" "Prelude" Pop Replace } OPERATION "read" 0 0 public :: "Prelude"."IO"("Prelude"."[]"("Prelude"."Char")) { MakeTerm "fileName" "IOx" MakeTerm "readFile" "Prelude" Pop Replace } OPERATION "test1" 0 0 public :: "Prelude"."IO"("Prelude"."Bool") { MakePartial 0 "test1._#lambda1" "IOx" MakeTerm "read" "IOx" MakePartial 2 ">>=" "Prelude" MakeTerm "write" "IOx" MakeTerm ">>" "Prelude" Pop Replace } OPERATION "test1._#lambda1" 0 1 private :: ->("Prelude"."[]"("Prelude"."Char"),"Prelude"."IO"("Prelude"."Bool")) { MakeTerm "string" "IOx" Load 0 Push MakeTerm "==" "Prelude" MakePartial 1 "return" "Prelude" Pop Replace } OPERATION "test2" 0 0 public :: "Prelude"."IO"("Prelude"."Bool") { MakePartial 0 "test2._#lambda2" "IOx" MakeTerm "read" "IOx" MakePartial 2 ">>=" "Prelude" MakeTerm "append" "IOx" MakeTerm ">>" "Prelude" MakeTerm "write" "IOx" MakeTerm ">>" "Prelude" Pop Replace } OPERATION "test2._#lambda2" 0 1 private :: ->("Prelude"."[]"("Prelude"."Char"),"Prelude"."IO"("Prelude"."Bool")) { MakeTerm "string" "IOx" MakeTerm "string" "IOx" MakeTerm "++" "Prelude" Load 0 Push MakeTerm "==" "Prelude" MakePartial 1 "return" "Prelude" Pop Replace } OPERATION "fileName2" 0 0 public :: "Prelude"."[]"("Prelude"."Char") { MakeTerm "[]" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 115 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 120 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 111 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 115 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 111 MakeTerm ":" "Prelude" MakeChar 100 MakeTerm ":" "Prelude" Pop Replace } OPERATION "read2" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "()" "Prelude" MakePartial 1 "return" "Prelude" MakeTerm "fileName2" "IOx" MakeTerm "readFile" "Prelude" MakeTerm ">>" "Prelude" Pop Replace } OPERATION "error" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "[]" "Prelude" MakeChar 108 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeChar 70 MakeTerm ":" "Prelude" MakeChar 104 MakeTerm ":" "Prelude" MakeChar 99 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeChar 99 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 121 MakeTerm ":" "Prelude" MakeChar 98 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 104 MakeTerm ":" "Prelude" MakeChar 103 MakeTerm ":" "Prelude" MakeChar 117 MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeChar 67 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 103 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 100 MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 82 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 73 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 114 MakeTerm ":" "Prelude" MakeChar 111 MakeTerm ":" "Prelude" MakeChar 114 MakeTerm ":" "Prelude" MakeChar 114 MakeTerm ":" "Prelude" MakeChar 69 MakeTerm ":" "Prelude" MakeTerm "putStrLn" "Prelude" Pop Replace } OPERATION "test3" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "error" "IOx" MakeTerm "read2" "IOx" MakePartial 2 "catchFail" "Prelude" Pop Replace } OPERATION "testLazy" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakePartial 0 "testLazy._#lambda3" "IOx" MakeTerm "fileName" "IOx" MakeTerm "readFile" "Prelude" MakePartial 2 ">>=" "Prelude" MakeTerm "[]" "Prelude" MakeChar 65 MakeTerm ":" "Prelude" MakeTerm "fileName" "IOx" MakeTerm "writeFile" "Prelude" MakeTerm ">>" "Prelude" Pop Replace } OPERATION "testLazy._#lambda3" 0 1 private :: ->("Prelude"."[]"("Prelude"."Char"),"Prelude"."IO"("Prelude"."()")) { Load 0 Push MakePartial 1 "testLazy._#lambda3._#lambda4" "IOx" MakeTerm "fileName" "IOx" MakeTerm "readFile" "Prelude" MakePartial 2 ">>=" "Prelude" MakeTerm "[]" "Prelude" MakeChar 66 MakeTerm ":" "Prelude" MakeTerm "fileName" "IOx" MakeTerm "writeFile" "Prelude" MakeTerm ">>" "Prelude" Pop Replace } OPERATION "testLazy._#lambda3._#lambda4" 0 2 private :: ->("Prelude"."[]"("Prelude"."Char"),->("Prelude"."[]"("Prelude"."Char"),"Prelude"."IO"("Prelude"."()"))) { Load 1 Push Load 0 Push MakeTerm "==" "Prelude" MakeTerm "print" "Prelude" Pop Replace } OPERATION "testFancy" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakePartial 0 "testFancy._#lambda5" "IOx" MakeTerm "fileName" "IOx" MakeTerm "readFile" "Prelude" MakePartial 2 ">>=" "Prelude" MakeTerm "[]" "Prelude" MakeChar 99 MakeTerm ":" "Prelude" MakeInt 1 MakeChar 97 MakeTerm "ord" "Prelude" MakeTerm "+" "Prelude" MakeTerm "chr" "Prelude" MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeTerm "[]" "Prelude" MakeChar 50 MakeTerm ":" "Prelude" MakeChar 49 MakeTerm ":" "Prelude" MakeChar 48 MakeTerm ":" "Prelude" MakeTerm "++" "Prelude" MakeTerm "fileName" "IOx" MakeTerm "writeFile" "Prelude" MakeTerm ">>" "Prelude" Pop Replace } OPERATION "testFancy._#lambda5" 0 1 private :: ->("Prelude"."[]"("Prelude"."Char"),"Prelude"."IO"("Prelude"."()")) { MakeTerm "[]" "Prelude" MakeChar 99 MakeTerm ":" "Prelude" MakeChar 98 MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeChar 50 MakeTerm ":" "Prelude" MakeChar 49 MakeTerm ":" "Prelude" MakeChar 48 MakeTerm ":" "Prelude" Load 0 Push MakeTerm "==" "Prelude" MakeTerm "print" "Prelude" Pop Replace } OPERATION "testAppend" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "[]" "Prelude" MakeChar 44 MakeTerm ":" "Prelude" MakeChar 100 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 119 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 104 MakeTerm ":" "Prelude" MakeChar 116 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 39 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 119 MakeTerm ":" "Prelude" MakeChar 111 MakeTerm ":" "Prelude" MakeChar 108 MakeTerm ":" "Prelude" MakeChar 98 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 115 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 44 MakeTerm ":" "Prelude" MakeChar 100 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 105 MakeTerm ":" "Prelude" MakeChar 114 MakeTerm ":" "Prelude" MakeChar 102 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 121 MakeTerm ":" "Prelude" MakeChar 109 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 44 MakeTerm ":" "Prelude" MakeChar 114 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 119 MakeTerm ":" "Prelude" MakeChar 115 MakeTerm ":" "Prelude" MakeChar 110 MakeTerm ":" "Prelude" MakeChar 97 MakeTerm ":" "Prelude" MakeChar 32 MakeTerm ":" "Prelude" MakeChar 101 MakeTerm ":" "Prelude" MakeChar 104 MakeTerm ":" "Prelude" MakeChar 84 MakeTerm ":" "Prelude" MakeTerm "#ORCASE_2" "IOx" Pop Replace } OPERATION "testAppend._#lambda6" 0 3 private :: ->("Prelude"."[]"("Prelude"."Char"),->("Prelude"."[]"("Prelude"."Char"),->("Prelude"."[]"("Prelude"."Char"),"Prelude"."IO"("Prelude"."()")))) { Load 1 Push Load 0 Push MakeTerm "++" "Prelude" Load 2 Push MakeTerm "==" "Prelude" MakeTerm "print" "Prelude" Pop Replace } OPERATION "coin" 0 0 public :: "Prelude"."Int" { MakeInt 1 MakeInt 0 MakeTerm "?" "Prelude" Pop Replace } OPERATION "testCoin" 0 0 public :: "Prelude"."IO"("Prelude"."()") { MakeTerm "coin" "IOx" MakeInt 12345 MakeTerm "+" "Prelude" MakeTerm "show" "Prelude" MakeTerm "putStrLn" "Prelude" Pop Replace } OPERATION "#ORCASE_2" 0 1 private :: ->(2,0) { MakeInt 2 Load 0 Push MakeTerm "length" "Prelude" MakeTerm "div" "Prelude" Load 0 Push MakeTerm "#ORCASE_1" "IOx" Pop Replace } OPERATION "#ORCASE_1" 0 2 private :: ->(3,->(2,0)) { Load 0 Push Load 1 Push MakeTerm "drop" "Prelude" Load 0 Push Load 1 Push MakeTerm "take" "Prelude" MakeTerm "#ORCASE_0" "IOx" Pop Replace } OPERATION "#ORCASE_0" 0 2 private :: ->(3,->(2,0)) { Load 1 Push Load 0 Push MakePartial 2 "testAppend._#lambda6" "IOx" MakeTerm "fileName" "IOx" MakeTerm "readFile" "Prelude" MakePartial 2 ">>=" "Prelude" Load 1 Push MakeTerm "fileName" "IOx" MakeTerm "appendFile" "Prelude" MakeTerm ">>" "Prelude" Load 0 Push MakeTerm "fileName" "IOx" MakeTerm "writeFile" "Prelude" MakeTerm ">>" "Prelude" Pop Replace }