From 5b7b5cb08896c85a4e1c2d6f3da037ddcefeabee Mon Sep 17 00:00:00 2001 From: Kamil Adam Date: Mon, 13 Feb 2023 19:05:26 +0100 Subject: [PATCH] Add peephole Optimize Add peephole Optimize --- .../logged/Fast/False/from-eas/bottles.logged | 652 +++++++------ .../logged/Fast/False/from-eas/divmod.logged | 22 +- .../Fast/False/from-eas/fact0\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact1\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact2\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact3\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact4\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact5\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact6\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact7\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact8\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact9\n.logged" | 845 +++++++++-------- .../logged/Fast/False/from-eas/hello.logged | 62 +- .../logged/Fast/False/from-eas/hello2.logged | 137 +-- .../logged/Fast/False/from-eas/hello3.logged | 137 +-- .../logged/Fast/False/from-eas/hello4.logged | 137 +-- .../Fast/False/from-eas/readcharA.logged | 14 +- .../Fast/False/from-eas/readnum0\n.logged" | 356 +------ .../Fast/False/from-eas/readnum1\n.logged" | 356 +------ .../logged/Fast/False/from-eas/true.logged | 10 +- .../logged/Fast/False/original/bottles.logged | 894 +++++++++--------- .../logged/Fast/False/original/crlf.logged | 92 +- .../Fast/False/original/fact1\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact2\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact3\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact4\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact5\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact6\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact7\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact8\n.logged" | 838 ++++++++-------- .../logged/Fast/False/original/hello.logged | 142 +-- .../logged/Fast/False/original/hello2.logged | 174 ++-- .../logged/Fast/True/original/bottles.logged | 894 +++++++++--------- .../logged/Fast/True/original/fact1\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact2\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact3\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact4\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact5\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact6\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact7\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact8\n.logged" | 838 ++++++++-------- .../eta/il/optimized/from-eas/bottles.il | 650 +++++++------ .../eta/il/optimized/from-eas/euclid.il | 153 +-- .../actual/eta/il/optimized/from-eas/fact.il | 843 +++++++++-------- .../eta/il/optimized/from-eas/function.il | 83 +- .../actual/eta/il/optimized/from-eas/hello.il | 60 +- .../eta/il/optimized/from-eas/hello2.il | 135 +-- .../eta/il/optimized/from-eas/hello3.il | 135 +-- .../eta/il/optimized/from-eas/hello4.il | 135 +-- .../eta/il/optimized/from-eas/multiply.il | 194 ++-- .../actual/eta/il/optimized/from-eas/pip.il | 83 +- .../actual/eta/il/optimized/from-eas/pip2.il | 65 +- .../eta/il/optimized/from-eas/readnum.il | 435 +++++---- .../eta/il/optimized/from-eas/reverse.il | 112 +-- .../actual/eta/il/optimized/from-eas/true.il | 8 +- .../eta/il/optimized/from-eas/writenum.il | 227 ++--- .../eta/il/optimized/from-eas/writestr.il | 73 +- .../eta/il/optimized/original/bottles.il | 892 +++++++++-------- .../actual/eta/il/optimized/original/crlf.il | 90 +- .../actual/eta/il/optimized/original/fact.il | 836 ++++++++-------- .../actual/eta/il/optimized/original/hello.il | 140 +-- .../eta/il/optimized/original/hello2.il | 172 ++-- .../actual/eta/il/optimized/original/pip.il | 83 +- .../actual/eta/il/optimized/original/pip2.il | 65 +- .../actual/eta/il/parsed/from-eas/bottles.il | 592 +++++++----- .../actual/eta/il/parsed/from-eas/euclid.il | 136 ++- .output/actual/eta/il/parsed/from-eas/fact.il | 758 +++++++++------ .../actual/eta/il/parsed/from-eas/function.il | 71 +- .../actual/eta/il/parsed/from-eas/hello.il | 60 +- .../actual/eta/il/parsed/from-eas/hello2.il | 129 ++- .../actual/eta/il/parsed/from-eas/hello3.il | 129 ++- .../actual/eta/il/parsed/from-eas/hello4.il | 129 ++- .../actual/eta/il/parsed/from-eas/multiply.il | 167 ++-- .output/actual/eta/il/parsed/from-eas/pip.il | 80 +- .output/actual/eta/il/parsed/from-eas/pip2.il | 56 +- .../actual/eta/il/parsed/from-eas/readnum.il | 384 +++++--- .../actual/eta/il/parsed/from-eas/reverse.il | 116 ++- .output/actual/eta/il/parsed/from-eas/true.il | 8 +- .../actual/eta/il/parsed/from-eas/writenum.il | 227 +++-- .../actual/eta/il/parsed/from-eas/writestr.il | 71 +- .../actual/eta/il/parsed/original/bottles.il | 812 +++++++++------- .output/actual/eta/il/parsed/original/crlf.il | 78 +- .output/actual/eta/il/parsed/original/fact.il | 742 +++++++++------ .../actual/eta/il/parsed/original/hello.il | 140 ++- .../actual/eta/il/parsed/original/hello2.il | 156 +-- .output/actual/eta/il/parsed/original/pip.il | 80 +- .output/actual/eta/il/parsed/original/pip2.il | 56 +- .output/actual/f/il/helma/add.il | 12 +- .output/actual/f/il/helma/copy.il | 14 +- .output/actual/f/il/helma/factorial.il | 42 +- .output/actual/f/il/helma/primeNumber.il | 112 ++- .output/actual/f/il/other/benHoyt/bin2f.il | 12 +- .output/actual/f/il/other/benHoyt/fac.il | 64 +- .output/actual/f/il/other/iliiliiliili/sum.il | 2 +- .../actual/f/il/other/morphett/factorial.il | 48 +- .../actual/f/il/other/morphett/factorial2.il | 62 +- .output/actual/f/il/other/morphett/reverse.il | 16 +- .../actual/f/il/other/thunderseethe/prog.il | 40 +- .../il/strlen/contrib/Ben_Schaeffer/detab.il | 28 +- .../contrib/Ben_Schaeffer/postfix_while.il | 44 +- .../strlen/contrib/Eelko_de_Vos/chkbrack.il | 146 +-- .../il/strlen/contrib/Eelko_de_Vos/countwl.il | 94 +- .../il/strlen/contrib/Eelko_de_Vos/crunch.il | 22 +- .../strlen/contrib/Eelko_de_Vos/decrunch.il | 42 +- .../il/strlen/contrib/Eelko_de_Vos/depack.il | 16 +- .../strlen/contrib/Eelko_de_Vos/readable.il | 4 +- .../il/strlen/contrib/Eelko_de_Vos/remcom.il | 36 +- .../f/il/strlen/contrib/Eelko_de_Vos/split.il | 26 +- .../strlen/contrib/Herb_Wollman/Fibonacci.il | 6 +- .../contrib/Marcel_van_Kervinck/queens.il | 208 ++-- .../strlen/contrib/Marcel_van_Kervinck/tic.il | 184 ++-- .../strlen/contrib/Peter_Bengtsson/DoASC.il | 126 +-- .../strlen/contrib/Steinar_Knutsen/htmlcol.il | 88 +- .../strlen/contrib/Steinar_Knutsen/passwdc.il | 14 +- .../strlen/contrib/Thomas_Fischbacher/life.il | 84 +- .output/actual/f/il/strlen/contrib/self.il | 14 +- .output/actual/f/il/strlen/examples/addcr.il | 28 +- .output/actual/f/il/strlen/examples/arg.il | 30 +- .../actual/f/il/strlen/examples/argtest.il | 16 +- .output/actual/f/il/strlen/examples/lambda.il | 78 +- .output/actual/f/il/strlen/examples/prime.il | 144 +-- .output/actual/f/il/strlen/examples/strip.il | 34 +- .output/actual/f/il/strlen/inline/copy.il | 14 +- .../actual/f/il/strlen/inline/factorial.il | 42 +- .../actual/f/il/strlen/inline/primeNumber.il | 112 ++- .../stn/asciiOff/from-wsa/bottles.logged | 316 ++++--- .../logged/stn/asciiOff/from-wsa/hello.logged | 28 +- .../stn/asciiOff/from-wsa/hello2.logged | 68 +- .../stn/asciiOff/from-wsa/hello4.logged | 66 +- .../logged/stn/asciiOff/from-wsa/prim.logged | 322 ++++--- .../stn/asciiOff/original/calc-1\n.logged" | 402 ++++---- .../logged/stn/asciiOff/original/count.logged | 144 ++- .../stn/asciiOff/original/fact10\n.logged" | 254 +++-- .../stn/asciiOff/original/hWorld.logged | 208 ++-- .../stn/asciiOff/original/hanoi1\n.logged" | 382 +++++--- .../stn/asciiOff/original/helloWorld.logged | 24 +- .../asciiOff/original/locTest1\n2\n.logged" | 218 +++-- .../asciiOff/original/nameWriteOnly\n.logged" | 258 ++--- .../asciiOff/original/truthMachine0\n.logged" | 24 +- .../stn/asciiOn/from-wsa/bottles.logged | 316 ++++--- .../logged/stn/asciiOn/from-wsa/hello.logged | 28 +- .../logged/stn/asciiOn/from-wsa/hello2.logged | 68 +- .../logged/stn/asciiOn/from-wsa/hello4.logged | 66 +- .../logged/stn/asciiOn/from-wsa/prim.logged | 322 ++++--- .../stn/asciiOn/original/calc-1\n.logged" | 402 ++++---- .../logged/stn/asciiOn/original/count.logged | 144 ++- .../stn/asciiOn/original/fact10\n.logged" | 254 +++-- .../logged/stn/asciiOn/original/hWorld.logged | 208 ++-- .../stn/asciiOn/original/hanoi1\n.logged" | 382 +++++--- .../stn/asciiOn/original/helloWorld.logged | 24 +- .../asciiOn/original/locTest1\n2\n.logged" | 218 +++-- .../asciiOn/original/nameWriteOnly\n.logged" | 258 ++--- .../asciiOn/original/truthMachine0\n.logged" | 24 +- .../ws/asciiOff/original/calc-1\n.logged" | 402 ++++---- .../logged/ws/asciiOff/original/count.logged | 144 ++- .../ws/asciiOff/original/fact10\n.logged" | 254 +++-- .../ws/asciiOff/original/hanoi1\n.logged" | 382 +++++--- .../logged/ws/asciiOff/original/hworld.logged | 208 ++-- .../asciiOff/original/loctest1\n2\n.logged" | 218 +++-- .../asciiOff/original/nameWriteOnly\n.logged" | 258 ++--- .../ws/asciiOn/original/calc-1\n.logged" | 402 ++++---- .../logged/ws/asciiOn/original/count.logged | 144 ++- .../ws/asciiOn/original/fact10\n.logged" | 254 +++-- .../ws/asciiOn/original/hanoi1\n.logged" | 382 +++++--- .../logged/ws/asciiOn/original/hworld.logged | 208 ++-- .../ws/asciiOn/original/loctest1\n2\n.logged" | 218 +++-- .../asciiOn/original/nameWriteOnly\n.logged" | 258 ++--- .../ws/il/optimized/from-wsa/bottles.il | 316 ++++--- .../actual/ws/il/optimized/from-wsa/hello.il | 28 +- .../actual/ws/il/optimized/from-wsa/hello2.il | 68 +- .../actual/ws/il/optimized/from-wsa/hello4.il | 66 +- .../actual/ws/il/optimized/from-wsa/prim.il | 322 ++++--- .../actual/ws/il/optimized/original/calc.il | 402 ++++---- .../actual/ws/il/optimized/original/count.il | 144 ++- .../actual/ws/il/optimized/original/fact.il | 254 +++-- .../actual/ws/il/optimized/original/hWorld.il | 208 ++-- .../actual/ws/il/optimized/original/hanoi.il | 382 +++++--- .../ws/il/optimized/original/helloWorld.il | 24 +- .../ws/il/optimized/original/locTest.il | 218 +++-- .../actual/ws/il/optimized/original/name.il | 258 ++--- .../ws/il/optimized/original/truthMachine.il | 24 +- .../actual/ws/il/parsed/from-wsa/bottles.il | 316 ++++--- .output/actual/ws/il/parsed/from-wsa/hello.il | 28 +- .../actual/ws/il/parsed/from-wsa/hello2.il | 68 +- .../actual/ws/il/parsed/from-wsa/hello4.il | 66 +- .output/actual/ws/il/parsed/from-wsa/prim.il | 322 ++++--- .output/actual/ws/il/parsed/original/calc.il | 402 ++++---- .output/actual/ws/il/parsed/original/count.il | 144 ++- .output/actual/ws/il/parsed/original/fact.il | 258 +++-- .../actual/ws/il/parsed/original/hWorld.il | 208 ++-- .output/actual/ws/il/parsed/original/hanoi.il | 382 +++++--- .../ws/il/parsed/original/helloWorld.il | 24 +- .../actual/ws/il/parsed/original/locTest.il | 218 +++-- .output/actual/ws/il/parsed/original/name.il | 258 ++--- .../ws/il/parsed/original/truthMachine.il | 28 +- .../logged/Fast/False/from-eas/bottles.logged | 652 +++++++------ .../logged/Fast/False/from-eas/divmod.logged | 22 +- .../Fast/False/from-eas/fact0\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact1\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact2\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact3\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact4\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact5\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact6\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact7\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact8\n.logged" | 845 +++++++++-------- .../Fast/False/from-eas/fact9\n.logged" | 845 +++++++++-------- .../logged/Fast/False/from-eas/hello.logged | 62 +- .../logged/Fast/False/from-eas/hello2.logged | 137 +-- .../logged/Fast/False/from-eas/hello3.logged | 137 +-- .../logged/Fast/False/from-eas/hello4.logged | 137 +-- .../Fast/False/from-eas/readcharA.logged | 14 +- .../Fast/False/from-eas/readnum0\n.logged" | 356 +------ .../Fast/False/from-eas/readnum1\n.logged" | 356 +------ .../logged/Fast/False/from-eas/true.logged | 10 +- .../logged/Fast/False/original/bottles.logged | 894 +++++++++--------- .../logged/Fast/False/original/crlf.logged | 92 +- .../Fast/False/original/fact1\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact2\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact3\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact4\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact5\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact6\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact7\n.logged" | 838 ++++++++-------- .../Fast/False/original/fact8\n.logged" | 838 ++++++++-------- .../logged/Fast/False/original/hello.logged | 142 +-- .../logged/Fast/False/original/hello2.logged | 174 ++-- .../logged/Fast/True/original/bottles.logged | 894 +++++++++--------- .../logged/Fast/True/original/fact1\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact2\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact3\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact4\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact5\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact6\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact7\n.logged" | 838 ++++++++-------- .../logged/Fast/True/original/fact8\n.logged" | 838 ++++++++-------- .../eta/il/optimized/from-eas/bottles.il | 650 +++++++------ .../eta/il/optimized/from-eas/euclid.il | 153 +-- .../golden/eta/il/optimized/from-eas/fact.il | 843 +++++++++-------- .../eta/il/optimized/from-eas/function.il | 83 +- .../golden/eta/il/optimized/from-eas/hello.il | 60 +- .../eta/il/optimized/from-eas/hello2.il | 135 +-- .../eta/il/optimized/from-eas/hello3.il | 135 +-- .../eta/il/optimized/from-eas/hello4.il | 135 +-- .../eta/il/optimized/from-eas/multiply.il | 194 ++-- .../golden/eta/il/optimized/from-eas/pip.il | 83 +- .../golden/eta/il/optimized/from-eas/pip2.il | 65 +- .../eta/il/optimized/from-eas/readnum.il | 435 +++++---- .../eta/il/optimized/from-eas/reverse.il | 112 +-- .../golden/eta/il/optimized/from-eas/true.il | 8 +- .../eta/il/optimized/from-eas/writenum.il | 227 ++--- .../eta/il/optimized/from-eas/writestr.il | 73 +- .../eta/il/optimized/original/bottles.il | 892 +++++++++-------- .../golden/eta/il/optimized/original/crlf.il | 90 +- .../golden/eta/il/optimized/original/fact.il | 836 ++++++++-------- .../golden/eta/il/optimized/original/hello.il | 140 +-- .../eta/il/optimized/original/hello2.il | 172 ++-- .../golden/eta/il/optimized/original/pip.il | 83 +- .../golden/eta/il/optimized/original/pip2.il | 65 +- .../golden/eta/il/parsed/from-eas/bottles.il | 592 +++++++----- .../golden/eta/il/parsed/from-eas/euclid.il | 136 ++- .output/golden/eta/il/parsed/from-eas/fact.il | 758 +++++++++------ .../golden/eta/il/parsed/from-eas/function.il | 71 +- .../golden/eta/il/parsed/from-eas/hello.il | 60 +- .../golden/eta/il/parsed/from-eas/hello2.il | 129 ++- .../golden/eta/il/parsed/from-eas/hello3.il | 129 ++- .../golden/eta/il/parsed/from-eas/hello4.il | 129 ++- .../golden/eta/il/parsed/from-eas/multiply.il | 167 ++-- .output/golden/eta/il/parsed/from-eas/pip.il | 80 +- .output/golden/eta/il/parsed/from-eas/pip2.il | 56 +- .../golden/eta/il/parsed/from-eas/readnum.il | 384 +++++--- .../golden/eta/il/parsed/from-eas/reverse.il | 116 ++- .output/golden/eta/il/parsed/from-eas/true.il | 8 +- .../golden/eta/il/parsed/from-eas/writenum.il | 227 +++-- .../golden/eta/il/parsed/from-eas/writestr.il | 71 +- .../golden/eta/il/parsed/original/bottles.il | 812 +++++++++------- .output/golden/eta/il/parsed/original/crlf.il | 78 +- .output/golden/eta/il/parsed/original/fact.il | 742 +++++++++------ .../golden/eta/il/parsed/original/hello.il | 140 ++- .../golden/eta/il/parsed/original/hello2.il | 156 +-- .output/golden/eta/il/parsed/original/pip.il | 80 +- .output/golden/eta/il/parsed/original/pip2.il | 56 +- .output/golden/f/il/helma/add.il | 12 +- .output/golden/f/il/helma/copy.il | 14 +- .output/golden/f/il/helma/factorial.il | 42 +- .output/golden/f/il/helma/primeNumber.il | 112 ++- .output/golden/f/il/other/benHoyt/bin2f.il | 12 +- .output/golden/f/il/other/benHoyt/fac.il | 64 +- .output/golden/f/il/other/iliiliiliili/sum.il | 2 +- .../golden/f/il/other/morphett/factorial.il | 48 +- .../golden/f/il/other/morphett/factorial2.il | 62 +- .output/golden/f/il/other/morphett/reverse.il | 16 +- .../golden/f/il/other/thunderseethe/prog.il | 40 +- .../il/strlen/contrib/Ben_Schaeffer/detab.il | 28 +- .../contrib/Ben_Schaeffer/postfix_while.il | 44 +- .../strlen/contrib/Eelko_de_Vos/chkbrack.il | 146 +-- .../il/strlen/contrib/Eelko_de_Vos/countwl.il | 94 +- .../il/strlen/contrib/Eelko_de_Vos/crunch.il | 22 +- .../strlen/contrib/Eelko_de_Vos/decrunch.il | 42 +- .../il/strlen/contrib/Eelko_de_Vos/depack.il | 16 +- .../strlen/contrib/Eelko_de_Vos/readable.il | 4 +- .../il/strlen/contrib/Eelko_de_Vos/remcom.il | 36 +- .../f/il/strlen/contrib/Eelko_de_Vos/split.il | 26 +- .../strlen/contrib/Herb_Wollman/Fibonacci.il | 6 +- .../contrib/Marcel_van_Kervinck/queens.il | 208 ++-- .../strlen/contrib/Marcel_van_Kervinck/tic.il | 184 ++-- .../strlen/contrib/Peter_Bengtsson/DoASC.il | 126 +-- .../strlen/contrib/Steinar_Knutsen/htmlcol.il | 88 +- .../strlen/contrib/Steinar_Knutsen/passwdc.il | 14 +- .../strlen/contrib/Thomas_Fischbacher/life.il | 84 +- .output/golden/f/il/strlen/contrib/self.il | 14 +- .output/golden/f/il/strlen/examples/addcr.il | 28 +- .output/golden/f/il/strlen/examples/arg.il | 30 +- .../golden/f/il/strlen/examples/argtest.il | 16 +- .output/golden/f/il/strlen/examples/lambda.il | 78 +- .output/golden/f/il/strlen/examples/prime.il | 144 +-- .output/golden/f/il/strlen/examples/strip.il | 34 +- .output/golden/f/il/strlen/inline/copy.il | 14 +- .../golden/f/il/strlen/inline/factorial.il | 42 +- .../golden/f/il/strlen/inline/primeNumber.il | 112 ++- .../stn/asciiOff/from-wsa/bottles.logged | 316 ++++--- .../logged/stn/asciiOff/from-wsa/hello.logged | 28 +- .../stn/asciiOff/from-wsa/hello2.logged | 68 +- .../stn/asciiOff/from-wsa/hello4.logged | 66 +- .../logged/stn/asciiOff/from-wsa/prim.logged | 322 ++++--- .../stn/asciiOff/original/calc-1\n.logged" | 402 ++++---- .../logged/stn/asciiOff/original/count.logged | 144 ++- .../stn/asciiOff/original/fact10\n.logged" | 254 +++-- .../stn/asciiOff/original/hWorld.logged | 208 ++-- .../stn/asciiOff/original/hanoi1\n.logged" | 382 +++++--- .../stn/asciiOff/original/helloWorld.logged | 24 +- .../asciiOff/original/locTest1\n2\n.logged" | 218 +++-- .../asciiOff/original/nameWriteOnly\n.logged" | 258 ++--- .../asciiOff/original/truthMachine0\n.logged" | 24 +- .../stn/asciiOn/from-wsa/bottles.logged | 316 ++++--- .../logged/stn/asciiOn/from-wsa/hello.logged | 28 +- .../logged/stn/asciiOn/from-wsa/hello2.logged | 68 +- .../logged/stn/asciiOn/from-wsa/hello4.logged | 66 +- .../logged/stn/asciiOn/from-wsa/prim.logged | 322 ++++--- .../stn/asciiOn/original/calc-1\n.logged" | 402 ++++---- .../logged/stn/asciiOn/original/count.logged | 144 ++- .../stn/asciiOn/original/fact10\n.logged" | 254 +++-- .../logged/stn/asciiOn/original/hWorld.logged | 208 ++-- .../stn/asciiOn/original/hanoi1\n.logged" | 382 +++++--- .../stn/asciiOn/original/helloWorld.logged | 24 +- .../asciiOn/original/locTest1\n2\n.logged" | 218 +++-- .../asciiOn/original/nameWriteOnly\n.logged" | 258 ++--- .../asciiOn/original/truthMachine0\n.logged" | 24 +- .../ws/asciiOff/original/calc-1\n.logged" | 402 ++++---- .../logged/ws/asciiOff/original/count.logged | 144 ++- .../ws/asciiOff/original/fact10\n.logged" | 254 +++-- .../ws/asciiOff/original/hanoi1\n.logged" | 382 +++++--- .../logged/ws/asciiOff/original/hworld.logged | 208 ++-- .../asciiOff/original/loctest1\n2\n.logged" | 218 +++-- .../asciiOff/original/nameWriteOnly\n.logged" | 258 ++--- .../ws/asciiOn/original/calc-1\n.logged" | 402 ++++---- .../logged/ws/asciiOn/original/count.logged | 144 ++- .../ws/asciiOn/original/fact10\n.logged" | 254 +++-- .../ws/asciiOn/original/hanoi1\n.logged" | 382 +++++--- .../logged/ws/asciiOn/original/hworld.logged | 208 ++-- .../ws/asciiOn/original/loctest1\n2\n.logged" | 218 +++-- .../asciiOn/original/nameWriteOnly\n.logged" | 258 ++--- .../ws/il/optimized/from-wsa/bottles.il | 316 ++++--- .../golden/ws/il/optimized/from-wsa/hello.il | 28 +- .../golden/ws/il/optimized/from-wsa/hello2.il | 68 +- .../golden/ws/il/optimized/from-wsa/hello4.il | 66 +- .../golden/ws/il/optimized/from-wsa/prim.il | 322 ++++--- .../golden/ws/il/optimized/original/calc.il | 402 ++++---- .../golden/ws/il/optimized/original/count.il | 144 ++- .../golden/ws/il/optimized/original/fact.il | 254 +++-- .../golden/ws/il/optimized/original/hWorld.il | 208 ++-- .../golden/ws/il/optimized/original/hanoi.il | 382 +++++--- .../ws/il/optimized/original/helloWorld.il | 24 +- .../ws/il/optimized/original/locTest.il | 218 +++-- .../golden/ws/il/optimized/original/name.il | 258 ++--- .../ws/il/optimized/original/truthMachine.il | 24 +- .../golden/ws/il/parsed/from-wsa/bottles.il | 316 ++++--- .output/golden/ws/il/parsed/from-wsa/hello.il | 28 +- .../golden/ws/il/parsed/from-wsa/hello2.il | 68 +- .../golden/ws/il/parsed/from-wsa/hello4.il | 66 +- .output/golden/ws/il/parsed/from-wsa/prim.il | 322 ++++--- .output/golden/ws/il/parsed/original/calc.il | 402 ++++---- .output/golden/ws/il/parsed/original/count.il | 144 ++- .output/golden/ws/il/parsed/original/fact.il | 258 +++-- .../golden/ws/il/parsed/original/hWorld.il | 208 ++-- .output/golden/ws/il/parsed/original/hanoi.il | 382 +++++--- .../ws/il/parsed/original/helloWorld.il | 24 +- .../golden/ws/il/parsed/original/locTest.il | 218 +++-- .output/golden/ws/il/parsed/original/name.il | 258 ++--- .../ws/il/parsed/original/truthMachine.il | 28 +- docs/developers/CHANGELOG.md | 4 + .../HelVM.HelMA.Automaton.Instruction.hs.html | 119 +++ .../HelVM.HelMA.Automaton.Optimizer.hs.html | 51 + ...elMA.Automata.BrainFuck.API.BFType.hs.html | 37 + ...BrainFuck.Common.SimpleInstruction.hs.html | 59 ++ ...A.Automata.BrainFuck.Common.Symbol.hs.html | 123 +++ ...ata.BrainFuck.Common.TapeOfSymbols.hs.html | 165 ++++ ...HelMA.Automata.BrainFuck.Evaluator.hs.html | 64 ++ ...mata.BrainFuck.Impl.Fast.Evaluator.hs.html | 98 ++ ...ta.BrainFuck.Impl.Fast.Instruction.hs.html | 41 + ...mata.BrainFuck.Impl.Fast.Optimizer.hs.html | 71 ++ ...utomata.BrainFuck.Impl.Fast.Parser.hs.html | 105 ++ ...mata.BrainFuck.Impl.Flat.Evaluator.hs.html | 81 ++ ...ta.BrainFuck.Impl.Flat.Instruction.hs.html | 54 ++ ...utomata.BrainFuck.Impl.Flat.Parser.hs.html | 40 + ...Fuck.Impl.Flat.TableOfInstructions.hs.html | 58 ++ ...mata.BrainFuck.Impl.Tree.Evaluator.hs.html | 90 ++ ...ta.BrainFuck.Impl.Tree.Instruction.hs.html | 38 + ...utomata.BrainFuck.Impl.Tree.Parser.hs.html | 72 ++ ...HelVM.HelMA.Automata.Cat.Evaluator.hs.html | 37 + ...HelMA.Automata.ETA.API.ETAImplType.hs.html | 37 + ...elVM.HelMA.Automata.ETA.Addressing.hs.html | 59 ++ ...HelVM.HelMA.Automata.ETA.Automaton.hs.html | 108 +++ ...HelVM.HelMA.Automata.ETA.Evaluator.hs.html | 81 ++ .../HelVM.HelMA.Automata.ETA.Lexer.hs.html | 41 + ....HelMA.Automata.ETA.OperandParsers.hs.html | 76 ++ ...HelVM.HelMA.Automata.ETA.Optimizer.hs.html | 135 +++ .../HelVM.HelMA.Automata.ETA.Parser.hs.html | 41 + ...VM.HelMA.Automata.ETA.SimpleParams.hs.html | 47 + .../HelVM.HelMA.Automata.ETA.Token.hs.html | 78 ++ ...VM.HelMA.Automata.FALSE.Expression.hs.html | 41 + .../HelVM.HelMA.Automata.FALSE.Parser.hs.html | 134 +++ ...lVM.HelMA.Automata.LazyK.Automaton.hs.html | 62 ++ ...lVM.HelMA.Automata.LazyK.Constants.hs.html | 50 + ...lVM.HelMA.Automata.LazyK.Evaluator.hs.html | 52 + ....HelMA.Automata.LazyK.InputEncoder.hs.html | 67 ++ .../HelVM.HelMA.Automata.LazyK.Lambda.hs.html | 45 + .../HelVM.HelMA.Automata.LazyK.Lexer.hs.html | 37 + .../HelVM.HelMA.Automata.LazyK.Parser.hs.html | 53 ++ ...HelVM.HelMA.Automata.LazyK.Reducer.hs.html | 45 + ...HelVM.HelMA.Automata.Rev.Evaluator.hs.html | 45 + ...VM.HelMA.Automata.SubLeq.Automaton.hs.html | 83 ++ ...VM.HelMA.Automata.SubLeq.Evaluator.hs.html | 69 ++ .../HelVM.HelMA.Automata.SubLeq.Lexer.hs.html | 54 ++ ...elMA.Automata.WhiteSpace.Evaluator.hs.html | 62 ++ ...VM.HelMA.Automata.WhiteSpace.Lexer.hs.html | 53 ++ ...Automata.WhiteSpace.OperandParsers.hs.html | 95 ++ ...M.HelMA.Automata.WhiteSpace.Parser.hs.html | 116 +++ ...A.Automata.WhiteSpace.SimpleParams.hs.html | 73 ++ ...VM.HelMA.Automata.WhiteSpace.Token.hs.html | 66 ++ ...HelVM.HelMA.Automata.Zot.Automaton.hs.html | 63 ++ ...HelVM.HelMA.Automata.Zot.Evaluator.hs.html | 96 ++ ...elVM.HelMA.Automata.Zot.Expression.hs.html | 87 ++ .../HelVM.HelMA.Automata.Zot.Parser.hs.html | 42 + ...VM.HelMA.Automaton.API.AutoOptions.hs.html | 46 + ...lMA.Automaton.API.AutomatonOptions.hs.html | 45 + ...lVM.HelMA.Automaton.API.EvalParams.hs.html | 63 ++ ....HelMA.Automaton.API.MemoryOptions.hs.html | 37 + ...MA.Automaton.API.OptimizationLevel.hs.html | 54 ++ .../HelVM.HelMA.Automaton.Automaton.hs.html | 104 ++ ...HelVM.HelMA.Automaton.Combiner.ALU.hs.html | 207 ++++ ...HelVM.HelMA.Automaton.Combiner.CPU.hs.html | 134 +++ ...HelVM.HelMA.Automaton.Combiner.LSU.hs.html | 76 ++ ...HelVM.HelMA.Automaton.Combiner.RAM.hs.html | 64 ++ .../HelVM.HelMA.Automaton.Combiner.hs.html | 110 +++ ...elVM.HelMA.Automaton.IO.BusinessIO.hs.html | 170 ++++ .../HelVM.HelMA.Automaton.IO.FreeIO.hs.html | 169 ++++ .../HelVM.HelMA.Automaton.IO.MockIO.hs.html | 202 ++++ ...utomaton.Instruction.CFInstruction.hs.html | 63 ++ ...utomaton.Instruction.IOInstruction.hs.html | 33 + ...utomaton.Instruction.LSInstruction.hs.html | 34 + ...Automaton.Instruction.SInstruction.hs.html | 100 ++ .../HelVM.HelMA.Automaton.Instruction.hs.html | 162 ++++ .../HelVM.HelMA.Automaton.Loop.hs.html | 60 ++ ...Optimizer.ConstantFoldingOptimizer.hs.html | 52 + ...omaton.Optimizer.PeepholeOptimizer.hs.html | 73 ++ .../HelVM.HelMA.Automaton.Optimizer.hs.html | 40 + .../HelVM.HelMA.Automaton.ReadPExtra.hs.html | 68 ++ ...lVM.HelMA.Automaton.Types.CellType.hs.html | 37 + ...lVM.HelMA.Automaton.Types.DumpType.hs.html | 52 + ...M.HelMA.Automaton.Types.FormatType.hs.html | 37 + ....HelMA.Automaton.Types.IntCellType.hs.html | 37 + ...elVM.HelMA.Automaton.Types.RAMType.hs.html | 37 + ...VM.HelMA.Automaton.Types.StackType.hs.html | 37 + ...VM.HelMA.Automaton.Types.TokenType.hs.html | 37 + ...elVM.HelMA.Automaton.WrapTokenList.hs.html | 38 + docs/reports/helma-test/hpc_index.html | 188 ++-- docs/reports/helma-test/hpc_index_alt.html | 196 ++-- docs/reports/helma-test/hpc_index_exp.html | 200 ++-- docs/reports/helma-test/hpc_index_fun.html | 194 ++-- ...M-HelMA-Automata-BrainFuck-API-BFType.html | 2 +- ...ta-BrainFuck-Common-SimpleInstruction.html | 2 +- ...elMA-Automata-BrainFuck-Common-Symbol.html | 2 +- ...tomata-BrainFuck-Common-TapeOfSymbols.html | 2 +- ...VM-HelMA-Automata-BrainFuck-Evaluator.html | 2 +- ...utomata-BrainFuck-Impl-Fast-Evaluator.html | 2 +- ...omata-BrainFuck-Impl-Fast-Instruction.html | 2 +- ...utomata-BrainFuck-Impl-Fast-Optimizer.html | 2 +- ...A-Automata-BrainFuck-Impl-Fast-Parser.html | 2 +- ...utomata-BrainFuck-Impl-Flat-Evaluator.html | 2 +- ...omata-BrainFuck-Impl-Flat-Instruction.html | 2 +- ...A-Automata-BrainFuck-Impl-Flat-Parser.html | 2 +- ...ainFuck-Impl-Flat-TableOfInstructions.html | 2 +- ...utomata-BrainFuck-Impl-Tree-Evaluator.html | 2 +- ...omata-BrainFuck-Impl-Tree-Instruction.html | 2 +- ...a-BrainFuck-Impl-Tree-InstructionUnit.html | 2 +- ...A-Automata-BrainFuck-Impl-Tree-Parser.html | 2 +- .../HelVM-HelMA-Automata-Cat-Evaluator.html | 2 +- ...VM-HelMA-Automata-ETA-API-ETAImplType.html | 2 +- .../HelVM-HelMA-Automata-ETA-Addressing.html | 2 +- .../HelVM-HelMA-Automata-ETA-Automaton.html | 2 +- .../HelVM-HelMA-Automata-ETA-Evaluator.html | 2 +- .../helma/HelVM-HelMA-Automata-ETA-Lexer.html | 2 +- ...lVM-HelMA-Automata-ETA-OperandParsers.html | 2 +- .../HelVM-HelMA-Automata-ETA-Optimizer.html | 2 +- .../HelVM-HelMA-Automata-ETA-Parser.html | 2 +- ...HelVM-HelMA-Automata-ETA-SimpleParams.html | 2 +- .../HelVM-HelMA-Automata-ETA-Symbol.html | 2 +- .../helma/HelVM-HelMA-Automata-ETA-Token.html | 2 +- ...HelVM-HelMA-Automata-FALSE-Expression.html | 2 +- .../HelVM-HelMA-Automata-FALSE-Parser.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Automaton.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Constants.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Evaluator.html | 2 +- ...lVM-HelMA-Automata-LazyK-InputEncoder.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Lambda.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Lexer.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Parser.html | 2 +- .../HelVM-HelMA-Automata-LazyK-Reducer.html | 2 +- .../HelVM-HelMA-Automata-Rev-Evaluator.html | 2 +- ...HelVM-HelMA-Automata-SubLeq-Automaton.html | 2 +- ...HelVM-HelMA-Automata-SubLeq-Evaluator.html | 2 +- .../HelVM-HelMA-Automata-SubLeq-Lexer.html | 2 +- .../HelVM-HelMA-Automata-SubLeq-Symbol.html | 2 +- ...M-HelMA-Automata-WhiteSpace-Evaluator.html | 2 +- ...HelVM-HelMA-Automata-WhiteSpace-Lexer.html | 2 +- ...MA-Automata-WhiteSpace-OperandParsers.html | 2 +- ...elVM-HelMA-Automata-WhiteSpace-Parser.html | 2 +- ...elMA-Automata-WhiteSpace-SimpleParams.html | 2 +- ...HelVM-HelMA-Automata-WhiteSpace-Token.html | 2 +- .../HelVM-HelMA-Automata-Zot-Automaton.html | 2 +- .../HelVM-HelMA-Automata-Zot-Evaluator.html | 2 +- .../HelVM-HelMA-Automata-Zot-Expression.html | 2 +- .../HelVM-HelMA-Automata-Zot-Parser.html | 2 +- ...HelVM-HelMA-Automaton-API-AutoOptions.html | 2 +- ...-HelMA-Automaton-API-AutomatonOptions.html | 2 +- .../HelVM-HelMA-Automaton-API-EvalParams.html | 2 +- .../HelVM-HelMA-Automaton-API-IOTypes.html | 2 +- ...lVM-HelMA-Automaton-API-MemoryOptions.html | 2 +- ...HelMA-Automaton-API-OptimizationLevel.html | 2 +- .../HelVM-HelMA-Automaton-Automaton.html | 2 +- .../HelVM-HelMA-Automaton-Combiner-ALU.html | 2 +- .../HelVM-HelMA-Automaton-Combiner-CPU.html | 2 +- .../HelVM-HelMA-Automaton-Combiner-LSU.html | 2 +- .../HelVM-HelMA-Automaton-Combiner-RAM.html | 2 +- .../helma/HelVM-HelMA-Automaton-Combiner.html | 2 +- .../HelVM-HelMA-Automaton-IO-AutomatonIO.html | 2 +- .../HelVM-HelMA-Automaton-IO-BusinessIO.html | 2 +- .../HelVM-HelMA-Automaton-IO-FreeIO.html | 2 +- .../HelVM-HelMA-Automaton-IO-MockIO.html | 2 +- ...A-Automaton-Instruction-CFInstruction.html | 2 +- ...A-Automaton-Instruction-IOInstruction.html | 2 +- ...A-Automaton-Instruction-LSInstruction.html | 2 +- ...MA-Automaton-Instruction-SInstruction.html | 2 +- .../HelVM-HelMA-Automaton-Instruction.html | 2 +- .../helma/HelVM-HelMA-Automaton-Loop.html | 2 +- ...on-Optimizer-ConstantFoldingOptimizer.html | 1 + ...Automaton-Optimizer-PeepholeOptimizer.html | 1 + .../HelVM-HelMA-Automaton-Optimizer.html | 2 +- .../HelVM-HelMA-Automaton-ReadPExtra.html | 2 +- .../helma/HelVM-HelMA-Automaton-Symbol.html | 2 +- .../HelVM-HelMA-Automaton-Trampoline.html | 1 + .../HelVM-HelMA-Automaton-Types-CellType.html | 2 +- .../HelVM-HelMA-Automaton-Types-DumpType.html | 2 +- ...elVM-HelMA-Automaton-Types-FormatType.html | 2 +- ...lVM-HelMA-Automaton-Types-IntCellType.html | 2 +- .../HelVM-HelMA-Automaton-Types-RAMType.html | 2 +- ...HelVM-HelMA-Automaton-Types-StackType.html | 2 +- ...HelVM-HelMA-Automaton-Types-TokenType.html | 2 +- .../HelVM-HelMA-Automaton-WrapTokenList.html | 2 +- docs/reports/helma/doc-index-A.html | 2 +- docs/reports/helma/doc-index-All.html | 2 +- docs/reports/helma/doc-index-B.html | 2 +- docs/reports/helma/doc-index-C.html | 2 +- docs/reports/helma/doc-index-D.html | 2 +- docs/reports/helma/doc-index-E.html | 2 +- docs/reports/helma/doc-index-F.html | 2 +- docs/reports/helma/doc-index-G.html | 2 +- docs/reports/helma/doc-index-H.html | 2 +- docs/reports/helma/doc-index-I.html | 2 +- docs/reports/helma/doc-index-J.html | 2 +- docs/reports/helma/doc-index-K.html | 2 +- docs/reports/helma/doc-index-L.html | 2 +- docs/reports/helma/doc-index-M.html | 2 +- docs/reports/helma/doc-index-N.html | 2 +- docs/reports/helma/doc-index-O.html | 2 +- docs/reports/helma/doc-index-P.html | 2 +- docs/reports/helma/doc-index-R.html | 2 +- docs/reports/helma/doc-index-S.html | 2 +- docs/reports/helma/doc-index-T.html | 2 +- docs/reports/helma/doc-index-U.html | 2 +- docs/reports/helma/doc-index-V.html | 2 +- docs/reports/helma/doc-index-W.html | 2 +- docs/reports/helma/doc-index-Z.html | 2 +- docs/reports/helma/doc-index.html | 2 +- docs/reports/helma/helma.haddock | Bin 33321 -> 34634 bytes docs/reports/helma/index.html | 2 +- docs/reports/hlint.html | 25 +- docs/reports/stan.html | 2 +- helma.cabal | 7 +- hs/src/HelVM/HelMA/Automata/ETA/Optimizer.hs | 10 +- hs/src/HelVM/HelMA/Automata/FALSE/Parser.hs | 2 +- .../HelVM/HelMA/Automata/WhiteSpace/Parser.hs | 14 +- .../HelVM/HelMA/Automaton/API/AutoOptions.hs | 2 +- hs/src/HelVM/HelMA/Automaton/Automaton.hs | 2 +- hs/src/HelVM/HelMA/Automaton/Combiner.hs | 21 +- hs/src/HelVM/HelMA/Automaton/Combiner/ALU.hs | 52 +- hs/src/HelVM/HelMA/Automaton/Combiner/CPU.hs | 100 +- hs/src/HelVM/HelMA/Automaton/Compiler.hs | 10 + hs/src/HelVM/HelMA/Automaton/Instruction.hs | 112 +-- .../Automaton/Instruction/CFInstruction.hs | 25 +- .../Automaton/Instruction/IOInstruction.hs | 2 + .../Automaton/Instruction/SInstruction.hs | 42 +- hs/src/HelVM/HelMA/Automaton/Loop.hs | 13 +- hs/src/HelVM/HelMA/Automaton/Optimizer.hs | 32 +- .../Optimizer/ConstantFoldingOptimizer.hs | 29 + .../Automaton/Optimizer/PeepholeOptimizer.hs | 50 + hs/src/HelVM/HelMA/Automaton/Trampoline.hs | 46 + .../HelMA/Automata/ETA/OperandParsersSpec.hs | 24 +- .../HelVM/HelMA/Automaton/OptimizerSpec.hs | 16 +- hs/test/Main.hs | 2 +- 621 files changed, 65416 insertions(+), 49375 deletions(-) create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType.hs.html create mode 100644 docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList.hs.html create mode 100644 docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-ConstantFoldingOptimizer.html create mode 100644 docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-PeepholeOptimizer.html create mode 100644 docs/reports/helma/HelVM-HelMA-Automaton-Trampoline.html create mode 100644 hs/src/HelVM/HelMA/Automaton/Compiler.hs create mode 100644 hs/src/HelVM/HelMA/Automaton/Optimizer/ConstantFoldingOptimizer.hs create mode 100644 hs/src/HelVM/HelMA/Automaton/Optimizer/PeepholeOptimizer.hs create mode 100644 hs/src/HelVM/HelMA/Automaton/Trampoline.hs diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/bottles.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/bottles.logged index a40bb326a..7b8165328 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/bottles.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/bottles.logged @@ -2,141 +2,139 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 31 ) + , ICF + ( Labeled Jump + ( LImmediate 31 ) ) - , Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 11 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 13 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 18 ) ) - , Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -144,556 +142,548 @@ dump: Memory ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 16 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 17 ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL - ( SAL - ( Cons 11 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer , ICF - ( DMark 18 ) - , IAL - ( SAL - ( Cons 19 ) + ( Labeled Jump + ( LImmediate 11 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 18 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 19 ) ) - , Transfer , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 19 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 22 ) - , IAL - ( SAL - ( Cons 23 ) + ( Mark + ( MNatural 22 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 23 ) ) - , IAL - ( SAL - ( Cons 8 ) + , ICF + ( Labeled Jump + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 25 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 21 ) + , ICF + ( Labeled Jump + ( LImmediate 21 ) ) - , Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 29 ) - , IAL - ( SAL - ( Cons 30 ) + ( Mark + ( MNatural 29 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 30 ) ) - , Transfer , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( DMark 32 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 32 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 33 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 34 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 35 ) ) - , IAL - ( SAL - ( Cons 21 ) + , ICF + ( Labeled Jump + ( LImmediate 21 ) ) - , Transfer , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 37 ) - , IAL - ( SAL - ( Cons 38 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 38 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 39 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 40 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 40 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 41 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 32 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 42 ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 43 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 232 + , programCounter = 175 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/divmod.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/divmod.logged index 08d7bd5b8..59458e1ef 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/divmod.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/divmod.logged @@ -2,22 +2,32 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 6 + , programCounter = 7 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" index bdfe9a478..041d795f8 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" index 9d2a670b8..9ca8b2fd7 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" index 06019efb2..9be98ae96 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" index b2995434d..dbccf8304 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" index 9cc70c121..5226ca98d 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" index 3773a24e0..8ed534730 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" index d24dd431f..a28ea7650 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" index 1cfa310f9..7db87e396 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" index d18a648c0..18745bd78 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" index e835f10f2..af25ac312 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello.logged index d174229ba..326188558 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello.logged @@ -2,39 +2,45 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -43,39 +49,45 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -84,10 +96,16 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 36 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello2.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello2.logged index bd0d5cdb1..26bb6dbb5 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello2.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello2.logged @@ -2,147 +2,148 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 7 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello3.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello3.logged index bd0d5cdb1..26bb6dbb5 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello3.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello3.logged @@ -2,147 +2,148 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 7 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello4.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello4.logged index bd0d5cdb1..26bb6dbb5 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/hello4.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/hello4.logged @@ -2,147 +2,148 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 7 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/readcharA.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/readcharA.logged index 00863b7dd..8b289fdf0 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/readcharA.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/readcharA.logged @@ -2,13 +2,21 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 4 + , programCounter = 5 , returnStack = IS [] } , memoryStack = fromList [ 65 ] diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" index 6a2e0c9d9..7baaa6b3a 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" @@ -1,353 +1,3 @@ -dump: Memory - { memoryCM = CM - { program = - [ ICF - ( DMark 1 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 5 ) - ) - , Transfer - , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 16 ) - ) - , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL - ( Cons 9 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer - , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 10 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 11 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 14 ) - ) - , Transfer - , ICF - ( DMark 13 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 14 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 16 ) - ) - , Transfer - , ICF - ( DMark 15 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons - ( -1 ) - ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 6 ) - ) - , Transfer - , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 18 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , ICF - ( DMark 21 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 22 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 23 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 24 ) - , IAL - ( SAL - ( Cons 26 ) - ) - , Transfer - , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 33 ) - ) - , Transfer - , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 27 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons - ( -3 ) - ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 29 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 32 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) - ) - , Transfer - , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 35 ) - , End - ] - , programCounter = 79 - , returnStack = IS [] - } - , memoryStack = fromList [ 496 ] - , memoryRAM = [] - } + [Undefined label 48] +CPM.immediateInstruction +CPM.topInstruction diff --git "a/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" index b1e21e3d2..c00b305f7 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" @@ -1,353 +1,3 @@ -dump: Memory - { memoryCM = CM - { program = - [ ICF - ( DMark 1 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 5 ) - ) - , Transfer - , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 16 ) - ) - , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL - ( Cons 9 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer - , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 10 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 11 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 14 ) - ) - , Transfer - , ICF - ( DMark 13 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 14 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 16 ) - ) - , Transfer - , ICF - ( DMark 15 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons - ( -1 ) - ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 6 ) - ) - , Transfer - , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 18 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , ICF - ( DMark 21 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 22 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 23 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 24 ) - , IAL - ( SAL - ( Cons 26 ) - ) - , Transfer - , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 33 ) - ) - , Transfer - , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 27 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons - ( -3 ) - ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 29 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 32 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) - ) - , Transfer - , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 35 ) - , End - ] - , programCounter = 79 - , returnStack = IS [] - } - , memoryStack = fromList [ 506 ] - , memoryRAM = [] - } + [Undefined label 49] +CPM.immediateInstruction +CPM.topInstruction diff --git a/.output/actual/eta/eval/logged/Fast/False/from-eas/true.logged b/.output/actual/eta/eval/logged/Fast/False/from-eas/true.logged index d3f18cf2d..99e027539 100644 --- a/.output/actual/eta/eval/logged/Fast/False/from-eas/true.logged +++ b/.output/actual/eta/eval/logged/Fast/False/from-eas/true.logged @@ -2,10 +2,16 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 2 + , programCounter = 3 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/original/bottles.logged b/.output/actual/eta/eval/logged/Fast/False/original/bottles.logged index 7b78e5e28..6f271cdca 100644 --- a/.output/actual/eta/eval/logged/Fast/False/original/bottles.logged +++ b/.output/actual/eta/eval/logged/Fast/False/original/bottles.logged @@ -2,25 +2,22 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 141 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -28,57 +25,59 @@ dump: Memory ) ) , ICF - ( SMark "1" ) - , Transfer + ( Mark + ( MArtificial "1" ) + ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) - , Transfer - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 2 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL - ( SAL - ( Cons 3 ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -86,11 +85,13 @@ dump: Memory ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -98,21 +99,17 @@ dump: Memory ) ) , IAL ( SIO InputChar ) - , Transfer - , IAL - ( SAL ( Binary Sub ) ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 3 ) - ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL - ( Cons 3 ) + ( SPure ( Binary Sub ) ) + , IAL ( SPure Halibut ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -121,31 +118,30 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 3 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -153,135 +149,134 @@ dump: Memory ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) + ( LImmediate 11 ) + ) + , ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 13 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 18 ) ) - , Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -289,369 +284,335 @@ dump: Memory ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 17 ) ) - , IAL - ( SAL - ( Cons 11 ) + , ICF + ( Labeled Jump + ( LImmediate 11 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 18 ) ) - , IAL - ( SAL - ( Cons 11 ) - ) - , IAL - ( SAL - ( Cons 13128755 ) + , ICF + ( Labeled Jump + ( LImmediate 13128755 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 19 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 20 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 21 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 21 ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 8 ) + , ICF + ( Labeled Jump + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) + , ICF + ( Labeled Jump + ( LImmediate 23 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 24 ) + , ICF + ( Labeled Jump + ( LImmediate 24 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 25 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 29 ) + , ICF + ( Labeled Jump + ( LImmediate 29 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 31 ) + ( Labeled Jump + ( LArtificial "30" ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 31 ) ) - , Transfer , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 31 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -659,16 +620,17 @@ dump: Memory ) ) , ICF - ( SMark "31" ) - , IAL - ( SAL ( Binary Sub ) ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL - ( Cons 32 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -677,11 +639,11 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -690,289 +652,311 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 34 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 34 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 35 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 36 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 36 ) ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 43 ) + ( Mark + ( MNatural 42 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 44 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 45 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 45 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 46 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 48 ) + ( Mark + ( MNatural 47 ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 48 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 329 + , programCounter = 254 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/original/crlf.logged b/.output/actual/eta/eval/logged/Fast/False/original/crlf.logged index 27112c718..b1aecee70 100644 --- a/.output/actual/eta/eval/logged/Fast/False/original/crlf.logged +++ b/.output/actual/eta/eval/logged/Fast/False/original/crlf.logged @@ -2,36 +2,35 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 3 ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -39,61 +38,55 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 75 ) ) , IAL - ( SAL + ( SPure ( Cons 79 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -101,20 +94,21 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 28 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact1\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact1\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact1\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact1\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact2\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact2\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact2\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact2\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact3\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact3\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact3\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact3\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact4\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact4\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact4\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact4\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact5\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact5\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact5\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact5\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact6\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact6\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact6\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact6\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact7\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact7\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact7\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact7\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/False/original/fact8\n.logged" "b/.output/actual/eta/eval/logged/Fast/False/original/fact8\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/False/original/fact8\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/False/original/fact8\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/original/hello.logged b/.output/actual/eta/eval/logged/Fast/False/original/hello.logged index 3d6152bb8..93f69c654 100644 --- a/.output/actual/eta/eval/logged/Fast/False/original/hello.logged +++ b/.output/actual/eta/eval/logged/Fast/False/original/hello.logged @@ -2,19 +2,16 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 21 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer - , IAL ( SAL Halibut ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -22,69 +19,84 @@ dump: Memory ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) - , Transfer - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( CStatic "5" Jump ) + ( Labeled Jump + ( LArtificial "5" ) + ) , ICF - ( DMark 5 ) - , Transfer + ( Mark + ( MNatural 5 ) + ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -92,29 +104,37 @@ dump: Memory ) ) , ICF - ( SMark "5" ) + ( Mark + ( MArtificial "5" ) + ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -123,41 +143,49 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -166,10 +194,16 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 65 + , programCounter = 63 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/False/original/hello2.logged b/.output/actual/eta/eval/logged/Fast/False/original/hello2.logged index fe6f3f9de..38c6568e4 100644 --- a/.output/actual/eta/eval/logged/Fast/False/original/hello2.logged +++ b/.output/actual/eta/eval/logged/Fast/False/original/hello2.logged @@ -2,110 +2,102 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 4 ) - ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , IAL - ( SAL - ( Cons 22 ) + , ICF + ( Labeled Jump + ( LImmediate 22 ) ) - , Transfer , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -113,82 +105,84 @@ dump: Memory ) ) , ICF - ( SMark "3" ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MArtificial "3" ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 337 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 4 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 6 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 11 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 6 ) - , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 5 ) ) , IAL - ( SAL - ( Cons 4 ) + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 6 ) + ) + , IAL ( SIO OutputChar ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "7" Jump ) + ( Labeled Jump + ( LArtificial "7" ) + ) + , ICF + ( Mark + ( MNatural 7 ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 52 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/eval/logged/Fast/True/original/bottles.logged b/.output/actual/eta/eval/logged/Fast/True/original/bottles.logged index 7b78e5e28..6f271cdca 100644 --- a/.output/actual/eta/eval/logged/Fast/True/original/bottles.logged +++ b/.output/actual/eta/eval/logged/Fast/True/original/bottles.logged @@ -2,25 +2,22 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 141 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -28,57 +25,59 @@ dump: Memory ) ) , ICF - ( SMark "1" ) - , Transfer + ( Mark + ( MArtificial "1" ) + ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) - , Transfer - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 2 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL - ( SAL - ( Cons 3 ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -86,11 +85,13 @@ dump: Memory ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -98,21 +99,17 @@ dump: Memory ) ) , IAL ( SIO InputChar ) - , Transfer - , IAL - ( SAL ( Binary Sub ) ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 3 ) - ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL - ( Cons 3 ) + ( SPure ( Binary Sub ) ) + , IAL ( SPure Halibut ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -121,31 +118,30 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 3 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -153,135 +149,134 @@ dump: Memory ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) + ( LImmediate 11 ) + ) + , ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 13 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 18 ) ) - , Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -289,369 +284,335 @@ dump: Memory ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 17 ) ) - , IAL - ( SAL - ( Cons 11 ) + , ICF + ( Labeled Jump + ( LImmediate 11 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 18 ) ) - , IAL - ( SAL - ( Cons 11 ) - ) - , IAL - ( SAL - ( Cons 13128755 ) + , ICF + ( Labeled Jump + ( LImmediate 13128755 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 19 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 20 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 21 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 21 ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 8 ) + , ICF + ( Labeled Jump + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) + , ICF + ( Labeled Jump + ( LImmediate 23 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 24 ) + , ICF + ( Labeled Jump + ( LImmediate 24 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 25 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 29 ) + , ICF + ( Labeled Jump + ( LImmediate 29 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 31 ) + ( Labeled Jump + ( LArtificial "30" ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 31 ) ) - , Transfer , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 31 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -659,16 +620,17 @@ dump: Memory ) ) , ICF - ( SMark "31" ) - , IAL - ( SAL ( Binary Sub ) ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL - ( Cons 32 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -677,11 +639,11 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -690,289 +652,311 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 34 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 34 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 35 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 36 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 36 ) ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 43 ) + ( Mark + ( MNatural 42 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 44 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 45 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 45 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 46 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 48 ) + ( Mark + ( MNatural 47 ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 48 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 329 + , programCounter = 254 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact1\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact1\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact1\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact1\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact2\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact2\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact2\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact2\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact3\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact3\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact3\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact3\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact4\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact4\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact4\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact4\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact5\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact5\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact5\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact5\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact6\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact6\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact6\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact6\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact7\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact7\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact7\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact7\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/actual/eta/eval/logged/Fast/True/original/fact8\n.logged" "b/.output/actual/eta/eval/logged/Fast/True/original/fact8\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/actual/eta/eval/logged/Fast/True/original/fact8\n.logged" +++ "b/.output/actual/eta/eval/logged/Fast/True/original/fact8\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/actual/eta/il/optimized/from-eas/bottles.il b/.output/actual/eta/il/optimized/from-eas/bottles.il index dcb193fd0..f71c9c68f 100644 --- a/.output/actual/eta/il/optimized/from-eas/bottles.il +++ b/.output/actual/eta/il/optimized/from-eas/bottles.il @@ -1,139 +1,137 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 31 ) +, ICF + ( Labeled Jump + ( LImmediate 31 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 11 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 13 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -141,552 +139,544 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 16 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 17 ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL - ( SAL - ( Cons 11 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, Transfer , ICF - ( DMark 18 ) -, IAL - ( SAL - ( Cons 19 ) + ( Labeled Jump + ( LImmediate 11 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 18 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 19 ) ) -, Transfer , ICF - ( DMark 19 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 19 ) ) -, IAL ( SAL Halibut ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 22 ) -, IAL - ( SAL - ( Cons 23 ) + ( Mark + ( MNatural 22 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 23 ) ) -, IAL - ( SAL - ( Cons 8 ) +, ICF + ( Labeled Jump + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Mark + ( MNatural 25 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 21 ) +, ICF + ( Labeled Jump + ( LImmediate 21 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 29 ) -, IAL - ( SAL - ( Cons 30 ) + ( Mark + ( MNatural 29 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 30 ) ) -, Transfer , ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) -, IAL ( SAL Halibut ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( DMark 32 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 32 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 33 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 34 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 34 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 35 ) ) -, IAL - ( SAL - ( Cons 21 ) +, ICF + ( Labeled Jump + ( LImmediate 21 ) ) -, Transfer , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 37 ) -, IAL - ( SAL - ( Cons 38 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 38 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 39 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 39 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 40 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 40 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 41 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 41 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 32 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 42 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 42 ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 43 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/euclid.il b/.output/actual/eta/il/optimized/from-eas/euclid.il index 67cf4bfd2..111c3e0bc 100644 --- a/.output/actual/eta/il/optimized/from-eas/euclid.il +++ b/.output/actual/eta/il/optimized/from-eas/euclid.il @@ -1,53 +1,61 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 5 ) + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 10 ) +, ICF + ( Mark + ( MNatural 4 ) + ) +, ICF + ( Labeled Jump + ( LImmediate 10 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons - ( -1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 1 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -55,59 +63,78 @@ ) ) , ICF - ( SMark "6" ) + ( Mark + ( MArtificial "6" ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 10 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 10 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 12 ) -, Transfer + ( Mark + ( MNatural 12 ) + ) , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/fact.il b/.output/actual/eta/il/optimized/from-eas/fact.il index 7e5822f11..dcf98e678 100644 --- a/.output/actual/eta/il/optimized/from-eas/fact.il +++ b/.output/actual/eta/il/optimized/from-eas/fact.il @@ -1,439 +1,443 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled Jump + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) -, IAL - ( SAL - ( Cons 32 ) +, ICF + ( Labeled Jump + ( LImmediate 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) -, Transfer , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) -, IAL - ( SAL - ( Cons 44 ) +, ICF + ( Labeled Jump + ( LImmediate 44 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) -, IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) -, Transfer , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, Transfer -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 44 ) +, ICF + ( Labeled Jump + ( LImmediate 44 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) -, Transfer , ICF - ( DMark 28 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 19 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 33 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 35 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 36 ) -, IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) -, Transfer , ICF - ( DMark 37 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 42 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -441,248 +445,279 @@ ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 41 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) -, IAL - ( SAL - ( Cons 35 ) +, ICF + ( Labeled Jump + ( LImmediate 35 ) ) -, Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 60 ) ) -, IAL - ( SAL - ( Cons 60 ) +, ICF + ( Mark + ( MNatural 43 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 44 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 48 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 49 ) -, IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) -, Transfer , ICF - ( DMark 50 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) -, IAL - ( SAL - ( Cons 58 ) +, ICF + ( Labeled Jump + ( LImmediate 58 ) ) -, Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 57 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) -, IAL - ( SAL - ( Cons 48 ) +, ICF + ( Labeled Jump + ( LImmediate 48 ) ) -, Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 62 ) -, IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) -, Transfer , ICF - ( DMark 63 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 63 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) -, IAL - ( SAL - ( Cons 60 ) +, ICF + ( Labeled Jump + ( LImmediate 60 ) ) -, Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/function.il b/.output/actual/eta/il/optimized/from-eas/function.il index a8e326dbe..06a8f152c 100644 --- a/.output/actual/eta/il/optimized/from-eas/function.il +++ b/.output/actual/eta/il/optimized/from-eas/function.il @@ -1,55 +1,84 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) + ) +, ICF + ( Mark + ( MNatural 9 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, Transfer + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/hello.il b/.output/actual/eta/il/optimized/from-eas/hello.il index bb2fc89e7..20a3aec39 100644 --- a/.output/actual/eta/il/optimized/from-eas/hello.il +++ b/.output/actual/eta/il/optimized/from-eas/hello.il @@ -1,37 +1,43 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -40,39 +46,45 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -81,6 +93,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/hello2.il b/.output/actual/eta/il/optimized/from-eas/hello2.il index 527ee5bcd..7c9d35984 100644 --- a/.output/actual/eta/il/optimized/from-eas/hello2.il +++ b/.output/actual/eta/il/optimized/from-eas/hello2.il @@ -1,141 +1,142 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/hello3.il b/.output/actual/eta/il/optimized/from-eas/hello3.il index 527ee5bcd..7c9d35984 100644 --- a/.output/actual/eta/il/optimized/from-eas/hello3.il +++ b/.output/actual/eta/il/optimized/from-eas/hello3.il @@ -1,141 +1,142 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/hello4.il b/.output/actual/eta/il/optimized/from-eas/hello4.il index 527ee5bcd..7c9d35984 100644 --- a/.output/actual/eta/il/optimized/from-eas/hello4.il +++ b/.output/actual/eta/il/optimized/from-eas/hello4.il @@ -1,141 +1,142 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/multiply.il b/.output/actual/eta/il/optimized/from-eas/multiply.il index 084fb5643..6f873408c 100644 --- a/.output/actual/eta/il/optimized/from-eas/multiply.il +++ b/.output/actual/eta/il/optimized/from-eas/multiply.il @@ -1,140 +1,178 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Mark + ( MNatural 6 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, IAL - ( SAL - ( Cons 15 ) +, ICF + ( Mark + ( MNatural 7 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled Jump + ( LImmediate 15 ) + ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 14 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 14 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 16 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 17 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 17 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/pip.il b/.output/actual/eta/il/optimized/from-eas/pip.il index 0c137c9fb..4411ce474 100644 --- a/.output/actual/eta/il/optimized/from-eas/pip.il +++ b/.output/actual/eta/il/optimized/from-eas/pip.il @@ -1,68 +1,71 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) + ) +, ICF + ( Mark + ( MNatural 9 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/pip2.il b/.output/actual/eta/il/optimized/from-eas/pip2.il index ad7cdb019..50bc5b9d6 100644 --- a/.output/actual/eta/il/optimized/from-eas/pip2.il +++ b/.output/actual/eta/il/optimized/from-eas/pip2.il @@ -1,56 +1,47 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 2 ) - ) -, Transfer -, IAL - ( SAL - ( Cons 0 ) - ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 0 ) +, IAL ( SPure Discard ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/readnum.il b/.output/actual/eta/il/optimized/from-eas/readnum.il index 233404150..5e17cdcaa 100644 --- a/.output/actual/eta/il/optimized/from-eas/readnum.il +++ b/.output/actual/eta/il/optimized/from-eas/readnum.il @@ -1,344 +1,389 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 5 ) + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 4 ) ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 1 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 9 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 19 ) +, ICF + ( Labeled Jump + ( LImmediate 19 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 14 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 13 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) -, IAL - ( SAL - ( Cons 17 ) +, ICF + ( Labeled Jump + ( LImmediate 17 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 16 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 16 ) ) -, Transfer , ICF - ( DMark 15 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 15 ) ) -, IAL - ( SAL - ( Cons 17 ) +, ICF + ( Labeled Jump + ( LImmediate 17 ) ) -, Transfer , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 6 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 24 ) -, IAL - ( SAL - ( Cons 26 ) + ( Mark + ( MNatural 24 ) ) -, Transfer , ICF - ( DMark 25 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 26 ) ) -, IAL - ( SAL - ( Cons 33 ) +, ICF + ( Mark + ( MNatural 25 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled Jump + ( LImmediate 33 ) + ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 32 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 32 ) ) -, IAL - ( SAL - ( Cons 23 ) +, ICF + ( Labeled Jump + ( LImmediate 23 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 35 ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 35 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/reverse.il b/.output/actual/eta/il/optimized/from-eas/reverse.il index 92103d1f3..6e0610c88 100644 --- a/.output/actual/eta/il/optimized/from-eas/reverse.il +++ b/.output/actual/eta/il/optimized/from-eas/reverse.il @@ -1,100 +1,92 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 2 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 4 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 7 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 0 ) - ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, IAL ( SAL Halibut ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 0 ) +, IAL ( SPure Discard ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Mark + ( MNatural 8 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/true.il b/.output/actual/eta/il/optimized/from-eas/true.il index 2e0854629..758d72ec4 100644 --- a/.output/actual/eta/il/optimized/from-eas/true.il +++ b/.output/actual/eta/il/optimized/from-eas/true.il @@ -1,4 +1,10 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/writenum.il b/.output/actual/eta/il/optimized/from-eas/writenum.il index 64fa1dbdc..4f7c42b6f 100644 --- a/.output/actual/eta/il/optimized/from-eas/writenum.il +++ b/.output/actual/eta/il/optimized/from-eas/writenum.il @@ -1,79 +1,81 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 2 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 4 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 7 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, Transfer , ICF - ( DMark 6 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) , IAL - ( SAL - ( Cons 11 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 11 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -81,112 +83,111 @@ ) ) , ICF - ( SMark "7" ) + ( Mark + ( MArtificial "7" ) + ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 10 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Mark + ( MNatural 12 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 14 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 15 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 15 ) -, IAL - ( SAL - ( Cons 17 ) + ( Labeled ( Branch NE ) + ( LImmediate 17 ) ) -, Transfer , ICF - ( DMark 16 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 16 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 18 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 18 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/from-eas/writestr.il b/.output/actual/eta/il/optimized/from-eas/writestr.il index f26924264..fbb21cb86 100644 --- a/.output/actual/eta/il/optimized/from-eas/writestr.il +++ b/.output/actual/eta/il/optimized/from-eas/writestr.il @@ -1,53 +1,58 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 5 ) + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 4 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/bottles.il b/.output/actual/eta/il/optimized/original/bottles.il index 039dbd237..cfe2a82ee 100644 --- a/.output/actual/eta/il/optimized/original/bottles.il +++ b/.output/actual/eta/il/optimized/original/bottles.il @@ -1,23 +1,20 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 141 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 32 ) +, ICF + ( Labeled Jump + ( LImmediate 32 ) ) -, Transfer , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -25,57 +22,59 @@ ) ) , ICF - ( SMark "1" ) -, Transfer + ( Mark + ( MArtificial "1" ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 2 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL - ( SAL - ( Cons 3 ) +, ICF + ( Labeled Jump + ( LImmediate 3 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -83,11 +82,13 @@ ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -95,21 +96,17 @@ ) ) , IAL ( SIO InputChar ) -, Transfer -, IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) -, IAL - ( SAL - ( Cons 3 ) - ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL - ( Cons 3 ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) +, ICF + ( Labeled Jump + ( LImmediate 3 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -118,31 +115,30 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 3 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -150,135 +146,134 @@ ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) + ( LImmediate 11 ) + ) +, ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 13 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -286,369 +281,335 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 17 ) ) -, IAL - ( SAL - ( Cons 11 ) +, ICF + ( Labeled Jump + ( LImmediate 11 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 18 ) ) -, IAL - ( SAL - ( Cons 11 ) - ) -, IAL - ( SAL - ( Cons 13128755 ) +, ICF + ( Labeled Jump + ( LImmediate 13128755 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Mark + ( MNatural 19 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 19 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 20 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 20 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 21 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 21 ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 8 ) +, ICF + ( Labeled Jump + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 23 ) +, ICF + ( Labeled Jump + ( LImmediate 23 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 24 ) +, ICF + ( Labeled Jump + ( LImmediate 24 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Mark + ( MNatural 25 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 20 ) +, ICF + ( Labeled Jump + ( LImmediate 20 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 29 ) +, ICF + ( Labeled Jump + ( LImmediate 29 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) -, ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 31 ) + ( Labeled Jump + ( LArtificial "30" ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 31 ) ) -, Transfer , ICF - ( DMark 31 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 31 ) ) -, IAL ( SAL Halibut ) -, Transfer +, ICF ( Labeled Jump LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -656,16 +617,17 @@ ) ) , ICF - ( SMark "31" ) -, IAL - ( SAL ( Binary Sub ) ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL - ( Cons 32 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -674,11 +636,11 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -687,285 +649,307 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 34 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 34 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 35 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 36 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 36 ) ) -, IAL - ( SAL - ( Cons 20 ) +, ICF + ( Labeled Jump + ( LImmediate 20 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) -, IAL - ( SAL - ( Cons 43 ) + ( Mark + ( MNatural 42 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 43 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 44 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 45 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 45 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 46 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 47 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 33 ) ) -, Transfer , ICF - ( DMark 48 ) + ( Mark + ( MNatural 47 ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 48 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/crlf.il b/.output/actual/eta/il/optimized/original/crlf.il index 0007ac0e1..7f74d7246 100644 --- a/.output/actual/eta/il/optimized/original/crlf.il +++ b/.output/actual/eta/il/optimized/original/crlf.il @@ -1,34 +1,33 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 3 ) +, ICF + ( Labeled Jump + ( LImmediate 3 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -36,61 +35,55 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 75 ) ) , IAL - ( SAL + ( SPure ( Cons 79 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -98,16 +91,17 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/fact.il b/.output/actual/eta/il/optimized/original/fact.il index a3ba873c2..510c8b2f4 100644 --- a/.output/actual/eta/il/optimized/original/fact.il +++ b/.output/actual/eta/il/optimized/original/fact.il @@ -1,249 +1,248 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled Jump + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) -, IAL - ( SAL - ( Cons 32 ) +, ICF + ( Labeled Jump + ( LImmediate 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) -, Transfer , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) -, IAL - ( SAL - ( Cons 42 ) +, ICF + ( Labeled Jump + ( LImmediate 42 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) -, IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) -, Transfer , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, Transfer -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 42 ) +, ICF + ( Labeled Jump + ( LImmediate 42 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) -, Transfer -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -251,24 +250,28 @@ ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -276,173 +279,183 @@ ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) -, Transfer , ICF - ( DMark 28 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 19 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 34 ) -, IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) -, Transfer , ICF - ( DMark 35 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) +, ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 40 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -450,248 +463,279 @@ ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 39 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) -, IAL - ( SAL - ( Cons 33 ) +, ICF + ( Labeled Jump + ( LImmediate 33 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 58 ) ) -, IAL - ( SAL - ( Cons 58 ) +, ICF + ( Mark + ( MNatural 41 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 42 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 46 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 47 ) -, IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) -, Transfer , ICF - ( DMark 48 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) -, IAL - ( SAL - ( Cons 56 ) +, ICF + ( Labeled Jump + ( LImmediate 56 ) ) -, Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 55 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) -, IAL - ( SAL - ( Cons 46 ) +, ICF + ( Labeled Jump + ( LImmediate 46 ) ) -, Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 60 ) -, IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) -, Transfer , ICF - ( DMark 61 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 61 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) -, IAL - ( SAL - ( Cons 58 ) +, ICF + ( Labeled Jump + ( LImmediate 58 ) ) -, Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/hello.il b/.output/actual/eta/il/optimized/original/hello.il index b53b0e8ed..a8a85db1b 100644 --- a/.output/actual/eta/il/optimized/original/hello.il +++ b/.output/actual/eta/il/optimized/original/hello.il @@ -1,17 +1,14 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 21 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -19,69 +16,84 @@ ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( CStatic "5" Jump ) + ( Labeled Jump + ( LArtificial "5" ) + ) , ICF - ( DMark 5 ) -, Transfer + ( Mark + ( MNatural 5 ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -89,29 +101,37 @@ ) ) , ICF - ( SMark "5" ) + ( Mark + ( MArtificial "5" ) + ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -120,41 +140,49 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -163,6 +191,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/hello2.il b/.output/actual/eta/il/optimized/original/hello2.il index 2dd961ddf..fe4055d7b 100644 --- a/.output/actual/eta/il/optimized/original/hello2.il +++ b/.output/actual/eta/il/optimized/original/hello2.il @@ -1,108 +1,100 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 4 ) - ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, IAL - ( SAL - ( Cons 22 ) +, ICF + ( Labeled Jump + ( LImmediate 22 ) ) -, Transfer , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -110,78 +102,80 @@ ) ) , ICF - ( SMark "3" ) -, IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MArtificial "3" ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 337 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 4 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 6 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 11 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 6 ) -, IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 5 ) ) , IAL - ( SAL - ( Cons 4 ) + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) +, IAL ( SIO OutputChar ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "7" Jump ) + ( Labeled Jump + ( LArtificial "7" ) + ) +, ICF + ( Mark + ( MNatural 7 ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/pip.il b/.output/actual/eta/il/optimized/original/pip.il index 0c137c9fb..4411ce474 100644 --- a/.output/actual/eta/il/optimized/original/pip.il +++ b/.output/actual/eta/il/optimized/original/pip.il @@ -1,68 +1,71 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) + ) +, ICF + ( Mark + ( MNatural 9 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/optimized/original/pip2.il b/.output/actual/eta/il/optimized/original/pip2.il index ad7cdb019..50bc5b9d6 100644 --- a/.output/actual/eta/il/optimized/original/pip2.il +++ b/.output/actual/eta/il/optimized/original/pip2.il @@ -1,56 +1,47 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 2 ) - ) -, Transfer -, IAL - ( SAL - ( Cons 0 ) - ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 0 ) +, IAL ( SPure Discard ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/bottles.il b/.output/actual/eta/il/parsed/from-eas/bottles.il index f5e5f7b38..982bbdc9d 100644 --- a/.output/actual/eta/il/parsed/from-eas/bottles.il +++ b/.output/actual/eta/il/parsed/from-eas/bottles.il @@ -1,175 +1,212 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 31 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -177,556 +214,635 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 20 ) + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 20 ) + ) +, ICF + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) -, Transfer , ICF - ( DMark 23 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 25 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 21 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 30 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 21 ) ) -, Transfer , ICF - ( DMark 35 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 38 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 40 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer , ICF - ( DMark 42 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 43 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/euclid.il b/.output/actual/eta/il/parsed/from-eas/euclid.il index 8fcef7f35..717eda838 100644 --- a/.output/actual/eta/il/parsed/from-eas/euclid.il +++ b/.output/actual/eta/il/parsed/from-eas/euclid.il @@ -1,69 +1,83 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -71,59 +85,83 @@ ) ) , ICF - ( SMark "6" ) + ( Mark + ( MArtificial "6" ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 12 ) -, Transfer + ( Mark + ( MNatural 12 ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/fact.il b/.output/actual/eta/il/parsed/from-eas/fact.il index 4b70ea6d8..a88478d88 100644 --- a/.output/actual/eta/il/parsed/from-eas/fact.il +++ b/.output/actual/eta/il/parsed/from-eas/fact.il @@ -1,497 +1,598 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 12 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 27 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 29 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, Transfer , ICF - ( DMark 30 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -499,280 +600,353 @@ ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 35 ) ) -, Transfer , ICF - ( DMark 42 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 48 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) -, Transfer , ICF - ( DMark 51 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 57 ) + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) -, Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 63 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 63 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) + ( Mark + ( MNatural 65 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) -, Transfer , ICF - ( DMark 66 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 66 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/function.il b/.output/actual/eta/il/parsed/from-eas/function.il index a8e326dbe..2b8e41e61 100644 --- a/.output/actual/eta/il/parsed/from-eas/function.il +++ b/.output/actual/eta/il/parsed/from-eas/function.il @@ -1,55 +1,80 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) +, ICF + ( Mark + ( MNatural 9 ) + ) , ICF - ( DMark 9 ) -, Transfer + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/hello.il b/.output/actual/eta/il/parsed/from-eas/hello.il index bb2fc89e7..20a3aec39 100644 --- a/.output/actual/eta/il/parsed/from-eas/hello.il +++ b/.output/actual/eta/il/parsed/from-eas/hello.il @@ -1,37 +1,43 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -40,39 +46,45 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -81,6 +93,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/hello2.il b/.output/actual/eta/il/parsed/from-eas/hello2.il index 65fac6667..f474aa692 100644 --- a/.output/actual/eta/il/parsed/from-eas/hello2.il +++ b/.output/actual/eta/il/parsed/from-eas/hello2.il @@ -1,153 +1,182 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/hello3.il b/.output/actual/eta/il/parsed/from-eas/hello3.il index 65fac6667..f474aa692 100644 --- a/.output/actual/eta/il/parsed/from-eas/hello3.il +++ b/.output/actual/eta/il/parsed/from-eas/hello3.il @@ -1,153 +1,182 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/hello4.il b/.output/actual/eta/il/parsed/from-eas/hello4.il index 65fac6667..f474aa692 100644 --- a/.output/actual/eta/il/parsed/from-eas/hello4.il +++ b/.output/actual/eta/il/parsed/from-eas/hello4.il @@ -1,153 +1,182 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/multiply.il b/.output/actual/eta/il/parsed/from-eas/multiply.il index 75a8809d7..a74e8e783 100644 --- a/.output/actual/eta/il/parsed/from-eas/multiply.il +++ b/.output/actual/eta/il/parsed/from-eas/multiply.il @@ -1,156 +1,199 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 15 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 15 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 16 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 17 ) + ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/pip.il b/.output/actual/eta/il/parsed/from-eas/pip.il index 76b5ebe2a..d8a581105 100644 --- a/.output/actual/eta/il/parsed/from-eas/pip.il +++ b/.output/actual/eta/il/parsed/from-eas/pip.il @@ -1,72 +1,98 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/pip2.il b/.output/actual/eta/il/parsed/from-eas/pip2.il index b3af748cd..1f4275f90 100644 --- a/.output/actual/eta/il/parsed/from-eas/pip2.il +++ b/.output/actual/eta/il/parsed/from-eas/pip2.il @@ -1,60 +1,74 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/readnum.il b/.output/actual/eta/il/parsed/from-eas/readnum.il index 312b9c4e0..380a18fd5 100644 --- a/.output/actual/eta/il/parsed/from-eas/readnum.il +++ b/.output/actual/eta/il/parsed/from-eas/readnum.il @@ -1,382 +1,472 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) -, Transfer , ICF - ( DMark 15 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) -, Transfer , ICF - ( DMark 16 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 6 ) ) -, Transfer , ICF - ( DMark 17 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 23 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 35 ) + ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/reverse.il b/.output/actual/eta/il/parsed/from-eas/reverse.il index 021d0644c..865d26f68 100644 --- a/.output/actual/eta/il/parsed/from-eas/reverse.il +++ b/.output/actual/eta/il/parsed/from-eas/reverse.il @@ -1,124 +1,150 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/true.il b/.output/actual/eta/il/parsed/from-eas/true.il index 2e0854629..758d72ec4 100644 --- a/.output/actual/eta/il/parsed/from-eas/true.il +++ b/.output/actual/eta/il/parsed/from-eas/true.il @@ -1,4 +1,10 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/writenum.il b/.output/actual/eta/il/parsed/from-eas/writenum.il index f8e0ea829..3f15902fd 100644 --- a/.output/actual/eta/il/parsed/from-eas/writenum.il +++ b/.output/actual/eta/il/parsed/from-eas/writenum.il @@ -1,103 +1,122 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -105,128 +124,164 @@ ) ) , ICF - ( SMark "7" ) + ( Mark + ( MArtificial "7" ) + ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 12 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/from-eas/writestr.il b/.output/actual/eta/il/parsed/from-eas/writestr.il index 3b72641d2..95d6260fb 100644 --- a/.output/actual/eta/il/parsed/from-eas/writestr.il +++ b/.output/actual/eta/il/parsed/from-eas/writestr.il @@ -1,65 +1,86 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/bottles.il b/.output/actual/eta/il/parsed/original/bottles.il index dfb3eba8c..dec3f8f67 100644 --- a/.output/actual/eta/il/parsed/original/bottles.il +++ b/.output/actual/eta/il/parsed/original/bottles.il @@ -1,23 +1,26 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 141 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -25,17 +28,22 @@ ) ) , ICF - ( SMark "1" ) -, Transfer + ( Mark + ( MArtificial "1" ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -43,39 +51,43 @@ ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -83,11 +95,13 @@ ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -95,21 +109,23 @@ ) ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -118,31 +134,35 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -150,171 +170,205 @@ ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -322,384 +376,443 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 13128773 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 23 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 24 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 25 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 26 ) + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 29 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) + ( Labeled Jump + ( LArtificial "30" ) + ) , ICF - ( DMark 30 ) + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 31 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -707,16 +820,19 @@ ) ) , ICF - ( SMark "31" ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -725,11 +841,11 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -738,285 +854,331 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 45 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) -, Transfer , ICF - ( DMark 47 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 48 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 48 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/crlf.il b/.output/actual/eta/il/parsed/original/crlf.il index 0007ac0e1..4742e7e36 100644 --- a/.output/actual/eta/il/parsed/original/crlf.il +++ b/.output/actual/eta/il/parsed/original/crlf.il @@ -1,34 +1,39 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -37,60 +42,66 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 75 ) ) , IAL - ( SAL + ( SPure ( Cons 79 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -99,15 +110,22 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/fact.il b/.output/actual/eta/il/parsed/original/fact.il index b60e59a42..59fc5f2b7 100644 --- a/.output/actual/eta/il/parsed/original/fact.il +++ b/.output/actual/eta/il/parsed/original/fact.il @@ -1,273 +1,329 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 12 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -275,24 +331,28 @@ ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -300,189 +360,228 @@ ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 27 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 29 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, Transfer , ICF - ( DMark 30 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 31 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 40 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -490,280 +589,353 @@ ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) -, Transfer , ICF - ( DMark 41 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 48 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 56 ) ) -, Transfer , ICF - ( DMark 49 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 46 ) ) -, Transfer , ICF - ( DMark 56 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 57 ) + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 60 ) + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 61 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) + ( Mark + ( MNatural 63 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) -, Transfer , ICF - ( DMark 64 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 64 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/hello.il b/.output/actual/eta/il/parsed/original/hello.il index 2aaf1f225..002d23a17 100644 --- a/.output/actual/eta/il/parsed/original/hello.il +++ b/.output/actual/eta/il/parsed/original/hello.il @@ -1,17 +1,20 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer -, IAL ( SAL Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -19,26 +22,31 @@ ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -46,42 +54,54 @@ ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( CStatic "5" Jump ) + ( Labeled Jump + ( LArtificial "5" ) + ) +, ICF + ( Mark + ( MNatural 5 ) + ) , ICF - ( DMark 5 ) -, Transfer + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -89,35 +109,43 @@ ) ) , ICF - ( SMark "5" ) + ( Mark + ( MArtificial "5" ) + ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -126,41 +154,49 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -169,6 +205,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/hello2.il b/.output/actual/eta/il/parsed/original/hello2.il index 66290b364..059ffb4fa 100644 --- a/.output/actual/eta/il/parsed/original/hello2.il +++ b/.output/actual/eta/il/parsed/original/hello2.il @@ -1,108 +1,118 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -110,90 +120,110 @@ ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 337 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "7" Jump ) + ( Labeled Jump + ( LArtificial "7" ) + ) +, ICF + ( Mark + ( MNatural 7 ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/pip.il b/.output/actual/eta/il/parsed/original/pip.il index 76b5ebe2a..d8a581105 100644 --- a/.output/actual/eta/il/parsed/original/pip.il +++ b/.output/actual/eta/il/parsed/original/pip.il @@ -1,72 +1,98 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/eta/il/parsed/original/pip2.il b/.output/actual/eta/il/parsed/original/pip2.il index b3af748cd..1f4275f90 100644 --- a/.output/actual/eta/il/parsed/original/pip2.il +++ b/.output/actual/eta/il/parsed/original/pip2.il @@ -1,60 +1,74 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/actual/f/il/helma/add.il b/.output/actual/f/il/helma/add.il index c5458f591..117e71dea 100644 --- a/.output/actual/f/il/helma/add.il +++ b/.output/actual/f/il/helma/add.il @@ -1,35 +1,35 @@ [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) ] \ No newline at end of file diff --git a/.output/actual/f/il/helma/copy.il b/.output/actual/f/il/helma/copy.il index bfa21c6c2..3334bc959 100644 --- a/.output/actual/f/il/helma/copy.il +++ b/.output/actual/f/il/helma/copy.il @@ -4,27 +4,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda diff --git a/.output/actual/f/il/helma/factorial.il b/.output/actual/f/il/helma/factorial.il index 3a58770ce..a69f129be 100644 --- a/.output/actual/f/il/helma/factorial.il +++ b/.output/actual/f/il/helma/factorial.il @@ -1,47 +1,51 @@ [ Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -56,29 +60,33 @@ , Flush , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/actual/f/il/helma/primeNumber.il b/.output/actual/f/il/helma/primeNumber.il index fcb478543..ba9e9aed1 100644 --- a/.output/actual/f/il/helma/primeNumber.il +++ b/.output/actual/f/il/helma/primeNumber.il @@ -1,162 +1,190 @@ [ Inst ( IAL - ( SAL + ( SPure ( Cons 99 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL ( SIO OutputDec ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) diff --git a/.output/actual/f/il/other/benHoyt/bin2f.il b/.output/actual/f/il/other/benHoyt/bin2f.il index 400fe8bec..4816480bc 100644 --- a/.output/actual/f/il/other/benHoyt/bin2f.il +++ b/.output/actual/f/il/other/benHoyt/bin2f.il @@ -5,19 +5,21 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) ] , Lambda @@ -27,6 +29,6 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str "]" ] \ No newline at end of file diff --git a/.output/actual/f/il/other/benHoyt/fac.il b/.output/actual/f/il/other/benHoyt/fac.il index ad3c88f84..9c7a88322 100644 --- a/.output/actual/f/il/other/benHoyt/fac.il +++ b/.output/actual/f/il/other/benHoyt/fac.il @@ -2,76 +2,86 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -86,29 +96,33 @@ , Ref 1 , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/actual/f/il/other/iliiliiliili/sum.il b/.output/actual/f/il/other/iliiliiliili/sum.il index b91f04ef9..15902d2b2 100644 --- a/.output/actual/f/il/other/iliiliiliili/sum.il +++ b/.output/actual/f/il/other/iliiliiliili/sum.il @@ -11,7 +11,7 @@ , Exec , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL ( SIO OutputDec ) ) diff --git a/.output/actual/f/il/other/morphett/factorial.il b/.output/actual/f/il/other/morphett/factorial.il index 6c1d12602..b14f5a74f 100644 --- a/.output/actual/f/il/other/morphett/factorial.il +++ b/.output/actual/f/il/other/morphett/factorial.il @@ -1,76 +1,86 @@ [ Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -79,7 +89,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) diff --git a/.output/actual/f/il/other/morphett/factorial2.il b/.output/actual/f/il/other/morphett/factorial2.il index c74dd33e0..71defb229 100644 --- a/.output/actual/f/il/other/morphett/factorial2.il +++ b/.output/actual/f/il/other/morphett/factorial2.il @@ -2,18 +2,22 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec @@ -28,63 +32,75 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -100,7 +116,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) diff --git a/.output/actual/f/il/other/morphett/reverse.il b/.output/actual/f/il/other/morphett/reverse.il index 607960a2a..cc09e701c 100644 --- a/.output/actual/f/il/other/morphett/reverse.il +++ b/.output/actual/f/il/other/morphett/reverse.il @@ -4,27 +4,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -36,6 +38,6 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Exec ] \ No newline at end of file diff --git a/.output/actual/f/il/other/thunderseethe/prog.il b/.output/actual/f/il/other/thunderseethe/prog.il index b5a1f5397..904db3acd 100644 --- a/.output/actual/f/il/other/thunderseethe/prog.il +++ b/.output/actual/f/il/other/thunderseethe/prog.il @@ -2,87 +2,91 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 3 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 5 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 300 ) ) ) diff --git a/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/detab.il b/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/detab.il index faa917cfa..b8588970b 100644 --- a/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/detab.il +++ b/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/detab.il @@ -9,52 +9,56 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) diff --git a/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il b/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il index 9dee5199b..5b6a5a88f 100644 --- a/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il +++ b/.output/actual/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il @@ -1,7 +1,7 @@ [ Comment " postfix while loops (##)! " , Inst ( IAL - ( SAL + ( SPure ( Cons 5 ) ) ) @@ -12,17 +12,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -32,13 +32,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 13 , Store @@ -49,17 +49,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -69,13 +69,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 13 , Store @@ -83,7 +83,7 @@ , While , Inst ( IAL - ( SAL + ( SPure ( Cons 5 ) ) ) @@ -94,17 +94,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -114,13 +114,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 13 , Store @@ -130,17 +130,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -150,13 +150,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 13 , Store diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il index 75a64d4ed..c0820a388 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il @@ -2,7 +2,7 @@ , Comment "checks brackets" , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -10,7 +10,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -18,7 +18,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -29,58 +29,62 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 40 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 0 , Store @@ -88,32 +92,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 41 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 0 , Store @@ -121,32 +127,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 91 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 1 , Store @@ -154,32 +162,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 93 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 1 , Store @@ -187,32 +197,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 123 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 2 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 2 , Store @@ -220,32 +232,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 125 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 2 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 2 , Store @@ -258,27 +272,29 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "is ok. @@ -293,27 +309,29 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "is ok. @@ -328,27 +346,29 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "is ok. diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/countwl.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/countwl.il index f7265a779..f646479fb 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/countwl.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/countwl.il @@ -2,7 +2,7 @@ , Comment "count lines and words " , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -10,7 +10,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -18,7 +18,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -29,64 +29,68 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 0 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -96,64 +100,70 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 3 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Ref 3 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Ref 3 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda @@ -161,32 +171,32 @@ , Fetch , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 1 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Ref 2 , Store @@ -196,12 +206,12 @@ , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -211,20 +221,20 @@ , Cond , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) ] , Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 0 , Store @@ -232,13 +242,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 1 , Store diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/crunch.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/crunch.il index abe09d2d2..5966a0080 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/crunch.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/crunch.il @@ -4,23 +4,25 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [] @@ -32,7 +34,7 @@ , Comment " a is char-read " , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) @@ -42,23 +44,23 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Comment "while a<>EOF" diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il index 4099af312..f89e16fa3 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il @@ -4,23 +4,25 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [] @@ -32,30 +34,30 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Comment "while a<>EOF" , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 169 ) ) ) @@ -63,17 +65,19 @@ , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Comment "if char!=escapecode" @@ -98,7 +102,7 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -106,11 +110,11 @@ , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Comment "while counter!=0" @@ -124,13 +128,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 2 , Store diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/depack.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/depack.il index 55b0ecb3b..c1a40dca3 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/depack.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/depack.il @@ -11,17 +11,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , While @@ -30,18 +30,20 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 35 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] \ No newline at end of file diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/readable.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/readable.il index d8a9bb4a3..5db6242e4 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/readable.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/readable.il @@ -4,7 +4,7 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -12,7 +12,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/remcom.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/remcom.il index 346ed263e..3a958bab2 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/remcom.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/remcom.il @@ -2,7 +2,7 @@ , Comment "removes comments like this..." , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -10,7 +10,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -18,7 +18,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -26,7 +26,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -37,38 +37,42 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 34 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 4 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 4 , Store @@ -78,21 +82,21 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] ] \ No newline at end of file diff --git a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/split.il b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/split.il index e1bcdb4a1..a40d76b62 100644 --- a/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/split.il +++ b/.output/actual/f/il/strlen/contrib/Eelko_de_Vos/split.il @@ -8,13 +8,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) ] , Lambda @@ -29,50 +29,52 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 102 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 98 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Comment " a has to be 'f' of 'b' followed by a space " diff --git a/.output/actual/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il b/.output/actual/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il index a808636d9..a73df665c 100644 --- a/.output/actual/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il +++ b/.output/actual/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il @@ -1,19 +1,19 @@ [ Comment "Fibonacci.f Prints the Fibonacci numbers " , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il b/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il index 810b65ada..34e380487 100644 --- a/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il +++ b/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il @@ -8,55 +8,61 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) @@ -64,277 +70,301 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 3 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 6 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 16 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Cond , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 16 , Store @@ -345,41 +375,47 @@ , Ref 1 , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) diff --git a/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il b/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il index e865510d5..c3f9c6705 100644 --- a/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il +++ b/.output/actual/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il @@ -8,85 +8,97 @@ [ Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) @@ -95,9 +107,9 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 5 , Store @@ -107,44 +119,52 @@ [ Str " " , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 23 , Fetch , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Ref 14 , Fetch , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) @@ -152,87 +172,95 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Str "O" , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda @@ -240,7 +268,7 @@ , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "." ] @@ -250,7 +278,7 @@ ] , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) @@ -259,68 +287,78 @@ , Exec , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL ( SIO OutputChar ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Str "7 8 9" , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 64 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec , Str "4 5 6" , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 8 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec , Str "1 2 3" , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec diff --git a/.output/actual/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il b/.output/actual/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il index d9f9097c2..5e05ab9dd 100644 --- a/.output/actual/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il +++ b/.output/actual/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il @@ -7,56 +7,60 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 255 ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Str " @@ -70,45 +74,49 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -117,106 +125,114 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 255 ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 1 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) ] , While @@ -224,29 +240,33 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst @@ -256,7 +276,7 @@ , Cond , Lambda [] , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL ( SIO OutputChar ) ) , Str " diff --git a/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il b/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il index 6b55c2a74..4ddecb6ef 100644 --- a/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il +++ b/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il @@ -13,56 +13,62 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Cond @@ -73,7 +79,7 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str "" ] , Ref 15 @@ -83,27 +89,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -116,56 +124,62 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Cond @@ -176,7 +190,7 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str "" , Ref 15 , Fetch @@ -192,7 +206,7 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str " " ] \ No newline at end of file diff --git a/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il b/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il index b3bba8b01..94f975ad3 100644 --- a/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il +++ b/.output/actual/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il @@ -10,27 +10,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] ] \ No newline at end of file diff --git a/.output/actual/f/il/strlen/contrib/Thomas_Fischbacher/life.il b/.output/actual/f/il/strlen/contrib/Thomas_Fischbacher/life.il index cee4dcc52..5fda508c8 100644 --- a/.output/actual/f/il/strlen/contrib/Thomas_Fischbacher/life.il +++ b/.output/actual/f/il/strlen/contrib/Thomas_Fischbacher/life.il @@ -11,7 +11,7 @@ , Ref 1 , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) @@ -21,29 +21,31 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] @@ -52,29 +54,31 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] @@ -83,57 +87,65 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 42 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL ( SIO InputChar ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Ref 6 , Fetch , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 25 , Store , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Ref 4 , Store @@ -142,39 +154,41 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 25 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] ] \ No newline at end of file diff --git a/.output/actual/f/il/strlen/contrib/self.il b/.output/actual/f/il/strlen/contrib/self.il index 38e29d94e..aca1f3eda 100644 --- a/.output/actual/f/il/strlen/contrib/self.il +++ b/.output/actual/f/il/strlen/contrib/self.il @@ -2,7 +2,7 @@ [ Str "'[,34,$!34,'],!" ] , Inst ( IAL - ( SAL + ( SPure ( Cons 91 ) ) ) @@ -10,7 +10,7 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 34 ) ) ) @@ -18,14 +18,16 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Exec , Inst ( IAL - ( SAL + ( SPure ( Cons 34 ) ) ) @@ -33,7 +35,7 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 93 ) ) ) diff --git a/.output/actual/f/il/strlen/examples/addcr.il b/.output/actual/f/il/strlen/examples/addcr.il index 14ccba9cf..bd23cbf82 100644 --- a/.output/actual/f/il/strlen/examples/addcr.il +++ b/.output/actual/f/il/strlen/examples/addcr.il @@ -6,50 +6,54 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 13 ) ) ) @@ -63,7 +67,7 @@ , While , Inst ( IAL - ( SAL + ( SPure ( Cons 26 ) ) ) diff --git a/.output/actual/f/il/strlen/examples/arg.il b/.output/actual/f/il/strlen/examples/arg.il index f86a47c1e..ef025707c 100644 --- a/.output/actual/f/il/strlen/examples/arg.il +++ b/.output/actual/f/il/strlen/examples/arg.il @@ -6,13 +6,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 3 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 0 , Store @@ -21,54 +21,58 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 0 , Store , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 255 ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 2 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda diff --git a/.output/actual/f/il/strlen/examples/argtest.il b/.output/actual/f/il/strlen/examples/argtest.il index 9a468f4cf..cbab2112a 100644 --- a/.output/actual/f/il/strlen/examples/argtest.il +++ b/.output/actual/f/il/strlen/examples/argtest.il @@ -3,22 +3,24 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda @@ -27,7 +29,7 @@ , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Ref 1 @@ -46,7 +48,7 @@ , Fetch , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL ( SIO OutputDec ) ) diff --git a/.output/actual/f/il/strlen/examples/lambda.il b/.output/actual/f/il/strlen/examples/lambda.il index bc35a0946..1cafadebb 100644 --- a/.output/actual/f/il/strlen/examples/lambda.il +++ b/.output/actual/f/il/strlen/examples/lambda.il @@ -3,19 +3,21 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 0 , Store , Comment " true " , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 1 , Store @@ -27,8 +29,10 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Exec @@ -41,20 +45,26 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec @@ -65,16 +75,20 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec @@ -85,8 +99,10 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 3 @@ -94,14 +110,18 @@ , Exec , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Exec @@ -112,21 +132,23 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Str "true" , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) @@ -138,13 +160,13 @@ , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Str "false" , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) diff --git a/.output/actual/f/il/strlen/examples/prime.il b/.output/actual/f/il/strlen/examples/prime.il index 013f2157d..5f031bd13 100644 --- a/.output/actual/f/il/strlen/examples/prime.il +++ b/.output/actual/f/il/strlen/examples/prime.il @@ -1,191 +1,227 @@ [ Comment " writes all prime numbers between 0 and 100 " , Inst ( IAL - ( SAL + ( SPure ( Cons 99 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL ( SIO OutputDec ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) @@ -193,8 +229,10 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] diff --git a/.output/actual/f/il/strlen/examples/strip.il b/.output/actual/f/il/strlen/examples/strip.il index bc898d2cb..0d19f1278 100644 --- a/.output/actual/f/il/strlen/examples/strip.il +++ b/.output/actual/f/il/strlen/examples/strip.il @@ -5,55 +5,61 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 13 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst @@ -61,7 +67,7 @@ ] , Cond , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , While ] \ No newline at end of file diff --git a/.output/actual/f/il/strlen/inline/copy.il b/.output/actual/f/il/strlen/inline/copy.il index 09fb5dbed..24b05c4f0 100644 --- a/.output/actual/f/il/strlen/inline/copy.il +++ b/.output/actual/f/il/strlen/inline/copy.il @@ -5,27 +5,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda diff --git a/.output/actual/f/il/strlen/inline/factorial.il b/.output/actual/f/il/strlen/inline/factorial.il index 2b42b9ef3..93ed4cb60 100644 --- a/.output/actual/f/il/strlen/inline/factorial.il +++ b/.output/actual/f/il/strlen/inline/factorial.il @@ -2,47 +2,51 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -57,29 +61,33 @@ , Flush , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/actual/f/il/strlen/inline/primeNumber.il b/.output/actual/f/il/strlen/inline/primeNumber.il index 683c8a5ad..7f826cebd 100644 --- a/.output/actual/f/il/strlen/inline/primeNumber.il +++ b/.output/actual/f/il/strlen/inline/primeNumber.il @@ -1,163 +1,191 @@ [ Comment " writes all prime numbers between 0 and 100 " , Inst ( IAL - ( SAL + ( SPure ( Cons 99 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL ( SIO OutputDec ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged index ef7f86290..cc3628ead 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged @@ -2,506 +2,546 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "01001100010011110100111101010000" ) + ( Mark + ( MArtificial "01001100010011110100111101010000" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "010011000100111101001111010100000011101000110001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "010011000100111101001111010100000011101000110001" ) + ) , ICF - ( CStatic "01001100010011110100111101010000" Jump ) + ( Labeled Jump + ( LArtificial "01001100010011110100111101010000" ) + ) , ICF - ( SMark "010011000100111101001111010100000011101000110001" ) + ( Mark + ( MArtificial "010011000100111101001111010100000011101000110001" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged index ee3cebcd4..48f9bfec3 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged @@ -2,31 +2,31 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -37,31 +37,31 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged index b4b748880..e4e419d2b 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged @@ -2,89 +2,105 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged index 9608f3d43..86141872e 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged @@ -2,85 +2,101 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged index 4039aab96..8361de9c8 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged @@ -2,339 +2,423 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( SMark "0111001101110100" ) + ( Mark + ( MArtificial "0111001101110100" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110001" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110001" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110001" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110001" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110010" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110010" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110011" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110011" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110011" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110010" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110010" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110100" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "011011100110111101100100011100100110000101110111" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011011100110111101100100011100100110000101110111" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "011011100110111101100100011100100110000101110111" ) + ( Mark + ( MArtificial "011011100110111101100100011100100110000101110111" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110100" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110100" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" index 2d817ef86..11a0a3c32 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "01101100011011110110111101110000" ) + ( Mark + ( MArtificial "01101100011011110110111101110000" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01110000011100100110111101100111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "01101100011011110110111101110000" Jump ) + ( Labeled Jump + ( LArtificial "01101100011011110110111101110000" ) + ) , ICF - ( SMark "01110000011100100110111101100111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/original/count.logged b/.output/actual/ws/eval/logged/stn/asciiOff/original/count.logged index b541f5f97..d421faaf0 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/original/count.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "01000011" ) + ( Mark + ( MArtificial "01000011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01000101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01000101" ) + ) , ICF - ( CStatic "01000011" Jump ) + ( Labeled Jump + ( LArtificial "01000011" ) + ) , ICF - ( SMark "01000101" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01000101" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" index 84c88ff70..d4c64fd20 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "01100110011000010110001101110100" ) + ( Mark + ( MArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0110011001100001011000110111010001100010011000010111001101100101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "0110011001100001011000110111010001100010011000010111001101100101" ) + ( Mark + ( MArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/original/hWorld.logged b/.output/actual/ws/eval/logged/stn/asciiOff/original/hWorld.logged index 454637fed..62cd16277 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/original/hWorld.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/original/hWorld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" index e94358cdc..d4ad84ab8 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , End , ICF - ( SMark "0110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "0110010101101110011001000110100001100001011011100110111101101001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "0110010101101110011001000110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOff/original/helloWorld.logged b/.output/actual/ws/eval/logged/stn/asciiOff/original/helloWorld.logged index 4705ee1a1..a1cd36c6c 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOff/original/helloWorld.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOff/original/helloWorld.logged @@ -2,62 +2,62 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" index bc816ab53..c807f9c34 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "01101100011011110110001101110100011001010111001101110100" Call ) + ( Labeled Call + ( LArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "01101100011011110110001101110100011001010111001101110100" ) + ( Mark + ( MArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" index 8d78eaf37..e6c4ddf5d 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "01110010011001010110000101100100" Call ) + ( Labeled Call + ( LArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" index a2e0c339d..b415410a3 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" @@ -2,30 +2,38 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0" ) + ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "1" Jump ) + ( Labeled Jump + ( LArtificial "1" ) + ) , ICF - ( SMark "0" ) + ( Mark + ( MArtificial "0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged index 40c69b9b1..e341d32f7 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged @@ -2,506 +2,546 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "LOOP" ) + ( Mark + ( MArtificial "LOOP" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "LOOP:1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "LOOP:1" ) + ) , ICF - ( CStatic "LOOP" Jump ) + ( Labeled Jump + ( LArtificial "LOOP" ) + ) , ICF - ( SMark "LOOP:1" ) + ( Mark + ( MArtificial "LOOP:1" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged index ee3cebcd4..48f9bfec3 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged @@ -2,31 +2,31 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -37,31 +37,31 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged index 5f5810628..08bd31b64 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged @@ -2,89 +2,105 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged index 130c40d79..23d1889db 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged @@ -2,85 +2,101 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged index e4cb4575d..32df691ee 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged @@ -2,339 +2,423 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( SMark "st" ) + ( Mark + ( MArtificial "st" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "f_start_1" ) + ( Mark + ( MArtificial "f_start_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_1" Jump ) + ( Labeled Jump + ( LArtificial "f_start_1" ) + ) , ICF - ( SMark "f_finished_1" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_1" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_2" ) + ( Mark + ( MArtificial "f_start_2" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_2" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_2" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_3" ) + ( Mark + ( MArtificial "f_start_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_3" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_3" Jump ) + ( Labeled Jump + ( LArtificial "f_start_3" ) + ) , ICF - ( SMark "f_finished_3" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_3" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_2" Jump ) + ( Labeled Jump + ( LArtificial "f_start_2" ) + ) , ICF - ( SMark "f_finished_2" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_2" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_4" ) + ( Mark + ( MArtificial "f_start_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_4" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "nodraw" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "nodraw" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , ICF - ( SMark "nodraw" ) + ( Mark + ( MArtificial "nodraw" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_4" Jump ) + ( Labeled Jump + ( LArtificial "f_start_4" ) + ) , ICF - ( SMark "f_finished_4" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_4" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" index dbeed2d63..6cbb2fff8 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/original/count.logged b/.output/actual/ws/eval/logged/stn/asciiOn/original/count.logged index 54d428a75..80d2cf08c 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/original/count.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" index 67a7b98cf..3724b13a9 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/original/hWorld.logged b/.output/actual/ws/eval/logged/stn/asciiOn/original/hWorld.logged index 6299446f2..183155c79 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/original/hWorld.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/original/hWorld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" index ff4778379..6005a7442 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/stn/asciiOn/original/helloWorld.logged b/.output/actual/ws/eval/logged/stn/asciiOn/original/helloWorld.logged index 4705ee1a1..a1cd36c6c 100644 --- a/.output/actual/ws/eval/logged/stn/asciiOn/original/helloWorld.logged +++ b/.output/actual/ws/eval/logged/stn/asciiOn/original/helloWorld.logged @@ -2,62 +2,62 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" index 0a6381434..92ad9b7f2 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" index 870c9798c..8ac0fea5e 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" "b/.output/actual/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" index 4f3eda6a5..300718081 100644 --- "a/.output/actual/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" +++ "b/.output/actual/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" @@ -2,30 +2,38 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "\x0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "\x0" ) + ) , ICF - ( SMark "\x1" ) + ( Mark + ( MArtificial "\x1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "\x1" Jump ) + ( Labeled Jump + ( LArtificial "\x1" ) + ) , ICF - ( SMark "\x0" ) + ( Mark + ( MArtificial "\x0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" index 2d817ef86..11a0a3c32 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "01101100011011110110111101110000" ) + ( Mark + ( MArtificial "01101100011011110110111101110000" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01110000011100100110111101100111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "01101100011011110110111101110000" Jump ) + ( Labeled Jump + ( LArtificial "01101100011011110110111101110000" ) + ) , ICF - ( SMark "01110000011100100110111101100111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/ws/asciiOff/original/count.logged b/.output/actual/ws/eval/logged/ws/asciiOff/original/count.logged index b541f5f97..d421faaf0 100644 --- a/.output/actual/ws/eval/logged/ws/asciiOff/original/count.logged +++ b/.output/actual/ws/eval/logged/ws/asciiOff/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "01000011" ) + ( Mark + ( MArtificial "01000011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01000101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01000101" ) + ) , ICF - ( CStatic "01000011" Jump ) + ( Labeled Jump + ( LArtificial "01000011" ) + ) , ICF - ( SMark "01000101" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01000101" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" index 84c88ff70..d4c64fd20 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "01100110011000010110001101110100" ) + ( Mark + ( MArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0110011001100001011000110111010001100010011000010111001101100101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "0110011001100001011000110111010001100010011000010111001101100101" ) + ( Mark + ( MArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" index e94358cdc..d4ad84ab8 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , End , ICF - ( SMark "0110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "0110010101101110011001000110100001100001011011100110111101101001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "0110010101101110011001000110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/ws/asciiOff/original/hworld.logged b/.output/actual/ws/eval/logged/ws/asciiOff/original/hworld.logged index 454637fed..62cd16277 100644 --- a/.output/actual/ws/eval/logged/ws/asciiOff/original/hworld.logged +++ b/.output/actual/ws/eval/logged/ws/asciiOff/original/hworld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" index bc816ab53..c807f9c34 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "01101100011011110110001101110100011001010111001101110100" Call ) + ( Labeled Call + ( LArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "01101100011011110110001101110100011001010111001101110100" ) + ( Mark + ( MArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" index 8d78eaf37..e6c4ddf5d 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "01110010011001010110000101100100" Call ) + ( Labeled Call + ( LArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" index dbeed2d63..6cbb2fff8 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/ws/asciiOn/original/count.logged b/.output/actual/ws/eval/logged/ws/asciiOn/original/count.logged index 54d428a75..80d2cf08c 100644 --- a/.output/actual/ws/eval/logged/ws/asciiOn/original/count.logged +++ b/.output/actual/ws/eval/logged/ws/asciiOn/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" index 67a7b98cf..3724b13a9 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" index ff4778379..6005a7442 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/eval/logged/ws/asciiOn/original/hworld.logged b/.output/actual/ws/eval/logged/ws/asciiOn/original/hworld.logged index 6299446f2..183155c79 100644 --- a/.output/actual/ws/eval/logged/ws/asciiOn/original/hworld.logged +++ b/.output/actual/ws/eval/logged/ws/asciiOn/original/hworld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" index 0a6381434..92ad9b7f2 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/actual/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" "b/.output/actual/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" index 870c9798c..8ac0fea5e 100644 --- "a/.output/actual/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" +++ "b/.output/actual/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/from-wsa/bottles.il b/.output/actual/ws/il/optimized/from-wsa/bottles.il index ba9a55c97..9cbf81b80 100644 --- a/.output/actual/ws/il/optimized/from-wsa/bottles.il +++ b/.output/actual/ws/il/optimized/from-wsa/bottles.il @@ -1,504 +1,544 @@ [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "LOOP" ) + ( Mark + ( MArtificial "LOOP" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "LOOP:1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "LOOP:1" ) + ) , ICF - ( CStatic "LOOP" Jump ) + ( Labeled Jump + ( LArtificial "LOOP" ) + ) , ICF - ( SMark "LOOP:1" ) + ( Mark + ( MArtificial "LOOP:1" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/from-wsa/hello.il b/.output/actual/ws/il/optimized/from-wsa/hello.il index 3899be8eb..d6ebfb03e 100644 --- a/.output/actual/ws/il/optimized/from-wsa/hello.il +++ b/.output/actual/ws/il/optimized/from-wsa/hello.il @@ -1,29 +1,29 @@ [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -34,31 +34,31 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/from-wsa/hello2.il b/.output/actual/ws/il/optimized/from-wsa/hello2.il index 88f1d1ddf..d98e121f2 100644 --- a/.output/actual/ws/il/optimized/from-wsa/hello2.il +++ b/.output/actual/ws/il/optimized/from-wsa/hello2.il @@ -1,87 +1,103 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/from-wsa/hello4.il b/.output/actual/ws/il/optimized/from-wsa/hello4.il index bd7b32f75..69bf91bba 100644 --- a/.output/actual/ws/il/optimized/from-wsa/hello4.il +++ b/.output/actual/ws/il/optimized/from-wsa/hello4.il @@ -1,83 +1,99 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/from-wsa/prim.il b/.output/actual/ws/il/optimized/from-wsa/prim.il index 3caf1a7c7..730749f61 100644 --- a/.output/actual/ws/il/optimized/from-wsa/prim.il +++ b/.output/actual/ws/il/optimized/from-wsa/prim.il @@ -1,337 +1,421 @@ [ ICF - ( SMark "st" ) + ( Mark + ( MArtificial "st" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "f_start_1" ) + ( Mark + ( MArtificial "f_start_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_1" Jump ) + ( Labeled Jump + ( LArtificial "f_start_1" ) + ) , ICF - ( SMark "f_finished_1" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_1" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_2" ) + ( Mark + ( MArtificial "f_start_2" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_2" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_2" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_3" ) + ( Mark + ( MArtificial "f_start_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_3" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_3" Jump ) + ( Labeled Jump + ( LArtificial "f_start_3" ) + ) , ICF - ( SMark "f_finished_3" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_3" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_2" Jump ) + ( Labeled Jump + ( LArtificial "f_start_2" ) + ) , ICF - ( SMark "f_finished_2" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_2" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_4" ) + ( Mark + ( MArtificial "f_start_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_4" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "nodraw" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "nodraw" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , ICF - ( SMark "nodraw" ) + ( Mark + ( MArtificial "nodraw" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_4" Jump ) + ( Labeled Jump + ( LArtificial "f_start_4" ) + ) , ICF - ( SMark "f_finished_4" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_4" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/calc.il b/.output/actual/ws/il/optimized/original/calc.il index aee7a6970..efc0fc485 100644 --- a/.output/actual/ws/il/optimized/original/calc.il +++ b/.output/actual/ws/il/optimized/original/calc.il @@ -1,680 +1,732 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/count.il b/.output/actual/ws/il/optimized/original/count.il index 18a05cd56..fbad311e4 100644 --- a/.output/actual/ws/il/optimized/original/count.il +++ b/.output/actual/ws/il/optimized/original/count.il @@ -1,131 +1,173 @@ [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) +, IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/fact.il b/.output/actual/ws/il/optimized/original/fact.il index c8ff04c51..b136631b2 100644 --- a/.output/actual/ws/il/optimized/original/fact.il +++ b/.output/actual/ws/il/optimized/original/fact.il @@ -1,355 +1,405 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/hWorld.il b/.output/actual/ws/il/optimized/original/hWorld.il index f86f1e306..65a60dd01 100644 --- a/.output/actual/ws/il/optimized/original/hWorld.il +++ b/.output/actual/ws/il/optimized/original/hWorld.il @@ -1,316 +1,350 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/hanoi.il b/.output/actual/ws/il/optimized/original/hanoi.il index dd0ea6ac0..a855b81fb 100644 --- a/.output/actual/ws/il/optimized/original/hanoi.il +++ b/.output/actual/ws/il/optimized/original/hanoi.il @@ -1,556 +1,628 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/helloWorld.il b/.output/actual/ws/il/optimized/original/helloWorld.il index f5831b140..a1823c1d8 100644 --- a/.output/actual/ws/il/optimized/original/helloWorld.il +++ b/.output/actual/ws/il/optimized/original/helloWorld.il @@ -1,60 +1,60 @@ [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/locTest.il b/.output/actual/ws/il/optimized/original/locTest.il index 4ae21f6fd..ed73dd5d8 100644 --- a/.output/actual/ws/il/optimized/original/locTest.il +++ b/.output/actual/ws/il/optimized/original/locTest.il @@ -1,297 +1,341 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/name.il b/.output/actual/ws/il/optimized/original/name.il index 369744f01..5172c96ad 100644 --- a/.output/actual/ws/il/optimized/original/name.il +++ b/.output/actual/ws/il/optimized/original/name.il @@ -1,406 +1,446 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/optimized/original/truthMachine.il b/.output/actual/ws/il/optimized/original/truthMachine.il index e8ceda6e0..fa8255be1 100644 --- a/.output/actual/ws/il/optimized/original/truthMachine.il +++ b/.output/actual/ws/il/optimized/original/truthMachine.il @@ -1,28 +1,36 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "\x0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "\x0" ) + ) , ICF - ( SMark "\x1" ) + ( Mark + ( MArtificial "\x1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "\x1" Jump ) + ( Labeled Jump + ( LArtificial "\x1" ) + ) , ICF - ( SMark "\x0" ) + ( Mark + ( MArtificial "\x0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git a/.output/actual/ws/il/parsed/from-wsa/bottles.il b/.output/actual/ws/il/parsed/from-wsa/bottles.il index ba9a55c97..9cbf81b80 100644 --- a/.output/actual/ws/il/parsed/from-wsa/bottles.il +++ b/.output/actual/ws/il/parsed/from-wsa/bottles.il @@ -1,504 +1,544 @@ [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "LOOP" ) + ( Mark + ( MArtificial "LOOP" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "LOOP:1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "LOOP:1" ) + ) , ICF - ( CStatic "LOOP" Jump ) + ( Labeled Jump + ( LArtificial "LOOP" ) + ) , ICF - ( SMark "LOOP:1" ) + ( Mark + ( MArtificial "LOOP:1" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/from-wsa/hello.il b/.output/actual/ws/il/parsed/from-wsa/hello.il index 3899be8eb..d6ebfb03e 100644 --- a/.output/actual/ws/il/parsed/from-wsa/hello.il +++ b/.output/actual/ws/il/parsed/from-wsa/hello.il @@ -1,29 +1,29 @@ [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -34,31 +34,31 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/from-wsa/hello2.il b/.output/actual/ws/il/parsed/from-wsa/hello2.il index 88f1d1ddf..d98e121f2 100644 --- a/.output/actual/ws/il/parsed/from-wsa/hello2.il +++ b/.output/actual/ws/il/parsed/from-wsa/hello2.il @@ -1,87 +1,103 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/from-wsa/hello4.il b/.output/actual/ws/il/parsed/from-wsa/hello4.il index bd7b32f75..69bf91bba 100644 --- a/.output/actual/ws/il/parsed/from-wsa/hello4.il +++ b/.output/actual/ws/il/parsed/from-wsa/hello4.il @@ -1,83 +1,99 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/from-wsa/prim.il b/.output/actual/ws/il/parsed/from-wsa/prim.il index 3caf1a7c7..730749f61 100644 --- a/.output/actual/ws/il/parsed/from-wsa/prim.il +++ b/.output/actual/ws/il/parsed/from-wsa/prim.il @@ -1,337 +1,421 @@ [ ICF - ( SMark "st" ) + ( Mark + ( MArtificial "st" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "f_start_1" ) + ( Mark + ( MArtificial "f_start_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_1" Jump ) + ( Labeled Jump + ( LArtificial "f_start_1" ) + ) , ICF - ( SMark "f_finished_1" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_1" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_2" ) + ( Mark + ( MArtificial "f_start_2" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_2" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_2" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_3" ) + ( Mark + ( MArtificial "f_start_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_3" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_3" Jump ) + ( Labeled Jump + ( LArtificial "f_start_3" ) + ) , ICF - ( SMark "f_finished_3" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_3" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_2" Jump ) + ( Labeled Jump + ( LArtificial "f_start_2" ) + ) , ICF - ( SMark "f_finished_2" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_2" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_4" ) + ( Mark + ( MArtificial "f_start_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_4" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "nodraw" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "nodraw" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , ICF - ( SMark "nodraw" ) + ( Mark + ( MArtificial "nodraw" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_4" Jump ) + ( Labeled Jump + ( LArtificial "f_start_4" ) + ) , ICF - ( SMark "f_finished_4" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_4" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/calc.il b/.output/actual/ws/il/parsed/original/calc.il index aee7a6970..efc0fc485 100644 --- a/.output/actual/ws/il/parsed/original/calc.il +++ b/.output/actual/ws/il/parsed/original/calc.il @@ -1,680 +1,732 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/count.il b/.output/actual/ws/il/parsed/original/count.il index 18a05cd56..fbad311e4 100644 --- a/.output/actual/ws/il/parsed/original/count.il +++ b/.output/actual/ws/il/parsed/original/count.il @@ -1,131 +1,173 @@ [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) +, IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/fact.il b/.output/actual/ws/il/parsed/original/fact.il index dc5f9ed89..456407ef5 100644 --- a/.output/actual/ws/il/parsed/original/fact.il +++ b/.output/actual/ws/il/parsed/original/fact.il @@ -1,360 +1,410 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/hWorld.il b/.output/actual/ws/il/parsed/original/hWorld.il index f86f1e306..65a60dd01 100644 --- a/.output/actual/ws/il/parsed/original/hWorld.il +++ b/.output/actual/ws/il/parsed/original/hWorld.il @@ -1,316 +1,350 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/hanoi.il b/.output/actual/ws/il/parsed/original/hanoi.il index dd0ea6ac0..a855b81fb 100644 --- a/.output/actual/ws/il/parsed/original/hanoi.il +++ b/.output/actual/ws/il/parsed/original/hanoi.il @@ -1,556 +1,628 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/helloWorld.il b/.output/actual/ws/il/parsed/original/helloWorld.il index f5831b140..a1823c1d8 100644 --- a/.output/actual/ws/il/parsed/original/helloWorld.il +++ b/.output/actual/ws/il/parsed/original/helloWorld.il @@ -1,60 +1,60 @@ [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/locTest.il b/.output/actual/ws/il/parsed/original/locTest.il index 4ae21f6fd..ed73dd5d8 100644 --- a/.output/actual/ws/il/parsed/original/locTest.il +++ b/.output/actual/ws/il/parsed/original/locTest.il @@ -1,297 +1,341 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/name.il b/.output/actual/ws/il/parsed/original/name.il index 369744f01..5172c96ad 100644 --- a/.output/actual/ws/il/parsed/original/name.il +++ b/.output/actual/ws/il/parsed/original/name.il @@ -1,406 +1,446 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/actual/ws/il/parsed/original/truthMachine.il b/.output/actual/ws/il/parsed/original/truthMachine.il index 236fff896..58f623f86 100644 --- a/.output/actual/ws/il/parsed/original/truthMachine.il +++ b/.output/actual/ws/il/parsed/original/truthMachine.il @@ -1,28 +1,38 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "\x0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "\x0" ) + ) , ICF - ( SMark "\x1" ) + ( Mark + ( MArtificial "\x1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "\x1" Jump ) + ( Labeled Jump + ( LArtificial "\x1" ) + ) , ICF - ( SMark "\x0" ) + ( Mark + ( MArtificial "\x0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/bottles.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/bottles.logged index a40bb326a..7b8165328 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/bottles.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/bottles.logged @@ -2,141 +2,139 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 31 ) + , ICF + ( Labeled Jump + ( LImmediate 31 ) ) - , Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 11 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 13 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 18 ) ) - , Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -144,556 +142,548 @@ dump: Memory ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 16 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 17 ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL - ( SAL - ( Cons 11 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer , ICF - ( DMark 18 ) - , IAL - ( SAL - ( Cons 19 ) + ( Labeled Jump + ( LImmediate 11 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 18 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 19 ) ) - , Transfer , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 19 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 22 ) - , IAL - ( SAL - ( Cons 23 ) + ( Mark + ( MNatural 22 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 23 ) ) - , IAL - ( SAL - ( Cons 8 ) + , ICF + ( Labeled Jump + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 25 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 21 ) + , ICF + ( Labeled Jump + ( LImmediate 21 ) ) - , Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 29 ) - , IAL - ( SAL - ( Cons 30 ) + ( Mark + ( MNatural 29 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 30 ) ) - , Transfer , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( DMark 32 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 32 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 33 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 34 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 35 ) ) - , IAL - ( SAL - ( Cons 21 ) + , ICF + ( Labeled Jump + ( LImmediate 21 ) ) - , Transfer , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 37 ) - , IAL - ( SAL - ( Cons 38 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 38 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 39 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 40 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 40 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 41 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 32 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 42 ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 43 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 232 + , programCounter = 175 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/divmod.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/divmod.logged index 08d7bd5b8..59458e1ef 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/divmod.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/divmod.logged @@ -2,22 +2,32 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 6 + , programCounter = 7 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" index bdfe9a478..041d795f8 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact0\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" index 9d2a670b8..9ca8b2fd7 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact1\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" index 06019efb2..9be98ae96 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact2\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" index b2995434d..dbccf8304 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact3\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" index 9cc70c121..5226ca98d 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact4\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" index 3773a24e0..8ed534730 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact5\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" index d24dd431f..a28ea7650 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact6\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" index 1cfa310f9..7db87e396 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact7\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" index d18a648c0..18745bd78 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact8\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" index e835f10f2..af25ac312 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/fact9\n.logged" @@ -2,441 +2,445 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 44 ) + , ICF + ( Labeled Jump + ( LImmediate 44 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) + , ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 36 ) - , IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) - , Transfer , ICF - ( DMark 37 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -444,252 +448,283 @@ dump: Memory ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 41 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) - , IAL - ( SAL - ( Cons 35 ) + , ICF + ( Labeled Jump + ( LImmediate 35 ) ) - , Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Mark + ( MNatural 43 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 49 ) - , IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) - , Transfer , ICF - ( DMark 50 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 57 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) - , IAL - ( SAL - ( Cons 48 ) + , ICF + ( Labeled Jump + ( LImmediate 48 ) ) - , Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 62 ) - , IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) - , Transfer , ICF - ( DMark 63 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 63 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) - , IAL - ( SAL - ( Cons 60 ) + , ICF + ( Labeled Jump + ( LImmediate 60 ) ) - , Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 136 + , programCounter = 181 , returnStack = IS [] } , memoryStack = fromList diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello.logged index d174229ba..326188558 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello.logged @@ -2,39 +2,45 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -43,39 +49,45 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -84,10 +96,16 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 36 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello2.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello2.logged index bd0d5cdb1..26bb6dbb5 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello2.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello2.logged @@ -2,147 +2,148 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 7 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello3.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello3.logged index bd0d5cdb1..26bb6dbb5 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello3.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello3.logged @@ -2,147 +2,148 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 7 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello4.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello4.logged index bd0d5cdb1..26bb6dbb5 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/hello4.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/hello4.logged @@ -2,147 +2,148 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 7 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/readcharA.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/readcharA.logged index 00863b7dd..8b289fdf0 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/readcharA.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/readcharA.logged @@ -2,13 +2,21 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 4 + , programCounter = 5 , returnStack = IS [] } , memoryStack = fromList [ 65 ] diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" index 6a2e0c9d9..7baaa6b3a 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum0\n.logged" @@ -1,353 +1,3 @@ -dump: Memory - { memoryCM = CM - { program = - [ ICF - ( DMark 1 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 5 ) - ) - , Transfer - , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 16 ) - ) - , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL - ( Cons 9 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer - , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 10 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 11 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 14 ) - ) - , Transfer - , ICF - ( DMark 13 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 14 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 16 ) - ) - , Transfer - , ICF - ( DMark 15 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons - ( -1 ) - ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 6 ) - ) - , Transfer - , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 18 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , ICF - ( DMark 21 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 22 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 23 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 24 ) - , IAL - ( SAL - ( Cons 26 ) - ) - , Transfer - , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 33 ) - ) - , Transfer - , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 27 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons - ( -3 ) - ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 29 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 32 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) - ) - , Transfer - , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 35 ) - , End - ] - , programCounter = 79 - , returnStack = IS [] - } - , memoryStack = fromList [ 496 ] - , memoryRAM = [] - } + [Undefined label 48] +CPM.immediateInstruction +CPM.topInstruction diff --git "a/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" index b1e21e3d2..c00b305f7 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/from-eas/readnum1\n.logged" @@ -1,353 +1,3 @@ -dump: Memory - { memoryCM = CM - { program = - [ ICF - ( DMark 1 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 5 ) - ) - , Transfer - , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) - ) - , Transfer - , ICF - ( DMark 5 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 6 ) - , IAL - ( SAL - ( Cons 16 ) - ) - , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL - ( Cons 9 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer - , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 10 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 11 ) - , IAL ( SIO InputChar ) - , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 32 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 14 ) - ) - , Transfer - , ICF - ( DMark 13 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 14 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 10 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 16 ) - ) - , Transfer - , ICF - ( DMark 15 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 17 ) - ) - , Transfer - , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons - ( -1 ) - ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 6 ) - ) - , Transfer - , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 18 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , ICF - ( DMark 21 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 22 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 23 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 24 ) - , IAL - ( SAL - ( Cons 26 ) - ) - , Transfer - , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 33 ) - ) - , Transfer - , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 27 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 0 ) - ) - , IAL - ( SAL - ( Cons - ( -3 ) - ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 29 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL ( Binary Sub ) ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 32 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) - ) - , Transfer - , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 2 ) - ) - , IAL ( SAL Halibut ) - , Transfer - , ICF - ( DMark 35 ) - , End - ] - , programCounter = 79 - , returnStack = IS [] - } - , memoryStack = fromList [ 506 ] - , memoryRAM = [] - } + [Undefined label 49] +CPM.immediateInstruction +CPM.topInstruction diff --git a/.output/golden/eta/eval/logged/Fast/False/from-eas/true.logged b/.output/golden/eta/eval/logged/Fast/False/from-eas/true.logged index d3f18cf2d..99e027539 100644 --- a/.output/golden/eta/eval/logged/Fast/False/from-eas/true.logged +++ b/.output/golden/eta/eval/logged/Fast/False/from-eas/true.logged @@ -2,10 +2,16 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 2 + , programCounter = 3 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/original/bottles.logged b/.output/golden/eta/eval/logged/Fast/False/original/bottles.logged index 7b78e5e28..6f271cdca 100644 --- a/.output/golden/eta/eval/logged/Fast/False/original/bottles.logged +++ b/.output/golden/eta/eval/logged/Fast/False/original/bottles.logged @@ -2,25 +2,22 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 141 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -28,57 +25,59 @@ dump: Memory ) ) , ICF - ( SMark "1" ) - , Transfer + ( Mark + ( MArtificial "1" ) + ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) - , Transfer - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 2 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL - ( SAL - ( Cons 3 ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -86,11 +85,13 @@ dump: Memory ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -98,21 +99,17 @@ dump: Memory ) ) , IAL ( SIO InputChar ) - , Transfer - , IAL - ( SAL ( Binary Sub ) ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 3 ) - ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL - ( Cons 3 ) + ( SPure ( Binary Sub ) ) + , IAL ( SPure Halibut ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -121,31 +118,30 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 3 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -153,135 +149,134 @@ dump: Memory ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) + ( LImmediate 11 ) + ) + , ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 13 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 18 ) ) - , Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -289,369 +284,335 @@ dump: Memory ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 17 ) ) - , IAL - ( SAL - ( Cons 11 ) + , ICF + ( Labeled Jump + ( LImmediate 11 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 18 ) ) - , IAL - ( SAL - ( Cons 11 ) - ) - , IAL - ( SAL - ( Cons 13128755 ) + , ICF + ( Labeled Jump + ( LImmediate 13128755 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 19 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 20 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 21 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 21 ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 8 ) + , ICF + ( Labeled Jump + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) + , ICF + ( Labeled Jump + ( LImmediate 23 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 24 ) + , ICF + ( Labeled Jump + ( LImmediate 24 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 25 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 29 ) + , ICF + ( Labeled Jump + ( LImmediate 29 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 31 ) + ( Labeled Jump + ( LArtificial "30" ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 31 ) ) - , Transfer , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 31 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -659,16 +620,17 @@ dump: Memory ) ) , ICF - ( SMark "31" ) - , IAL - ( SAL ( Binary Sub ) ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL - ( Cons 32 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -677,11 +639,11 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -690,289 +652,311 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 34 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 34 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 35 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 36 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 36 ) ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 43 ) + ( Mark + ( MNatural 42 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 44 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 45 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 45 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 46 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 48 ) + ( Mark + ( MNatural 47 ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 48 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 329 + , programCounter = 254 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/original/crlf.logged b/.output/golden/eta/eval/logged/Fast/False/original/crlf.logged index 27112c718..b1aecee70 100644 --- a/.output/golden/eta/eval/logged/Fast/False/original/crlf.logged +++ b/.output/golden/eta/eval/logged/Fast/False/original/crlf.logged @@ -2,36 +2,35 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 3 ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -39,61 +38,55 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 75 ) ) , IAL - ( SAL + ( SPure ( Cons 79 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -101,20 +94,21 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 28 + , programCounter = 37 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact1\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact1\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact1\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact1\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact2\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact2\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact2\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact2\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact3\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact3\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact3\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact3\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact4\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact4\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact4\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact4\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact5\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact5\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact5\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact5\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact6\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact6\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact6\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact6\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact7\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact7\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact7\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact7\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/False/original/fact8\n.logged" "b/.output/golden/eta/eval/logged/Fast/False/original/fact8\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/False/original/fact8\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/False/original/fact8\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/original/hello.logged b/.output/golden/eta/eval/logged/Fast/False/original/hello.logged index 3d6152bb8..93f69c654 100644 --- a/.output/golden/eta/eval/logged/Fast/False/original/hello.logged +++ b/.output/golden/eta/eval/logged/Fast/False/original/hello.logged @@ -2,19 +2,16 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 21 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer - , IAL ( SAL Halibut ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -22,69 +19,84 @@ dump: Memory ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) - , Transfer - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( CStatic "5" Jump ) + ( Labeled Jump + ( LArtificial "5" ) + ) , ICF - ( DMark 5 ) - , Transfer + ( Mark + ( MNatural 5 ) + ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -92,29 +104,37 @@ dump: Memory ) ) , ICF - ( SMark "5" ) + ( Mark + ( MArtificial "5" ) + ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -123,41 +143,49 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -166,10 +194,16 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 65 + , programCounter = 63 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/False/original/hello2.logged b/.output/golden/eta/eval/logged/Fast/False/original/hello2.logged index fe6f3f9de..38c6568e4 100644 --- a/.output/golden/eta/eval/logged/Fast/False/original/hello2.logged +++ b/.output/golden/eta/eval/logged/Fast/False/original/hello2.logged @@ -2,110 +2,102 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 4 ) - ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 4 ) ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Mark + ( MNatural 3 ) ) - , Transfer - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , IAL - ( SAL - ( Cons 22 ) + , ICF + ( Labeled Jump + ( LImmediate 22 ) ) - , Transfer , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -113,82 +105,84 @@ dump: Memory ) ) , ICF - ( SMark "3" ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MArtificial "3" ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 337 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 4 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 6 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 11 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 6 ) - , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 5 ) ) , IAL - ( SAL - ( Cons 4 ) + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 6 ) + ) + , IAL ( SIO OutputChar ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "7" Jump ) + ( Labeled Jump + ( LArtificial "7" ) + ) + , ICF + ( Mark + ( MNatural 7 ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 25 + , programCounter = 52 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/eval/logged/Fast/True/original/bottles.logged b/.output/golden/eta/eval/logged/Fast/True/original/bottles.logged index 7b78e5e28..6f271cdca 100644 --- a/.output/golden/eta/eval/logged/Fast/True/original/bottles.logged +++ b/.output/golden/eta/eval/logged/Fast/True/original/bottles.logged @@ -2,25 +2,22 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 141 ) + ( Mark + ( MNatural 1 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -28,57 +25,59 @@ dump: Memory ) ) , ICF - ( SMark "1" ) - , Transfer + ( Mark + ( MArtificial "1" ) + ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) - , Transfer - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 2 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL - ( SAL - ( Cons 3 ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -86,11 +85,13 @@ dump: Memory ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -98,21 +99,17 @@ dump: Memory ) ) , IAL ( SIO InputChar ) - , Transfer - , IAL - ( SAL ( Binary Sub ) ) - , IAL ( SAL Halibut ) - , IAL - ( SAL - ( Cons 3 ) - ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL - ( Cons 3 ) + ( SPure ( Binary Sub ) ) + , IAL ( SPure Halibut ) + , ICF + ( Labeled Jump + ( LImmediate 3 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -121,31 +118,30 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 3 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL - ( SAL - ( Cons 4 ) + , ICF + ( Labeled Jump + ( LImmediate 4 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -153,135 +149,134 @@ dump: Memory ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) - , Transfer + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) - , IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) - , Transfer , ICF - ( DMark 5 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 5 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 9 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) + ( LImmediate 11 ) + ) + , ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) - , Transfer - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , ICF ( Labeled Jump LTop ) + , ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 13 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 18 ) ) - , Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -289,369 +284,335 @@ dump: Memory ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 17 ) ) - , IAL - ( SAL - ( Cons 11 ) + , ICF + ( Labeled Jump + ( LImmediate 11 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 18 ) ) - , IAL - ( SAL - ( Cons 11 ) - ) - , IAL - ( SAL - ( Cons 13128755 ) + , ICF + ( Labeled Jump + ( LImmediate 13128755 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 19 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 19 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 20 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 20 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 21 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 21 ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 8 ) + , ICF + ( Labeled Jump + ( LImmediate 8 ) ) - , Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 23 ) + , ICF + ( Labeled Jump + ( LImmediate 23 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 24 ) + , ICF + ( Labeled Jump + ( LImmediate 24 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Mark + ( MNatural 25 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) - , IAL ( SAL Halibut ) - , ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 29 ) + , ICF + ( Labeled Jump + ( LImmediate 29 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) - , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 31 ) + ( Labeled Jump + ( LArtificial "30" ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 31 ) ) - , Transfer , ICF - ( DMark 31 ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 31 ) ) - , IAL ( SAL Halibut ) - , Transfer + , ICF ( Labeled Jump LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -659,16 +620,17 @@ dump: Memory ) ) , ICF - ( SMark "31" ) - , IAL - ( SAL ( Binary Sub ) ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL - ( Cons 32 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) - , Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -677,11 +639,11 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -690,289 +652,311 @@ dump: Memory ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 34 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 34 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 35 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 36 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 36 ) ) - , IAL - ( SAL - ( Cons 20 ) + , ICF + ( Labeled Jump + ( LImmediate 20 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 43 ) + ( Mark + ( MNatural 42 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 43 ) ) - , IAL - ( SAL - ( Cons 2 ) + , ICF + ( Labeled Jump + ( LImmediate 2 ) ) - , Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 44 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 45 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 45 ) ) - , IAL - ( SAL - ( Cons 26 ) + , ICF + ( Labeled Jump + ( LImmediate 26 ) ) - , Transfer , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 46 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , Transfer , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 48 ) + ( Mark + ( MNatural 47 ) + ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) + , ICF + ( Mark + ( MNatural 48 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 329 + , programCounter = 254 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact1\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact1\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact1\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact1\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact2\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact2\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact2\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact2\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact3\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact3\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact3\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact3\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact4\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact4\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact4\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact4\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact5\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact5\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact5\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact5\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact6\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact6\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact6\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact6\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact7\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact7\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact7\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact7\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git "a/.output/golden/eta/eval/logged/Fast/True/original/fact8\n.logged" "b/.output/golden/eta/eval/logged/Fast/True/original/fact8\n.logged" index 7fbe48d6d..11c93e5ef 100644 --- "a/.output/golden/eta/eval/logged/Fast/True/original/fact8\n.logged" +++ "b/.output/golden/eta/eval/logged/Fast/True/original/fact8\n.logged" @@ -2,251 +2,250 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( DMark 1 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled Jump + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 2 ) - , IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 3 ) - , IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) - , IAL - ( SAL - ( Cons 32 ) + , ICF + ( Labeled Jump + ( LImmediate 32 ) ) - , Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 0 ) + , ICF + ( Labeled Jump + ( LImmediate 0 ) ) - , Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) - , Transfer , ICF - ( DMark 8 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) - , IAL - ( SAL - ( Cons 13 ) + , ICF + ( Labeled Jump + ( LImmediate 13 ) ) - , Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) - , IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) - , IAL - ( SAL - ( Cons 5 ) + , ICF + ( Labeled Jump + ( LImmediate 5 ) ) - , Transfer , ICF - ( DMark 12 ) - , IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) - , IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) - , Transfer , ICF - ( DMark 17 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 17 ) ) - , Transfer - , IAL - ( SAL - ( Cons 14 ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) - , Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) - , IAL - ( SAL - ( Cons 1 ) - ) - , IAL - ( SAL - ( Cons 42 ) + , ICF + ( Labeled Jump + ( LImmediate 42 ) ) - , Transfer , IAL - ( SAL ( Binary Sub ) ) - , Transfer - , IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) LTop ) + , IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -254,24 +253,28 @@ dump: Memory ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) - , Transfer + , ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -279,173 +282,183 @@ dump: Memory ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) - , Transfer , ICF - ( DMark 26 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) - , Transfer , ICF - ( DMark 28 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) - , IAL - ( SAL - ( Cons 30 ) + , ICF + ( Labeled Jump + ( LImmediate 30 ) ) - , Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 19 ) - ) - , Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) - , IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 30 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 34 ) - , IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) - , Transfer , ICF - ( DMark 35 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) + , ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) + , ICF + ( Labeled Jump + ( LImmediate 40 ) ) - , Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -453,252 +466,283 @@ dump: Memory ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 39 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) - , IAL - ( SAL - ( Cons 33 ) + , ICF + ( Labeled Jump + ( LImmediate 33 ) ) - , Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Mark + ( MNatural 41 ) ) - , Transfer + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 42 ) - , IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) - , IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 46 ) - , IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 47 ) - , IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) - , Transfer , ICF - ( DMark 48 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) - , IAL - ( SAL - ( Cons 56 ) + , ICF + ( Labeled Jump + ( LImmediate 56 ) ) - , Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 55 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) - , IAL - ( SAL - ( Cons 46 ) + , ICF + ( Labeled Jump + ( LImmediate 46 ) ) - , Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) - , IAL ( SAL Halibut ) - , Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) + , ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) - , IAL ( SAL Halibut ) , ICF - ( DMark 60 ) - , IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) - , Transfer , ICF - ( DMark 61 ) - , IAL - ( SAL ( Binary Sub ) ) - , IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) - , IAL - ( SAL - ( Cons 1 ) + , ICF + ( Mark + ( MNatural 61 ) ) - , IAL ( SAL Halibut ) - , Transfer + , IAL + ( SPure ( Binary Sub ) ) + , ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) - , IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) - , IAL - ( SAL - ( Cons 58 ) + , ICF + ( Labeled Jump + ( LImmediate 58 ) ) - , Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) + , ICF + ( Mark + ( MNatural 0 ) + ) , End ] - , programCounter = 21 + , programCounter = 185 , returnStack = IS [] } , memoryStack = fromList [] diff --git a/.output/golden/eta/il/optimized/from-eas/bottles.il b/.output/golden/eta/il/optimized/from-eas/bottles.il index dcb193fd0..f71c9c68f 100644 --- a/.output/golden/eta/il/optimized/from-eas/bottles.il +++ b/.output/golden/eta/il/optimized/from-eas/bottles.il @@ -1,139 +1,137 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 31 ) +, ICF + ( Labeled Jump + ( LImmediate 31 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 11 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 13 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -141,552 +139,544 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 16 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 17 ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL - ( SAL - ( Cons 11 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, Transfer , ICF - ( DMark 18 ) -, IAL - ( SAL - ( Cons 19 ) + ( Labeled Jump + ( LImmediate 11 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 18 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 19 ) ) -, Transfer , ICF - ( DMark 19 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 19 ) ) -, IAL ( SAL Halibut ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 22 ) -, IAL - ( SAL - ( Cons 23 ) + ( Mark + ( MNatural 22 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 23 ) ) -, IAL - ( SAL - ( Cons 8 ) +, ICF + ( Labeled Jump + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Mark + ( MNatural 25 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 21 ) +, ICF + ( Labeled Jump + ( LImmediate 21 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 29 ) -, IAL - ( SAL - ( Cons 30 ) + ( Mark + ( MNatural 29 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 30 ) ) -, Transfer , ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) -, IAL ( SAL Halibut ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( DMark 32 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 32 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 33 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 34 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 34 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 35 ) ) -, IAL - ( SAL - ( Cons 21 ) +, ICF + ( Labeled Jump + ( LImmediate 21 ) ) -, Transfer , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 37 ) -, IAL - ( SAL - ( Cons 38 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 38 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 39 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 39 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 40 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 40 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 41 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 41 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 32 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 42 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 42 ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 43 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/euclid.il b/.output/golden/eta/il/optimized/from-eas/euclid.il index 67cf4bfd2..111c3e0bc 100644 --- a/.output/golden/eta/il/optimized/from-eas/euclid.il +++ b/.output/golden/eta/il/optimized/from-eas/euclid.il @@ -1,53 +1,61 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 5 ) + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 10 ) +, ICF + ( Mark + ( MNatural 4 ) + ) +, ICF + ( Labeled Jump + ( LImmediate 10 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons - ( -1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 1 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -55,59 +63,78 @@ ) ) , ICF - ( SMark "6" ) + ( Mark + ( MArtificial "6" ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 10 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 10 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 12 ) -, Transfer + ( Mark + ( MNatural 12 ) + ) , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/fact.il b/.output/golden/eta/il/optimized/from-eas/fact.il index 7e5822f11..dcf98e678 100644 --- a/.output/golden/eta/il/optimized/from-eas/fact.il +++ b/.output/golden/eta/il/optimized/from-eas/fact.il @@ -1,439 +1,443 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled Jump + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) -, IAL - ( SAL - ( Cons 32 ) +, ICF + ( Labeled Jump + ( LImmediate 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) -, Transfer , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) -, IAL - ( SAL - ( Cons 44 ) +, ICF + ( Labeled Jump + ( LImmediate 44 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) -, IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) -, Transfer , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, Transfer -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 44 ) +, ICF + ( Labeled Jump + ( LImmediate 44 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) -, Transfer , ICF - ( DMark 28 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 19 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 33 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 35 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) + ( LImmediate 35 ) + ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 35 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 36 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 36 ) -, IAL - ( SAL - ( Cons 38 ) + ( Labeled ( Branch NE ) + ( LImmediate 38 ) ) -, Transfer , ICF - ( DMark 37 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 37 ) ) , IAL - ( SAL - ( Cons 42 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 42 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -441,248 +445,279 @@ ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 41 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 41 ) ) -, IAL - ( SAL - ( Cons 35 ) +, ICF + ( Labeled Jump + ( LImmediate 35 ) ) -, Transfer , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 60 ) ) -, IAL - ( SAL - ( Cons 60 ) +, ICF + ( Mark + ( MNatural 43 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 44 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 45 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 48 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 49 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 49 ) -, IAL - ( SAL - ( Cons 51 ) + ( Labeled ( Branch NE ) + ( LImmediate 51 ) ) -, Transfer , ICF - ( DMark 50 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 50 ) ) -, IAL - ( SAL - ( Cons 58 ) +, ICF + ( Labeled Jump + ( LImmediate 58 ) ) -, Transfer , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 57 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 57 ) ) -, IAL - ( SAL - ( Cons 48 ) +, ICF + ( Labeled Jump + ( LImmediate 48 ) ) -, Transfer , ICF - ( DMark 58 ) + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 59 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 62 ) -, IAL - ( SAL - ( Cons 64 ) + ( Mark + ( MNatural 62 ) ) -, Transfer , ICF - ( DMark 63 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 64 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 63 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 65 ) ) -, IAL - ( SAL - ( Cons 60 ) +, ICF + ( Labeled Jump + ( LImmediate 60 ) ) -, Transfer , ICF - ( DMark 66 ) + ( Mark + ( MNatural 66 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/function.il b/.output/golden/eta/il/optimized/from-eas/function.il index a8e326dbe..06a8f152c 100644 --- a/.output/golden/eta/il/optimized/from-eas/function.il +++ b/.output/golden/eta/il/optimized/from-eas/function.il @@ -1,55 +1,84 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) + ) +, ICF + ( Mark + ( MNatural 9 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, Transfer + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/hello.il b/.output/golden/eta/il/optimized/from-eas/hello.il index bb2fc89e7..20a3aec39 100644 --- a/.output/golden/eta/il/optimized/from-eas/hello.il +++ b/.output/golden/eta/il/optimized/from-eas/hello.il @@ -1,37 +1,43 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -40,39 +46,45 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -81,6 +93,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/hello2.il b/.output/golden/eta/il/optimized/from-eas/hello2.il index 527ee5bcd..7c9d35984 100644 --- a/.output/golden/eta/il/optimized/from-eas/hello2.il +++ b/.output/golden/eta/il/optimized/from-eas/hello2.il @@ -1,141 +1,142 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/hello3.il b/.output/golden/eta/il/optimized/from-eas/hello3.il index 527ee5bcd..7c9d35984 100644 --- a/.output/golden/eta/il/optimized/from-eas/hello3.il +++ b/.output/golden/eta/il/optimized/from-eas/hello3.il @@ -1,141 +1,142 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/hello4.il b/.output/golden/eta/il/optimized/from-eas/hello4.il index 527ee5bcd..7c9d35984 100644 --- a/.output/golden/eta/il/optimized/from-eas/hello4.il +++ b/.output/golden/eta/il/optimized/from-eas/hello4.il @@ -1,141 +1,142 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 6 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 9 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/multiply.il b/.output/golden/eta/il/optimized/from-eas/multiply.il index 084fb5643..6f873408c 100644 --- a/.output/golden/eta/il/optimized/from-eas/multiply.il +++ b/.output/golden/eta/il/optimized/from-eas/multiply.il @@ -1,140 +1,178 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 8 ) + ( Mark + ( MNatural 6 ) ) -, Transfer , ICF - ( DMark 7 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 8 ) ) -, IAL - ( SAL - ( Cons 15 ) +, ICF + ( Mark + ( MNatural 7 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled Jump + ( LImmediate 15 ) + ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 14 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 14 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 16 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 17 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 17 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/pip.il b/.output/golden/eta/il/optimized/from-eas/pip.il index 0c137c9fb..4411ce474 100644 --- a/.output/golden/eta/il/optimized/from-eas/pip.il +++ b/.output/golden/eta/il/optimized/from-eas/pip.il @@ -1,68 +1,71 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) + ) +, ICF + ( Mark + ( MNatural 9 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/pip2.il b/.output/golden/eta/il/optimized/from-eas/pip2.il index ad7cdb019..50bc5b9d6 100644 --- a/.output/golden/eta/il/optimized/from-eas/pip2.il +++ b/.output/golden/eta/il/optimized/from-eas/pip2.il @@ -1,56 +1,47 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 2 ) - ) -, Transfer -, IAL - ( SAL - ( Cons 0 ) - ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 0 ) +, IAL ( SPure Discard ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/readnum.il b/.output/golden/eta/il/optimized/from-eas/readnum.il index 233404150..5e17cdcaa 100644 --- a/.output/golden/eta/il/optimized/from-eas/readnum.il +++ b/.output/golden/eta/il/optimized/from-eas/readnum.il @@ -1,344 +1,389 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 5 ) + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 4 ) ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 1 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 9 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 19 ) +, ICF + ( Labeled Jump + ( LImmediate 19 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 14 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 13 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) -, IAL - ( SAL - ( Cons 17 ) +, ICF + ( Labeled Jump + ( LImmediate 17 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 16 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 16 ) ) -, Transfer , ICF - ( DMark 15 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 15 ) ) -, IAL - ( SAL - ( Cons 17 ) +, ICF + ( Labeled Jump + ( LImmediate 17 ) ) -, Transfer , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 6 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 24 ) -, IAL - ( SAL - ( Cons 26 ) + ( Mark + ( MNatural 24 ) ) -, Transfer , ICF - ( DMark 25 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 26 ) ) -, IAL - ( SAL - ( Cons 33 ) +, ICF + ( Mark + ( MNatural 25 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled Jump + ( LImmediate 33 ) + ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 32 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 32 ) ) -, IAL - ( SAL - ( Cons 23 ) +, ICF + ( Labeled Jump + ( LImmediate 23 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 35 ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 35 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/reverse.il b/.output/golden/eta/il/optimized/from-eas/reverse.il index 92103d1f3..6e0610c88 100644 --- a/.output/golden/eta/il/optimized/from-eas/reverse.il +++ b/.output/golden/eta/il/optimized/from-eas/reverse.il @@ -1,100 +1,92 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 2 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 4 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 7 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 0 ) - ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, IAL ( SAL Halibut ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 0 ) +, IAL ( SPure Discard ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Mark + ( MNatural 8 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/true.il b/.output/golden/eta/il/optimized/from-eas/true.il index 2e0854629..758d72ec4 100644 --- a/.output/golden/eta/il/optimized/from-eas/true.il +++ b/.output/golden/eta/il/optimized/from-eas/true.il @@ -1,4 +1,10 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/writenum.il b/.output/golden/eta/il/optimized/from-eas/writenum.il index 64fa1dbdc..4f7c42b6f 100644 --- a/.output/golden/eta/il/optimized/from-eas/writenum.il +++ b/.output/golden/eta/il/optimized/from-eas/writenum.il @@ -1,79 +1,81 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 2 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 4 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 4 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 7 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, Transfer , ICF - ( DMark 6 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) , IAL - ( SAL - ( Cons 11 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 11 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -81,112 +83,111 @@ ) ) , ICF - ( SMark "7" ) + ( Mark + ( MArtificial "7" ) + ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 10 ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Mark + ( MNatural 12 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 14 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 15 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 15 ) -, IAL - ( SAL - ( Cons 17 ) + ( Labeled ( Branch NE ) + ( LImmediate 17 ) ) -, Transfer , ICF - ( DMark 16 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 16 ) ) , IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 18 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 18 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/from-eas/writestr.il b/.output/golden/eta/il/optimized/from-eas/writestr.il index f26924264..fbb21cb86 100644 --- a/.output/golden/eta/il/optimized/from-eas/writestr.il +++ b/.output/golden/eta/il/optimized/from-eas/writestr.il @@ -1,53 +1,58 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 5 ) + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 4 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 5 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 4 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/bottles.il b/.output/golden/eta/il/optimized/original/bottles.il index 039dbd237..cfe2a82ee 100644 --- a/.output/golden/eta/il/optimized/original/bottles.il +++ b/.output/golden/eta/il/optimized/original/bottles.il @@ -1,23 +1,20 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 141 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 32 ) +, ICF + ( Labeled Jump + ( LImmediate 32 ) ) -, Transfer , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -25,57 +22,59 @@ ) ) , ICF - ( SMark "1" ) -, Transfer + ( Mark + ( MArtificial "1" ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 2 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL - ( SAL - ( Cons 3 ) +, ICF + ( Labeled Jump + ( LImmediate 3 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -83,11 +82,13 @@ ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -95,21 +96,17 @@ ) ) , IAL ( SIO InputChar ) -, Transfer -, IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) -, IAL - ( SAL - ( Cons 3 ) - ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL - ( Cons 3 ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) +, ICF + ( Labeled Jump + ( LImmediate 3 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -118,31 +115,30 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 3 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -150,135 +146,134 @@ ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 6 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 7 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 9 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 9 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 11 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) + ( LImmediate 11 ) + ) +, ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 12 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 14 ) + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 13 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 13 ) ) , IAL - ( SAL - ( Cons 18 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -286,369 +281,335 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 17 ) ) -, IAL - ( SAL - ( Cons 11 ) +, ICF + ( Labeled Jump + ( LImmediate 11 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 18 ) ) -, IAL - ( SAL - ( Cons 11 ) - ) -, IAL - ( SAL - ( Cons 13128755 ) +, ICF + ( Labeled Jump + ( LImmediate 13128755 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Mark + ( MNatural 19 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 19 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 20 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 20 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 21 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 21 ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 8 ) +, ICF + ( Labeled Jump + ( LImmediate 8 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 23 ) +, ICF + ( Labeled Jump + ( LImmediate 23 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 24 ) +, ICF + ( Labeled Jump + ( LImmediate 24 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Mark + ( MNatural 25 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 25 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 27 ) ) -, IAL ( SAL Halibut ) -, ICF - ( DMark 27 ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 20 ) +, ICF + ( Labeled Jump + ( LImmediate 20 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 29 ) +, ICF + ( Labeled Jump + ( LImmediate 29 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) -, ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 31 ) + ( Labeled Jump + ( LArtificial "30" ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 31 ) ) -, Transfer , ICF - ( DMark 31 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 31 ) ) -, IAL ( SAL Halibut ) -, Transfer +, ICF ( Labeled Jump LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -656,16 +617,17 @@ ) ) , ICF - ( SMark "31" ) -, IAL - ( SAL ( Binary Sub ) ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL - ( Cons 32 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 32 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -674,11 +636,11 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -687,285 +649,307 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 33 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 34 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 34 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 35 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 36 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 36 ) ) -, IAL - ( SAL - ( Cons 20 ) +, ICF + ( Labeled Jump + ( LImmediate 20 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) -, IAL - ( SAL - ( Cons 43 ) + ( Mark + ( MNatural 42 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 43 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 44 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 45 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 45 ) ) -, IAL - ( SAL - ( Cons 26 ) +, ICF + ( Labeled Jump + ( LImmediate 26 ) ) -, Transfer , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 46 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 33 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 47 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 33 ) ) -, Transfer , ICF - ( DMark 48 ) + ( Mark + ( MNatural 47 ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 0 ) + ) +, ICF + ( Mark + ( MNatural 48 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/crlf.il b/.output/golden/eta/il/optimized/original/crlf.il index 0007ac0e1..7f74d7246 100644 --- a/.output/golden/eta/il/optimized/original/crlf.il +++ b/.output/golden/eta/il/optimized/original/crlf.il @@ -1,34 +1,33 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 3 ) +, ICF + ( Labeled Jump + ( LImmediate 3 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -36,61 +35,55 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 75 ) ) , IAL - ( SAL + ( SPure ( Cons 79 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -98,16 +91,17 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/fact.il b/.output/golden/eta/il/optimized/original/fact.il index a3ba873c2..510c8b2f4 100644 --- a/.output/golden/eta/il/optimized/original/fact.il +++ b/.output/golden/eta/il/optimized/original/fact.il @@ -1,249 +1,248 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 1 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 2 ) ) -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled Jump + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 2 ) -, IAL - ( SAL - ( Cons 3 ) + ( Mark + ( MNatural 2 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MNatural 3 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 4 ) ) -, IAL - ( SAL - ( Cons 32 ) +, ICF + ( Labeled Jump + ( LImmediate 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 9 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 9 ) ) -, Transfer , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 13 ) +, ICF + ( Labeled Jump + ( LImmediate 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) -, IAL - ( SAL - ( Cons 12 ) + ( Mark + ( MNatural 11 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 12 ) ) -, IAL - ( SAL - ( Cons 5 ) +, ICF + ( Labeled Jump + ( LImmediate 5 ) ) -, Transfer , ICF - ( DMark 12 ) -, IAL - ( SAL - ( Cons 13 ) + ( Mark + ( MNatural 12 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Cons 13 ) ) -, IAL - ( SAL - ( Cons 42 ) +, ICF + ( Labeled Jump + ( LImmediate 42 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) -, IAL - ( SAL - ( Cons 18 ) + ( Mark + ( MNatural 16 ) ) -, Transfer , ICF - ( DMark 17 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 18 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 17 ) ) -, Transfer -, IAL - ( SAL - ( Cons 14 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 42 ) +, ICF + ( Labeled Jump + ( LImmediate 42 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) -, Transfer -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -251,24 +250,28 @@ ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -276,173 +279,183 @@ ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 27 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 27 ) ) -, Transfer , ICF - ( DMark 26 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 26 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 29 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 29 ) ) -, Transfer , ICF - ( DMark 28 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 28 ) ) -, IAL - ( SAL - ( Cons 30 ) +, ICF + ( Labeled Jump + ( LImmediate 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 19 ) - ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 19 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 30 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 34 ) -, IAL - ( SAL - ( Cons 36 ) + ( Mark + ( MNatural 34 ) ) -, Transfer , ICF - ( DMark 35 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 36 ) + ) +, ICF + ( Mark + ( MNatural 35 ) ) , IAL - ( SAL - ( Cons 40 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled Jump + ( LImmediate 40 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -450,248 +463,279 @@ ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -48 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 39 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 39 ) ) -, IAL - ( SAL - ( Cons 33 ) +, ICF + ( Labeled Jump + ( LImmediate 33 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 58 ) ) -, IAL - ( SAL - ( Cons 58 ) +, ICF + ( Mark + ( MNatural 41 ) ) -, Transfer +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 42 ) -, IAL - ( SAL - ( Cons 2 ) + ( Mark + ( MNatural 43 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Cons 0 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 46 ) -, IAL - ( SAL - ( Cons 0 ) + ( Mark + ( MNatural 47 ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 47 ) -, IAL - ( SAL - ( Cons 49 ) + ( Labeled ( Branch NE ) + ( LImmediate 49 ) ) -, Transfer , ICF - ( DMark 48 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 48 ) ) -, IAL - ( SAL - ( Cons 56 ) +, ICF + ( Labeled Jump + ( LImmediate 56 ) ) -, Transfer , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( Cons - ( -3 ) + ( SPure + ( Indexed Copy + ( ImmediateO 3 ) ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 55 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 55 ) ) -, IAL - ( SAL - ( Cons 46 ) +, ICF + ( Labeled Jump + ( LImmediate 46 ) ) -, Transfer , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 57 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( Cons 2 ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL - ( Cons 1 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 60 ) -, IAL - ( SAL - ( Cons 62 ) + ( Mark + ( MNatural 60 ) ) -, Transfer , ICF - ( DMark 61 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled ( Branch NE ) + ( LImmediate 62 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 61 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 63 ) ) -, IAL - ( SAL - ( Cons 58 ) +, ICF + ( Labeled Jump + ( LImmediate 58 ) ) -, Transfer , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/hello.il b/.output/golden/eta/il/optimized/original/hello.il index b53b0e8ed..a8a85db1b 100644 --- a/.output/golden/eta/il/optimized/original/hello.il +++ b/.output/golden/eta/il/optimized/original/hello.il @@ -1,17 +1,14 @@ [ ICF - ( DMark 1 ) -, IAL - ( SAL - ( Cons 21 ) + ( Mark + ( MNatural 1 ) ) -, IAL - ( SAL - ( Cons 2 ) +, ICF + ( Labeled Jump + ( LImmediate 2 ) ) -, Transfer -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -19,69 +16,84 @@ ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( CStatic "5" Jump ) + ( Labeled Jump + ( LArtificial "5" ) + ) , ICF - ( DMark 5 ) -, Transfer + ( Mark + ( MNatural 5 ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -89,29 +101,37 @@ ) ) , ICF - ( SMark "5" ) + ( Mark + ( MArtificial "5" ) + ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -120,41 +140,49 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -163,6 +191,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/hello2.il b/.output/golden/eta/il/optimized/original/hello2.il index 2dd961ddf..fe4055d7b 100644 --- a/.output/golden/eta/il/optimized/original/hello2.il +++ b/.output/golden/eta/il/optimized/original/hello2.il @@ -1,108 +1,100 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL - ( SAL - ( Cons 4 ) - ) -, Transfer , ICF - ( DMark 3 ) -, IAL - ( SAL - ( Cons 1 ) + ( Labeled Jump + ( LImmediate 4 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer -, IAL - ( SAL - ( Cons 4 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, IAL - ( SAL - ( Cons 22 ) +, ICF + ( Labeled Jump + ( LImmediate 22 ) ) -, Transfer , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -110,78 +102,80 @@ ) ) , ICF - ( SMark "3" ) -, IAL - ( SAL - ( Cons 4 ) + ( Mark + ( MArtificial "3" ) + ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 4 ) ) -, Transfer , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 337 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 4 ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL - ( Cons 6 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 11 ) + ( Labeled ( Branch NE ) + ( LImmediate 6 ) ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer , ICF - ( DMark 6 ) -, IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 5 ) ) , IAL - ( SAL - ( Cons 4 ) + ( SPure ( Binary Sub ) ) +, ICF ( Labeled Jump LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) +, IAL ( SIO OutputChar ) +, ICF + ( Labeled Jump + ( LImmediate 4 ) ) -, Transfer , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "7" Jump ) + ( Labeled Jump + ( LArtificial "7" ) + ) +, ICF + ( Mark + ( MNatural 7 ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/pip.il b/.output/golden/eta/il/optimized/original/pip.il index 0c137c9fb..4411ce474 100644 --- a/.output/golden/eta/il/optimized/original/pip.il +++ b/.output/golden/eta/il/optimized/original/pip.il @@ -1,68 +1,71 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) -, IAL - ( SAL - ( Cons 7 ) + ( Mark + ( MNatural 4 ) ) -, Transfer , ICF - ( DMark 5 ) -, IAL - ( SAL - ( Cons 0 ) + ( Labeled ( Branch NE ) + ( LImmediate 7 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 5 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Discard ) , ICF - ( DMark 6 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 6 ) ) -, IAL - ( SAL - ( Cons 0 ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) -, IAL - ( SAL - ( Cons 1 ) + ( Mark + ( MNatural 8 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) + ) +, ICF + ( Mark + ( MNatural 9 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/optimized/original/pip2.il b/.output/golden/eta/il/optimized/original/pip2.il index ad7cdb019..50bc5b9d6 100644 --- a/.output/golden/eta/il/optimized/original/pip2.il +++ b/.output/golden/eta/il/optimized/original/pip2.il @@ -1,56 +1,47 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL - ( Cons 0 ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) -, IAL ( SAL Halibut ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL - ( SAL - ( Cons 2 ) - ) -, Transfer -, IAL - ( SAL - ( Cons 0 ) - ) -, IAL - ( SAL - ( Cons 1 ) - ) -, IAL ( SAL Halibut ) -, Transfer -, IAL - ( SAL - ( Cons 1 ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) + ( LImmediate 2 ) ) -, IAL - ( SAL - ( Cons 0 ) +, IAL ( SPure Discard ) +, ICF + ( Labeled Jump + ( LImmediate 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Labeled Jump + ( LImmediate 1 ) ) -, IAL - ( SAL - ( Cons 1 ) +, ICF + ( Mark + ( MNatural 3 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/bottles.il b/.output/golden/eta/il/parsed/from-eas/bottles.il index f5e5f7b38..982bbdc9d 100644 --- a/.output/golden/eta/il/parsed/from-eas/bottles.il +++ b/.output/golden/eta/il/parsed/from-eas/bottles.il @@ -1,175 +1,212 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 31 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -177,556 +214,635 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 20 ) + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 20 ) + ) +, ICF + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) -, Transfer , ICF - ( DMark 23 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 25 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 21 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 30 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 21 ) ) -, Transfer , ICF - ( DMark 35 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 38 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 40 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer , ICF - ( DMark 42 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 43 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/euclid.il b/.output/golden/eta/il/parsed/from-eas/euclid.il index 8fcef7f35..717eda838 100644 --- a/.output/golden/eta/il/parsed/from-eas/euclid.il +++ b/.output/golden/eta/il/parsed/from-eas/euclid.il @@ -1,69 +1,83 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -71,59 +85,83 @@ ) ) , ICF - ( SMark "6" ) + ( Mark + ( MArtificial "6" ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 12 ) -, Transfer + ( Mark + ( MNatural 12 ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/fact.il b/.output/golden/eta/il/parsed/from-eas/fact.il index 4b70ea6d8..a88478d88 100644 --- a/.output/golden/eta/il/parsed/from-eas/fact.il +++ b/.output/golden/eta/il/parsed/from-eas/fact.il @@ -1,497 +1,598 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 12 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 27 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 29 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, Transfer , ICF - ( DMark 30 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 36 ) + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) -, Transfer , ICF - ( DMark 38 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -499,280 +600,353 @@ ) ) , ICF - ( SMark "38" ) + ( Mark + ( MArtificial "38" ) + ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 35 ) ) -, Transfer , ICF - ( DMark 42 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 48 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 49 ) + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) -, Transfer , ICF - ( DMark 51 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 56 ) + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 57 ) + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) -, Transfer , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 60 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 61 ) + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 63 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 63 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 64 ) + ( Mark + ( MNatural 64 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 65 ) + ( Mark + ( MNatural 65 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) -, Transfer , ICF - ( DMark 66 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 66 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/function.il b/.output/golden/eta/il/parsed/from-eas/function.il index a8e326dbe..2b8e41e61 100644 --- a/.output/golden/eta/il/parsed/from-eas/function.il +++ b/.output/golden/eta/il/parsed/from-eas/function.il @@ -1,55 +1,80 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) +, ICF + ( Mark + ( MNatural 9 ) + ) , ICF - ( DMark 9 ) -, Transfer + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/hello.il b/.output/golden/eta/il/parsed/from-eas/hello.il index bb2fc89e7..20a3aec39 100644 --- a/.output/golden/eta/il/parsed/from-eas/hello.il +++ b/.output/golden/eta/il/parsed/from-eas/hello.il @@ -1,37 +1,43 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -40,39 +46,45 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -81,6 +93,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/hello2.il b/.output/golden/eta/il/parsed/from-eas/hello2.il index 65fac6667..f474aa692 100644 --- a/.output/golden/eta/il/parsed/from-eas/hello2.il +++ b/.output/golden/eta/il/parsed/from-eas/hello2.il @@ -1,153 +1,182 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/hello3.il b/.output/golden/eta/il/parsed/from-eas/hello3.il index 65fac6667..f474aa692 100644 --- a/.output/golden/eta/il/parsed/from-eas/hello3.il +++ b/.output/golden/eta/il/parsed/from-eas/hello3.il @@ -1,153 +1,182 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/hello4.il b/.output/golden/eta/il/parsed/from-eas/hello4.il index 65fac6667..f474aa692 100644 --- a/.output/golden/eta/il/parsed/from-eas/hello4.il +++ b/.output/golden/eta/il/parsed/from-eas/hello4.il @@ -1,153 +1,182 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 10 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 10 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/multiply.il b/.output/golden/eta/il/parsed/from-eas/multiply.il index 75a8809d7..a74e8e783 100644 --- a/.output/golden/eta/il/parsed/from-eas/multiply.il +++ b/.output/golden/eta/il/parsed/from-eas/multiply.il @@ -1,156 +1,199 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 15 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 15 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 16 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 17 ) + ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/pip.il b/.output/golden/eta/il/parsed/from-eas/pip.il index 76b5ebe2a..d8a581105 100644 --- a/.output/golden/eta/il/parsed/from-eas/pip.il +++ b/.output/golden/eta/il/parsed/from-eas/pip.il @@ -1,72 +1,98 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/pip2.il b/.output/golden/eta/il/parsed/from-eas/pip2.il index b3af748cd..1f4275f90 100644 --- a/.output/golden/eta/il/parsed/from-eas/pip2.il +++ b/.output/golden/eta/il/parsed/from-eas/pip2.il @@ -1,60 +1,74 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/readnum.il b/.output/golden/eta/il/parsed/from-eas/readnum.il index 312b9c4e0..380a18fd5 100644 --- a/.output/golden/eta/il/parsed/from-eas/readnum.il +++ b/.output/golden/eta/il/parsed/from-eas/readnum.il @@ -1,382 +1,472 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) -, Transfer , ICF - ( DMark 15 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) -, Transfer , ICF - ( DMark 16 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 6 ) ) -, Transfer , ICF - ( DMark 17 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 28 ) + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 30 ) + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 31 ) + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 23 ) ) -, Transfer , ICF - ( DMark 33 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 35 ) + ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/reverse.il b/.output/golden/eta/il/parsed/from-eas/reverse.il index 021d0644c..865d26f68 100644 --- a/.output/golden/eta/il/parsed/from-eas/reverse.il +++ b/.output/golden/eta/il/parsed/from-eas/reverse.il @@ -1,124 +1,150 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/true.il b/.output/golden/eta/il/parsed/from-eas/true.il index 2e0854629..758d72ec4 100644 --- a/.output/golden/eta/il/parsed/from-eas/true.il +++ b/.output/golden/eta/il/parsed/from-eas/true.il @@ -1,4 +1,10 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/writenum.il b/.output/golden/eta/il/parsed/from-eas/writenum.il index f8e0ea829..3f15902fd 100644 --- a/.output/golden/eta/il/parsed/from-eas/writenum.il +++ b/.output/golden/eta/il/parsed/from-eas/writenum.il @@ -1,103 +1,122 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -105,128 +124,164 @@ ) ) , ICF - ( SMark "7" ) + ( Mark + ( MArtificial "7" ) + ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 12 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 18 ) + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/from-eas/writestr.il b/.output/golden/eta/il/parsed/from-eas/writestr.il index 3b72641d2..95d6260fb 100644 --- a/.output/golden/eta/il/parsed/from-eas/writestr.il +++ b/.output/golden/eta/il/parsed/from-eas/writestr.il @@ -1,65 +1,86 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/bottles.il b/.output/golden/eta/il/parsed/original/bottles.il index dfb3eba8c..dec3f8f67 100644 --- a/.output/golden/eta/il/parsed/original/bottles.il +++ b/.output/golden/eta/il/parsed/original/bottles.il @@ -1,23 +1,26 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 141 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 155 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -25,17 +28,22 @@ ) ) , ICF - ( SMark "1" ) -, Transfer + ( Mark + ( MArtificial "1" ) + ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -43,39 +51,43 @@ ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -83,11 +95,13 @@ ) ) , ICF - ( SMark "2" ) + ( Mark + ( MArtificial "2" ) + ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -95,21 +109,23 @@ ) ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -118,31 +134,35 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -150,171 +170,205 @@ ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 18828800 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 5 ) + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 8 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL ( SIO OutputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 11 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) -, Transfer , ICF - ( DMark 14 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 14 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -322,384 +376,443 @@ ) ) , ICF - ( SMark "14" ) + ( Mark + ( MArtificial "14" ) + ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 13128773 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 19 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) -, Transfer , ICF - ( DMark 22 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 23 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2348471754576 ) ) , ICF - ( CStatic "23" Jump ) + ( Labeled Jump + ( LArtificial "23" ) + ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 24 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "24" Jump ) + ( Labeled Jump + ( LArtificial "24" ) + ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 25 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 26 ) + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 27 ) + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 29 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2348471754565 ) ) , ICF - ( CStatic "29" Jump ) + ( Labeled Jump + ( LArtificial "29" ) + ) , ICF - ( DMark 29 ) + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 335495964812 ) ) , ICF - ( CStatic "30" Jump ) + ( Labeled Jump + ( LArtificial "30" ) + ) , ICF - ( DMark 30 ) + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 31 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -707,16 +820,19 @@ ) ) , ICF - ( SMark "31" ) + ( Mark + ( MArtificial "31" ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -725,11 +841,11 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 402523 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -738,285 +854,331 @@ ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 1814 ) ) , ICF - ( CStatic "32" Jump ) + ( Labeled Jump + ( LArtificial "32" ) + ) , ICF - ( DMark 32 ) + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 34 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ICF - ( DMark 40 ) + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 41 ) + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer , ICF - ( DMark 43 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 26 ) ) -, Transfer , ICF - ( DMark 45 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) -, Transfer , ICF - ( DMark 47 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 48 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 48 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/crlf.il b/.output/golden/eta/il/parsed/original/crlf.il index 0007ac0e1..4742e7e36 100644 --- a/.output/golden/eta/il/parsed/original/crlf.il +++ b/.output/golden/eta/il/parsed/original/crlf.il @@ -1,34 +1,39 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -37,60 +42,66 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 75 ) ) , IAL - ( SAL + ( SPure ( Cons 79 ) ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL ( SIO OutputChar ) @@ -99,15 +110,22 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/fact.il b/.output/golden/eta/il/parsed/original/fact.il index b60e59a42..59fc5f2b7 100644 --- a/.output/golden/eta/il/parsed/original/fact.il +++ b/.output/golden/eta/il/parsed/original/fact.il @@ -1,273 +1,329 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) -, Transfer , ICF - ( DMark 4 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) -, Transfer , ICF - ( DMark 12 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 12 ) + ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) -, Transfer , ICF - ( DMark 13 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 13 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 14 ) + ( Mark + ( MNatural 14 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 15 ) + ( Mark + ( MNatural 15 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 16 ) + ( Mark + ( MNatural 16 ) + ) , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 17 ) + ( Mark + ( MNatural 17 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 14 ) ) -, Transfer , ICF - ( DMark 18 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 18 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 19 ) + ( Mark + ( MNatural 19 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 20 ) + ( Mark + ( MNatural 20 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 21 ) + ( Mark + ( MNatural 21 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -275,24 +331,28 @@ ) ) , ICF - ( SMark "21" ) + ( Mark + ( MArtificial "21" ) + ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -300,189 +360,228 @@ ) ) , ICF - ( DMark 22 ) + ( Mark + ( MNatural 22 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 23 ) + ( Mark + ( MNatural 23 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 24 ) + ( Mark + ( MNatural 24 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 25 ) + ( Mark + ( MNatural 25 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 27 ) ) -, Transfer , ICF - ( DMark 26 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 26 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 27 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 27 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 29 ) ) -, Transfer , ICF - ( DMark 28 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 28 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) -, Transfer , ICF - ( DMark 29 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 29 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 19 ) ) -, Transfer , ICF - ( DMark 30 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 30 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 31 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 31 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 32 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 32 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 33 ) + ( Mark + ( MNatural 33 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 34 ) + ( Mark + ( MNatural 34 ) + ) , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 35 ) + ( Mark + ( MNatural 35 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 40 ) ) -, Transfer , ICF - ( DMark 36 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 36 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -490,280 +589,353 @@ ) ) , ICF - ( SMark "36" ) + ( Mark + ( MArtificial "36" ) + ) , ICF - ( DMark 37 ) + ( Mark + ( MNatural 37 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 38 ) + ( Mark + ( MNatural 38 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 39 ) + ( Mark + ( MNatural 39 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) -, Transfer , ICF - ( DMark 40 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 40 ) + ) , IAL - ( SAL + ( SPure ( Cons 41 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) -, Transfer , ICF - ( DMark 41 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 41 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 42 ) + ( Mark + ( MNatural 42 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 43 ) + ( Mark + ( MNatural 43 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( DMark 44 ) + ( Mark + ( MNatural 44 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 45 ) + ( Mark + ( MNatural 45 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 46 ) + ( Mark + ( MNatural 46 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 47 ) + ( Mark + ( MNatural 47 ) + ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 48 ) + ( Mark + ( MNatural 48 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 56 ) ) -, Transfer , ICF - ( DMark 49 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 49 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 50 ) + ( Mark + ( MNatural 50 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 51 ) + ( Mark + ( MNatural 51 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL ( Binary Sub ) ) -, IAL ( SAL Halibut ) + ( SPure ( Binary Sub ) ) +, IAL ( SPure Halibut ) , ICF - ( DMark 52 ) + ( Mark + ( MNatural 52 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 53 ) + ( Mark + ( MNatural 53 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 54 ) + ( Mark + ( MNatural 54 ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 55 ) + ( Mark + ( MNatural 55 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 46 ) ) -, Transfer , ICF - ( DMark 56 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 56 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 57 ) + ( Mark + ( MNatural 57 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 58 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 58 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 59 ) + ( Mark + ( MNatural 59 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 60 ) + ( Mark + ( MNatural 60 ) + ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 61 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 61 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 62 ) + ( Mark + ( MNatural 62 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 63 ) + ( Mark + ( MNatural 63 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) -, Transfer , ICF - ( DMark 64 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 64 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/hello.il b/.output/golden/eta/il/parsed/original/hello.il index 2aaf1f225..002d23a17 100644 --- a/.output/golden/eta/il/parsed/original/hello.il +++ b/.output/golden/eta/il/parsed/original/hello.il @@ -1,17 +1,20 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer -, IAL ( SAL Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -19,26 +22,31 @@ ) ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div ] ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO InputChar ) -, Transfer -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -46,42 +54,54 @@ ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL ( SIO OutputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ICF - ( CStatic "5" Jump ) + ( Labeled Jump + ( LArtificial "5" ) + ) +, ICF + ( Mark + ( MNatural 5 ) + ) , ICF - ( DMark 5 ) -, Transfer + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -89,35 +109,43 @@ ) ) , ICF - ( SMark "5" ) + ( Mark + ( MArtificial "5" ) + ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 7 ) + ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -126,41 +154,49 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 9 ) + ( Mark + ( MNatural 9 ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , ICF - ( DMark 10 ) + ( Mark + ( MNatural 10 ) + ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ICF - ( DMark 11 ) + ( Mark + ( MNatural 11 ) + ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ICF - ( DMark 12 ) + ( Mark + ( MNatural 12 ) + ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) @@ -169,6 +205,12 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , ICF - ( DMark 13 ) + ( Mark + ( MNatural 13 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/hello2.il b/.output/golden/eta/il/parsed/original/hello2.il index 66290b364..059ffb4fa 100644 --- a/.output/golden/eta/il/parsed/original/hello2.il +++ b/.output/golden/eta/il/parsed/original/hello2.il @@ -1,108 +1,118 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 22 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Binaries [ Mod , Div @@ -110,90 +120,110 @@ ) ) , ICF - ( SMark "3" ) + ( Mark + ( MArtificial "3" ) + ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 337 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) -, Transfer + ( SPure ( Binary Sub ) ) , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , ICF - ( DMark 6 ) + ( Mark + ( MNatural 6 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 4 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "7" Jump ) + ( Labeled Jump + ( LArtificial "7" ) + ) +, ICF + ( Mark + ( MNatural 7 ) + ) , ICF - ( DMark 7 ) + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/pip.il b/.output/golden/eta/il/parsed/original/pip.il index 76b5ebe2a..d8a581105 100644 --- a/.output/golden/eta/il/parsed/original/pip.il +++ b/.output/golden/eta/il/parsed/original/pip.il @@ -1,72 +1,98 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , ICF - ( DMark 2 ) + ( Mark + ( MNatural 2 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , ICF - ( DMark 3 ) + ( Mark + ( MNatural 3 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( DMark 4 ) + ( Mark + ( MNatural 4 ) + ) , IAL - ( SAL + ( SPure ( Cons 7 ) ) -, Transfer , ICF - ( DMark 5 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 5 ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) , ICF - ( DMark 6 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 6 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 7 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 7 ) + ) , IAL ( SIO OutputChar ) , ICF - ( DMark 8 ) + ( Mark + ( MNatural 8 ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 9 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 9 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/eta/il/parsed/original/pip2.il b/.output/golden/eta/il/parsed/original/pip2.il index b3af748cd..1f4275f90 100644 --- a/.output/golden/eta/il/parsed/original/pip2.il +++ b/.output/golden/eta/il/parsed/original/pip2.il @@ -1,60 +1,74 @@ [ ICF - ( DMark 1 ) + ( Mark + ( MNatural 1 ) + ) , IAL ( SIO InputChar ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, IAL ( SAL Halibut ) +, IAL ( SPure Halibut ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) -, Transfer +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Halibut ) -, Transfer +, IAL ( SPure Halibut ) +, ICF + ( Labeled ( Branch NE ) LTop ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) -, Transfer , ICF - ( DMark 2 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 2 ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, Transfer , ICF - ( DMark 3 ) + ( Labeled ( Branch NE ) LTop ) +, ICF + ( Mark + ( MNatural 3 ) + ) +, ICF + ( Mark + ( MNatural 0 ) + ) , End ] \ No newline at end of file diff --git a/.output/golden/f/il/helma/add.il b/.output/golden/f/il/helma/add.il index c5458f591..117e71dea 100644 --- a/.output/golden/f/il/helma/add.il +++ b/.output/golden/f/il/helma/add.il @@ -1,35 +1,35 @@ [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) ] \ No newline at end of file diff --git a/.output/golden/f/il/helma/copy.il b/.output/golden/f/il/helma/copy.il index bfa21c6c2..3334bc959 100644 --- a/.output/golden/f/il/helma/copy.il +++ b/.output/golden/f/il/helma/copy.il @@ -4,27 +4,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda diff --git a/.output/golden/f/il/helma/factorial.il b/.output/golden/f/il/helma/factorial.il index 3a58770ce..a69f129be 100644 --- a/.output/golden/f/il/helma/factorial.il +++ b/.output/golden/f/il/helma/factorial.il @@ -1,47 +1,51 @@ [ Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -56,29 +60,33 @@ , Flush , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/golden/f/il/helma/primeNumber.il b/.output/golden/f/il/helma/primeNumber.il index fcb478543..ba9e9aed1 100644 --- a/.output/golden/f/il/helma/primeNumber.il +++ b/.output/golden/f/il/helma/primeNumber.il @@ -1,162 +1,190 @@ [ Inst ( IAL - ( SAL + ( SPure ( Cons 99 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL ( SIO OutputDec ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) diff --git a/.output/golden/f/il/other/benHoyt/bin2f.il b/.output/golden/f/il/other/benHoyt/bin2f.il index 400fe8bec..4816480bc 100644 --- a/.output/golden/f/il/other/benHoyt/bin2f.il +++ b/.output/golden/f/il/other/benHoyt/bin2f.il @@ -5,19 +5,21 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) ] , Lambda @@ -27,6 +29,6 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str "]" ] \ No newline at end of file diff --git a/.output/golden/f/il/other/benHoyt/fac.il b/.output/golden/f/il/other/benHoyt/fac.il index ad3c88f84..9c7a88322 100644 --- a/.output/golden/f/il/other/benHoyt/fac.il +++ b/.output/golden/f/il/other/benHoyt/fac.il @@ -2,76 +2,86 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -86,29 +96,33 @@ , Ref 1 , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/golden/f/il/other/iliiliiliili/sum.il b/.output/golden/f/il/other/iliiliiliili/sum.il index b91f04ef9..15902d2b2 100644 --- a/.output/golden/f/il/other/iliiliiliili/sum.il +++ b/.output/golden/f/il/other/iliiliiliili/sum.il @@ -11,7 +11,7 @@ , Exec , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL ( SIO OutputDec ) ) diff --git a/.output/golden/f/il/other/morphett/factorial.il b/.output/golden/f/il/other/morphett/factorial.il index 6c1d12602..b14f5a74f 100644 --- a/.output/golden/f/il/other/morphett/factorial.il +++ b/.output/golden/f/il/other/morphett/factorial.il @@ -1,76 +1,86 @@ [ Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -79,7 +89,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) diff --git a/.output/golden/f/il/other/morphett/factorial2.il b/.output/golden/f/il/other/morphett/factorial2.il index c74dd33e0..71defb229 100644 --- a/.output/golden/f/il/other/morphett/factorial2.il +++ b/.output/golden/f/il/other/morphett/factorial2.il @@ -2,18 +2,22 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec @@ -28,63 +32,75 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -100,7 +116,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) diff --git a/.output/golden/f/il/other/morphett/reverse.il b/.output/golden/f/il/other/morphett/reverse.il index 607960a2a..cc09e701c 100644 --- a/.output/golden/f/il/other/morphett/reverse.il +++ b/.output/golden/f/il/other/morphett/reverse.il @@ -4,27 +4,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -36,6 +38,6 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Exec ] \ No newline at end of file diff --git a/.output/golden/f/il/other/thunderseethe/prog.il b/.output/golden/f/il/other/thunderseethe/prog.il index b5a1f5397..904db3acd 100644 --- a/.output/golden/f/il/other/thunderseethe/prog.il +++ b/.output/golden/f/il/other/thunderseethe/prog.il @@ -2,87 +2,91 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 3 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 5 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 300 ) ) ) diff --git a/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/detab.il b/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/detab.il index faa917cfa..b8588970b 100644 --- a/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/detab.il +++ b/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/detab.il @@ -9,52 +9,56 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) diff --git a/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il b/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il index 9dee5199b..5b6a5a88f 100644 --- a/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il +++ b/.output/golden/f/il/strlen/contrib/Ben_Schaeffer/postfix_while.il @@ -1,7 +1,7 @@ [ Comment " postfix while loops (##)! " , Inst ( IAL - ( SAL + ( SPure ( Cons 5 ) ) ) @@ -12,17 +12,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -32,13 +32,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 13 , Store @@ -49,17 +49,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -69,13 +69,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 13 , Store @@ -83,7 +83,7 @@ , While , Inst ( IAL - ( SAL + ( SPure ( Cons 5 ) ) ) @@ -94,17 +94,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -114,13 +114,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 13 , Store @@ -130,17 +130,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -150,13 +150,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 13 , Store diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il index 75a64d4ed..c0820a388 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/chkbrack.il @@ -2,7 +2,7 @@ , Comment "checks brackets" , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -10,7 +10,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -18,7 +18,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -29,58 +29,62 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 40 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 0 , Store @@ -88,32 +92,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 41 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 0 , Store @@ -121,32 +127,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 91 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 1 , Store @@ -154,32 +162,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 93 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 1 , Store @@ -187,32 +197,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 123 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 2 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 2 , Store @@ -220,32 +232,34 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 125 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 2 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 2 , Store @@ -258,27 +272,29 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "is ok. @@ -293,27 +309,29 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "is ok. @@ -328,27 +346,29 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "is ok. diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/countwl.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/countwl.il index f7265a779..f646479fb 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/countwl.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/countwl.il @@ -2,7 +2,7 @@ , Comment "count lines and words " , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -10,7 +10,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -18,7 +18,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -29,64 +29,68 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 0 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -96,64 +100,70 @@ , Cond , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 3 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Ref 3 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Ref 3 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda @@ -161,32 +171,32 @@ , Fetch , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 1 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Ref 2 , Store @@ -196,12 +206,12 @@ , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -211,20 +221,20 @@ , Cond , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) ] , Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 0 , Store @@ -232,13 +242,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 1 , Store diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/crunch.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/crunch.il index abe09d2d2..5966a0080 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/crunch.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/crunch.il @@ -4,23 +4,25 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [] @@ -32,7 +34,7 @@ , Comment " a is char-read " , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) @@ -42,23 +44,23 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Comment "while a<>EOF" diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il index 4099af312..f89e16fa3 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/decrunch.il @@ -4,23 +4,25 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [] @@ -32,30 +34,30 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Comment "while a<>EOF" , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 169 ) ) ) @@ -63,17 +65,19 @@ , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Comment "if char!=escapecode" @@ -98,7 +102,7 @@ , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -106,11 +110,11 @@ , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Comment "while counter!=0" @@ -124,13 +128,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 2 , Store diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/depack.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/depack.il index 55b0ecb3b..c1a40dca3 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/depack.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/depack.il @@ -11,17 +11,17 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , While @@ -30,18 +30,20 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 35 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] \ No newline at end of file diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/readable.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/readable.il index d8a9bb4a3..5db6242e4 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/readable.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/readable.il @@ -4,7 +4,7 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -12,7 +12,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/remcom.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/remcom.il index 346ed263e..3a958bab2 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/remcom.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/remcom.il @@ -2,7 +2,7 @@ , Comment "removes comments like this..." , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -10,7 +10,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -18,7 +18,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -26,7 +26,7 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -37,38 +37,42 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 34 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Ref 4 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 4 , Store @@ -78,21 +82,21 @@ , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] ] \ No newline at end of file diff --git a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/split.il b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/split.il index e1bcdb4a1..a40d76b62 100644 --- a/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/split.il +++ b/.output/golden/f/il/strlen/contrib/Eelko_de_Vos/split.il @@ -8,13 +8,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) ] , Lambda @@ -29,50 +29,52 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 102 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 98 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Comment " a has to be 'f' of 'b' followed by a space " diff --git a/.output/golden/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il b/.output/golden/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il index a808636d9..a73df665c 100644 --- a/.output/golden/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il +++ b/.output/golden/f/il/strlen/contrib/Herb_Wollman/Fibonacci.il @@ -1,19 +1,19 @@ [ Comment "Fibonacci.f Prints the Fibonacci numbers " , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il b/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il index 810b65ada..34e380487 100644 --- a/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il +++ b/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/queens.il @@ -8,55 +8,61 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) @@ -64,277 +70,301 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 3 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 6 ) ) ) , Ref 14 , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 16 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Cond , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 16 , Store @@ -345,41 +375,47 @@ , Ref 1 , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) diff --git a/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il b/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il index e865510d5..c3f9c6705 100644 --- a/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il +++ b/.output/golden/f/il/strlen/contrib/Marcel_van_Kervinck/tic.il @@ -8,85 +8,97 @@ [ Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) @@ -95,9 +107,9 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 5 , Store @@ -107,44 +119,52 @@ [ Str " " , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 23 , Fetch , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Ref 14 , Fetch , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) @@ -152,87 +172,95 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Str "O" , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) , Ref 14 , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda @@ -240,7 +268,7 @@ , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Str "." ] @@ -250,7 +278,7 @@ ] , Inst ( IAL - ( SAL + ( SPure ( Cons 7 ) ) ) @@ -259,68 +287,78 @@ , Exec , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL ( SIO OutputChar ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Str "7 8 9" , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 64 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec , Str "4 5 6" , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 8 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec , Str "1 2 3" , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec diff --git a/.output/golden/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il b/.output/golden/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il index d9f9097c2..5e05ab9dd 100644 --- a/.output/golden/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il +++ b/.output/golden/f/il/strlen/contrib/Peter_Bengtsson/DoASC.il @@ -7,56 +7,60 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 255 ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Str " @@ -70,45 +74,49 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) @@ -117,106 +125,114 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 255 ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Binary BOr ) ) + ( SPure ( Binary BOr ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 1 , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 1 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) ] , While @@ -224,29 +240,33 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst @@ -256,7 +276,7 @@ , Cond , Lambda [] , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL ( SIO OutputChar ) ) , Str " diff --git a/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il b/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il index 6b55c2a74..4ddecb6ef 100644 --- a/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il +++ b/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/htmlcol.il @@ -13,56 +13,62 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Cond @@ -73,7 +79,7 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str "" ] , Ref 15 @@ -83,27 +89,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda @@ -116,56 +124,62 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Cond @@ -176,7 +190,7 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str "" , Ref 15 , Fetch @@ -192,7 +206,7 @@ ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Str " " ] \ No newline at end of file diff --git a/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il b/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il index b3bba8b01..94f975ad3 100644 --- a/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il +++ b/.output/golden/f/il/strlen/contrib/Steinar_Knutsen/passwdc.il @@ -10,27 +10,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] ] \ No newline at end of file diff --git a/.output/golden/f/il/strlen/contrib/Thomas_Fischbacher/life.il b/.output/golden/f/il/strlen/contrib/Thomas_Fischbacher/life.il index cee4dcc52..5fda508c8 100644 --- a/.output/golden/f/il/strlen/contrib/Thomas_Fischbacher/life.il +++ b/.output/golden/f/il/strlen/contrib/Thomas_Fischbacher/life.il @@ -11,7 +11,7 @@ , Ref 1 , Inst ( IAL - ( SAL + ( SPure ( Cons 4 ) ) ) @@ -21,29 +21,31 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] @@ -52,29 +54,31 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] @@ -83,57 +87,65 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 42 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL ( SIO InputChar ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , While , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Ref 6 , Fetch , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 25 , Store , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Ref 4 , Store @@ -142,39 +154,41 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 25 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] ] \ No newline at end of file diff --git a/.output/golden/f/il/strlen/contrib/self.il b/.output/golden/f/il/strlen/contrib/self.il index 38e29d94e..aca1f3eda 100644 --- a/.output/golden/f/il/strlen/contrib/self.il +++ b/.output/golden/f/il/strlen/contrib/self.il @@ -2,7 +2,7 @@ [ Str "'[,34,$!34,'],!" ] , Inst ( IAL - ( SAL + ( SPure ( Cons 91 ) ) ) @@ -10,7 +10,7 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 34 ) ) ) @@ -18,14 +18,16 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Exec , Inst ( IAL - ( SAL + ( SPure ( Cons 34 ) ) ) @@ -33,7 +35,7 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 93 ) ) ) diff --git a/.output/golden/f/il/strlen/examples/addcr.il b/.output/golden/f/il/strlen/examples/addcr.il index 14ccba9cf..bd23cbf82 100644 --- a/.output/golden/f/il/strlen/examples/addcr.il +++ b/.output/golden/f/il/strlen/examples/addcr.il @@ -6,50 +6,54 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 13 ) ) ) @@ -63,7 +67,7 @@ , While , Inst ( IAL - ( SAL + ( SPure ( Cons 26 ) ) ) diff --git a/.output/golden/f/il/strlen/examples/arg.il b/.output/golden/f/il/strlen/examples/arg.il index f86a47c1e..ef025707c 100644 --- a/.output/golden/f/il/strlen/examples/arg.il +++ b/.output/golden/f/il/strlen/examples/arg.il @@ -6,13 +6,13 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 3 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 0 , Store @@ -21,54 +21,58 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Ref 0 , Store , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 255 ) ) ) , Inst ( IAL - ( SAL ( Binary BAnd ) ) + ( SPure ( Binary BAnd ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 2 , Store , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda diff --git a/.output/golden/f/il/strlen/examples/argtest.il b/.output/golden/f/il/strlen/examples/argtest.il index 9a468f4cf..cbab2112a 100644 --- a/.output/golden/f/il/strlen/examples/argtest.il +++ b/.output/golden/f/il/strlen/examples/argtest.il @@ -3,22 +3,24 @@ , Fetch , Inst ( IAL - ( SAL + ( SPure ( Cons 2 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda @@ -27,7 +29,7 @@ , Cond , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Ref 1 @@ -46,7 +48,7 @@ , Fetch , Inst ( IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) ) , Inst ( IAL ( SIO OutputDec ) ) diff --git a/.output/golden/f/il/strlen/examples/lambda.il b/.output/golden/f/il/strlen/examples/lambda.il index bc35a0946..1cafadebb 100644 --- a/.output/golden/f/il/strlen/examples/lambda.il +++ b/.output/golden/f/il/strlen/examples/lambda.il @@ -3,19 +3,21 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 0 , Store , Comment " true " , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , Ref 1 , Store @@ -27,8 +29,10 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Exec @@ -41,20 +45,26 @@ , Fetch , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec @@ -65,16 +75,20 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Exec @@ -85,8 +99,10 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 3 @@ -94,14 +110,18 @@ , Exec , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Exec @@ -112,21 +132,23 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Ref 0 , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Str "true" , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) @@ -138,13 +160,13 @@ , Fetch , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Str "false" , Inst ( IAL - ( SAL + ( SPure ( Cons 10 ) ) ) diff --git a/.output/golden/f/il/strlen/examples/prime.il b/.output/golden/f/il/strlen/examples/prime.il index 013f2157d..5f031bd13 100644 --- a/.output/golden/f/il/strlen/examples/prime.il +++ b/.output/golden/f/il/strlen/examples/prime.il @@ -1,191 +1,227 @@ [ Comment " writes all prime numbers between 0 and 100 " , Inst ( IAL - ( SAL + ( SPure ( Cons 99 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL ( SIO OutputDec ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) @@ -193,8 +229,10 @@ ( IAL ( SIO OutputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) ) ] diff --git a/.output/golden/f/il/strlen/examples/strip.il b/.output/golden/f/il/strlen/examples/strip.il index bc898d2cb..0d19f1278 100644 --- a/.output/golden/f/il/strlen/examples/strip.il +++ b/.output/golden/f/il/strlen/examples/strip.il @@ -5,55 +5,61 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 13 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst @@ -61,7 +67,7 @@ ] , Cond , Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) ] , While ] \ No newline at end of file diff --git a/.output/golden/f/il/strlen/inline/copy.il b/.output/golden/f/il/strlen/inline/copy.il index 09fb5dbed..24b05c4f0 100644 --- a/.output/golden/f/il/strlen/inline/copy.il +++ b/.output/golden/f/il/strlen/inline/copy.il @@ -5,27 +5,29 @@ ( IAL ( SIO InputChar ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Unary Neg ) ) + ( SPure ( Unary Neg ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) ] , Lambda diff --git a/.output/golden/f/il/strlen/inline/factorial.il b/.output/golden/f/il/strlen/inline/factorial.il index 2b42b9ef3..93ed4cb60 100644 --- a/.output/golden/f/il/strlen/inline/factorial.il +++ b/.output/golden/f/il/strlen/inline/factorial.il @@ -2,47 +2,51 @@ , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Inst ( IAL - ( SAL ( Unary BNot ) ) + ( SPure ( Unary BNot ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Ref 5 , Fetch , Exec , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) ] , Cond @@ -57,29 +61,33 @@ , Flush , Inst ( IAL - ( SAL + ( SPure ( Cons 48 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) diff --git a/.output/golden/f/il/strlen/inline/primeNumber.il b/.output/golden/f/il/strlen/inline/primeNumber.il index 683c8a5ad..7f826cebd 100644 --- a/.output/golden/f/il/strlen/inline/primeNumber.il +++ b/.output/golden/f/il/strlen/inline/primeNumber.il @@ -1,163 +1,191 @@ [ Comment " writes all prime numbers between 0 and 100 " , Inst ( IAL - ( SAL + ( SPure ( Cons 99 ) ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 9 ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) ] , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) , Inst ( IAL - ( SAL ( Binary Div ) ) + ( SPure ( Binary Div ) ) ) , Inst ( IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) ) , Inst ( IAL - ( SAL ( Binary LEQ ) ) + ( SPure ( Binary LEQ ) ) ) , Lambda [ Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Lambda [ Inst - ( IAL ( SAL Discard ) ) + ( IAL ( SPure Discard ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 1 ) ) ) , Inst ( IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) ) , Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL - ( SAL - ( SStatic 2 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 2 ) + ) ) ) ] , Cond , Inst ( IAL - ( SAL + ( SPure ( Cons 0 ) ) ) , Lambda [ Inst ( IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) ) , Inst ( IAL ( SIO OutputDec ) ) , Inst ( IAL - ( SAL + ( SPure ( Cons 32 ) ) ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged index ef7f86290..cc3628ead 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/bottles.logged @@ -2,506 +2,546 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "01001100010011110100111101010000" ) + ( Mark + ( MArtificial "01001100010011110100111101010000" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "010011000100111101001111010100000011101000110001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "010011000100111101001111010100000011101000110001" ) + ) , ICF - ( CStatic "01001100010011110100111101010000" Jump ) + ( Labeled Jump + ( LArtificial "01001100010011110100111101010000" ) + ) , ICF - ( SMark "010011000100111101001111010100000011101000110001" ) + ( Mark + ( MArtificial "010011000100111101001111010100000011101000110001" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged index ee3cebcd4..48f9bfec3 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello.logged @@ -2,31 +2,31 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -37,31 +37,31 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged index b4b748880..e4e419d2b 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello2.logged @@ -2,89 +2,105 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged index 9608f3d43..86141872e 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/hello4.logged @@ -2,85 +2,101 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged index 4039aab96..8361de9c8 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/from-wsa/prim.logged @@ -2,339 +2,423 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( SMark "0111001101110100" ) + ( Mark + ( MArtificial "0111001101110100" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110001" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110001" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110001" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110001" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110001" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110010" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110010" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110011" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110011" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110011" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110011" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110010" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110010" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110010" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "011001100101111101110011011101000110000101110010011101000101111100110100" ) + ( Mark + ( MArtificial "011001100101111101110011011101000110000101110010011101000101111100110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "011011100110111101100100011100100110000101110111" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011011100110111101100100011100100110000101110111" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "011011100110111101100100011100100110000101110111" ) + ( Mark + ( MArtificial "011011100110111101100100011100100110000101110111" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "011001100101111101110011011101000110000101110010011101000101111100110100" Jump ) + ( Labeled Jump + ( LArtificial "011001100101111101110011011101000110000101110010011101000101111100110100" ) + ) , ICF - ( SMark "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011001100101111101100110011010010110111001101001011100110110100001100101011001000101111100110100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111000001110010011010010110111001110100011100110110110001101110" Call ) + ( Labeled Call + ( LArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , End , ICF - ( SMark "011100000111001001101001011011100111010001110011" ) + ( Mark + ( MArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Jump ) + ( Labeled Jump + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , ICF - ( SMark "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110100101101110011101000111001101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "0111000001110010011010010110111001110100011100110110110001101110" ) + ( Mark + ( MArtificial "0111000001110010011010010110111001110100011100110110110001101110" ) + ) , ICF - ( CStatic "011100000111001001101001011011100111010001110011" Call ) + ( Labeled Call + ( LArtificial "011100000111001001101001011011100111010001110011" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" index 2d817ef86..11a0a3c32 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOff/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "01101100011011110110111101110000" ) + ( Mark + ( MArtificial "01101100011011110110111101110000" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01110000011100100110111101100111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "01101100011011110110111101110000" Jump ) + ( Labeled Jump + ( LArtificial "01101100011011110110111101110000" ) + ) , ICF - ( SMark "01110000011100100110111101100111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/original/count.logged b/.output/golden/ws/eval/logged/stn/asciiOff/original/count.logged index b541f5f97..d421faaf0 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/original/count.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "01000011" ) + ( Mark + ( MArtificial "01000011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01000101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01000101" ) + ) , ICF - ( CStatic "01000011" Jump ) + ( Labeled Jump + ( LArtificial "01000011" ) + ) , ICF - ( SMark "01000101" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01000101" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" index 84c88ff70..d4c64fd20 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOff/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "01100110011000010110001101110100" ) + ( Mark + ( MArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0110011001100001011000110111010001100010011000010111001101100101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "0110011001100001011000110111010001100010011000010111001101100101" ) + ( Mark + ( MArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/original/hWorld.logged b/.output/golden/ws/eval/logged/stn/asciiOff/original/hWorld.logged index 454637fed..62cd16277 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/original/hWorld.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/original/hWorld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" index e94358cdc..d4ad84ab8 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOff/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , End , ICF - ( SMark "0110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "0110010101101110011001000110100001100001011011100110111101101001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "0110010101101110011001000110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOff/original/helloWorld.logged b/.output/golden/ws/eval/logged/stn/asciiOff/original/helloWorld.logged index 4705ee1a1..a1cd36c6c 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOff/original/helloWorld.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOff/original/helloWorld.logged @@ -2,62 +2,62 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" index bc816ab53..c807f9c34 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOff/original/locTest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "01101100011011110110001101110100011001010111001101110100" Call ) + ( Labeled Call + ( LArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "01101100011011110110001101110100011001010111001101110100" ) + ( Mark + ( MArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" index 8d78eaf37..e6c4ddf5d 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOff/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "01110010011001010110000101100100" Call ) + ( Labeled Call + ( LArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" index a2e0c339d..b415410a3 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOff/original/truthMachine0\n.logged" @@ -2,30 +2,38 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0" ) + ) , ICF - ( SMark "1" ) + ( Mark + ( MArtificial "1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "1" Jump ) + ( Labeled Jump + ( LArtificial "1" ) + ) , ICF - ( SMark "0" ) + ( Mark + ( MArtificial "0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged index 40c69b9b1..e341d32f7 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/bottles.logged @@ -2,506 +2,546 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "LOOP" ) + ( Mark + ( MArtificial "LOOP" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "LOOP:1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "LOOP:1" ) + ) , ICF - ( CStatic "LOOP" Jump ) + ( Labeled Jump + ( LArtificial "LOOP" ) + ) , ICF - ( SMark "LOOP:1" ) + ( Mark + ( MArtificial "LOOP:1" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged index ee3cebcd4..48f9bfec3 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello.logged @@ -2,31 +2,31 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -37,31 +37,31 @@ dump: Memory , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged index 5f5810628..08bd31b64 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello2.logged @@ -2,89 +2,105 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged index 130c40d79..23d1889db 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/hello4.logged @@ -2,85 +2,101 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged index e4cb4575d..32df691ee 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/from-wsa/prim.logged @@ -2,339 +2,423 @@ dump: Memory { memoryCM = CM { program = [ ICF - ( SMark "st" ) + ( Mark + ( MArtificial "st" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "f_start_1" ) + ( Mark + ( MArtificial "f_start_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_1" Jump ) + ( Labeled Jump + ( LArtificial "f_start_1" ) + ) , ICF - ( SMark "f_finished_1" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_1" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_2" ) + ( Mark + ( MArtificial "f_start_2" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_2" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_2" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_3" ) + ( Mark + ( MArtificial "f_start_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_3" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_3" Jump ) + ( Labeled Jump + ( LArtificial "f_start_3" ) + ) , ICF - ( SMark "f_finished_3" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_3" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_2" Jump ) + ( Labeled Jump + ( LArtificial "f_start_2" ) + ) , ICF - ( SMark "f_finished_2" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_2" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_4" ) + ( Mark + ( MArtificial "f_start_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_4" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "nodraw" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "nodraw" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , ICF - ( SMark "nodraw" ) + ( Mark + ( MArtificial "nodraw" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_4" Jump ) + ( Labeled Jump + ( LArtificial "f_start_4" ) + ) , ICF - ( SMark "f_finished_4" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_4" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" index dbeed2d63..6cbb2fff8 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOn/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/original/count.logged b/.output/golden/ws/eval/logged/stn/asciiOn/original/count.logged index 54d428a75..80d2cf08c 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/original/count.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" index 67a7b98cf..3724b13a9 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOn/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/original/hWorld.logged b/.output/golden/ws/eval/logged/stn/asciiOn/original/hWorld.logged index 6299446f2..183155c79 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/original/hWorld.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/original/hWorld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" index ff4778379..6005a7442 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOn/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/stn/asciiOn/original/helloWorld.logged b/.output/golden/ws/eval/logged/stn/asciiOn/original/helloWorld.logged index 4705ee1a1..a1cd36c6c 100644 --- a/.output/golden/ws/eval/logged/stn/asciiOn/original/helloWorld.logged +++ b/.output/golden/ws/eval/logged/stn/asciiOn/original/helloWorld.logged @@ -2,62 +2,62 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" index 0a6381434..92ad9b7f2 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOn/original/locTest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" index 870c9798c..8ac0fea5e 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOn/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" "b/.output/golden/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" index 4f3eda6a5..300718081 100644 --- "a/.output/golden/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" +++ "b/.output/golden/ws/eval/logged/stn/asciiOn/original/truthMachine0\n.logged" @@ -2,30 +2,38 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "\x0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "\x0" ) + ) , ICF - ( SMark "\x1" ) + ( Mark + ( MArtificial "\x1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "\x1" Jump ) + ( Labeled Jump + ( LArtificial "\x1" ) + ) , ICF - ( SMark "\x0" ) + ( Mark + ( MArtificial "\x0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" index 2d817ef86..11a0a3c32 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOff/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "01101100011011110110111101110000" ) + ( Mark + ( MArtificial "01101100011011110110111101110000" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01110000011100100110111101100111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "01101100011011110110111101110000" Jump ) + ( Labeled Jump + ( LArtificial "01101100011011110110111101110000" ) + ) , ICF - ( SMark "01110000011100100110111101100111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01110000011100100110111101100111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/ws/asciiOff/original/count.logged b/.output/golden/ws/eval/logged/ws/asciiOff/original/count.logged index b541f5f97..d421faaf0 100644 --- a/.output/golden/ws/eval/logged/ws/asciiOff/original/count.logged +++ b/.output/golden/ws/eval/logged/ws/asciiOff/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "01000011" ) + ( Mark + ( MArtificial "01000011" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01000101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "01000101" ) + ) , ICF - ( CStatic "01000011" Jump ) + ( Labeled Jump + ( LArtificial "01000011" ) + ) , ICF - ( SMark "01000101" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "01000101" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" index 84c88ff70..d4c64fd20 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOff/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "01100110011000010110001101110100" ) + ( Mark + ( MArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0110011001100001011000110111010001100010011000010111001101100101" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "01100110011000010110001101110100" Call ) + ( Labeled Call + ( LArtificial "01100110011000010110001101110100" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "0110011001100001011000110111010001100010011000010111001101100101" ) + ( Mark + ( MArtificial "0110011001100001011000110111010001100010011000010111001101100101" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" index e94358cdc..d4ad84ab8 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOff/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , End , ICF - ( SMark "0110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "0110010101101110011001000110100001100001011011100110111101101001" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "0110100001100001011011100110111101101001" Call ) + ( Labeled Call + ( LArtificial "0110100001100001011011100110111101101001" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "0110010101101110011001000110100001100001011011100110111101101001" ) + ( Mark + ( MArtificial "0110010101101110011001000110100001100001011011100110111101101001" ) + ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/ws/asciiOff/original/hworld.logged b/.output/golden/ws/eval/logged/ws/asciiOff/original/hworld.logged index 454637fed..62cd16277 100644 --- a/.output/golden/ws/eval/logged/ws/asciiOff/original/hworld.logged +++ b/.output/golden/ws/eval/logged/ws/asciiOff/original/hworld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" index bc816ab53..c807f9c34 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOff/original/loctest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "01101100011011110110001101110100011001010111001101110100" Call ) + ( Labeled Call + ( LArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "01101100011011110110001101110100011001010111001101110100" ) + ( Mark + ( MArtificial "01101100011011110110001101110100011001010111001101110100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" index 8d78eaf37..e6c4ddf5d 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOff/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "01110010011001010110000101100100" Call ) + ( Labeled Call + ( LArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Call ) + ( Labeled Call + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( CStatic "01101110011001010111011101101100011010010110111001100101" Call ) + ( Labeled Call + ( LArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , End , ICF - ( SMark "011000010110010001100100" ) + ( Mark + ( MArtificial "011000010110010001100100" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "0111011101110010011010010111010001100101" ) + ( Mark + ( MArtificial "0111011101110010011010010111010001100101" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "011101110111001001101001011101000110010101011111011001010110111001100100" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "0111011101110010011010010111010001100101" Jump ) + ( Labeled Jump + ( LArtificial "0111011101110010011010010111010001100101" ) + ) , ICF - ( SMark "011101110111001001101001011101000110010101011111011001010110111001100100" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "011101110111001001101001011101000110010101011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "01110010011001010110000101100100" ) + ( Mark + ( MArtificial "01110010011001010110000101100100" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "0111001001100101011000010110010001011111011001010110111001100100" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "01110010011001010110000101100100" Jump ) + ( Labeled Jump + ( LArtificial "01110010011001010110000101100100" ) + ) , ICF - ( SMark "0111001001100101011000010110010001011111011001010110111001100100" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "0111001001100101011000010110010001011111011001010110111001100100" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "01101110011001010111011101101100011010010110111001100101" ) + ( Mark + ( MArtificial "01101110011001010111011101101100011010010110111001100101" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" index dbeed2d63..6cbb2fff8 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOn/original/calc-1\n.logged" @@ -2,682 +2,734 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/ws/asciiOn/original/count.logged b/.output/golden/ws/eval/logged/ws/asciiOn/original/count.logged index 54d428a75..80d2cf08c 100644 --- a/.output/golden/ws/eval/logged/ws/asciiOn/original/count.logged +++ b/.output/golden/ws/eval/logged/ws/asciiOn/original/count.logged @@ -2,133 +2,175 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) + , IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" index 67a7b98cf..3724b13a9 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOn/original/fact10\n.logged" @@ -2,357 +2,407 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" index ff4778379..6005a7442 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOn/original/hanoi1\n.logged" @@ -2,558 +2,630 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/eval/logged/ws/asciiOn/original/hworld.logged b/.output/golden/ws/eval/logged/ws/asciiOn/original/hworld.logged index 6299446f2..183155c79 100644 --- a/.output/golden/ws/eval/logged/ws/asciiOn/original/hworld.logged +++ b/.output/golden/ws/eval/logged/ws/asciiOn/original/hworld.logged @@ -2,318 +2,352 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" index 0a6381434..92ad9b7f2 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOn/original/loctest1\n2\n.logged" @@ -2,299 +2,343 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git "a/.output/golden/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" "b/.output/golden/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" index 870c9798c..8ac0fea5e 100644 --- "a/.output/golden/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" +++ "b/.output/golden/ws/eval/logged/ws/asciiOn/original/nameWriteOnly\n.logged" @@ -2,408 +2,448 @@ dump: Memory { memoryCM = CM { program = [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) - , IAL ( SAL Discard ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) + , IAL ( SPure Discard ) + , IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) - , IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) - , IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) + , IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/from-wsa/bottles.il b/.output/golden/ws/il/optimized/from-wsa/bottles.il index ba9a55c97..9cbf81b80 100644 --- a/.output/golden/ws/il/optimized/from-wsa/bottles.il +++ b/.output/golden/ws/il/optimized/from-wsa/bottles.il @@ -1,504 +1,544 @@ [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "LOOP" ) + ( Mark + ( MArtificial "LOOP" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "LOOP:1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "LOOP:1" ) + ) , ICF - ( CStatic "LOOP" Jump ) + ( Labeled Jump + ( LArtificial "LOOP" ) + ) , ICF - ( SMark "LOOP:1" ) + ( Mark + ( MArtificial "LOOP:1" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/from-wsa/hello.il b/.output/golden/ws/il/optimized/from-wsa/hello.il index 3899be8eb..d6ebfb03e 100644 --- a/.output/golden/ws/il/optimized/from-wsa/hello.il +++ b/.output/golden/ws/il/optimized/from-wsa/hello.il @@ -1,29 +1,29 @@ [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -34,31 +34,31 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/from-wsa/hello2.il b/.output/golden/ws/il/optimized/from-wsa/hello2.il index 88f1d1ddf..d98e121f2 100644 --- a/.output/golden/ws/il/optimized/from-wsa/hello2.il +++ b/.output/golden/ws/il/optimized/from-wsa/hello2.il @@ -1,87 +1,103 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/from-wsa/hello4.il b/.output/golden/ws/il/optimized/from-wsa/hello4.il index bd7b32f75..69bf91bba 100644 --- a/.output/golden/ws/il/optimized/from-wsa/hello4.il +++ b/.output/golden/ws/il/optimized/from-wsa/hello4.il @@ -1,83 +1,99 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/from-wsa/prim.il b/.output/golden/ws/il/optimized/from-wsa/prim.il index 3caf1a7c7..730749f61 100644 --- a/.output/golden/ws/il/optimized/from-wsa/prim.il +++ b/.output/golden/ws/il/optimized/from-wsa/prim.il @@ -1,337 +1,421 @@ [ ICF - ( SMark "st" ) + ( Mark + ( MArtificial "st" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "f_start_1" ) + ( Mark + ( MArtificial "f_start_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_1" Jump ) + ( Labeled Jump + ( LArtificial "f_start_1" ) + ) , ICF - ( SMark "f_finished_1" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_1" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_2" ) + ( Mark + ( MArtificial "f_start_2" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_2" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_2" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_3" ) + ( Mark + ( MArtificial "f_start_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_3" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_3" Jump ) + ( Labeled Jump + ( LArtificial "f_start_3" ) + ) , ICF - ( SMark "f_finished_3" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_3" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_2" Jump ) + ( Labeled Jump + ( LArtificial "f_start_2" ) + ) , ICF - ( SMark "f_finished_2" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_2" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_4" ) + ( Mark + ( MArtificial "f_start_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_4" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "nodraw" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "nodraw" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , ICF - ( SMark "nodraw" ) + ( Mark + ( MArtificial "nodraw" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_4" Jump ) + ( Labeled Jump + ( LArtificial "f_start_4" ) + ) , ICF - ( SMark "f_finished_4" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_4" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/calc.il b/.output/golden/ws/il/optimized/original/calc.il index aee7a6970..efc0fc485 100644 --- a/.output/golden/ws/il/optimized/original/calc.il +++ b/.output/golden/ws/il/optimized/original/calc.il @@ -1,680 +1,732 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/count.il b/.output/golden/ws/il/optimized/original/count.il index 18a05cd56..fbad311e4 100644 --- a/.output/golden/ws/il/optimized/original/count.il +++ b/.output/golden/ws/il/optimized/original/count.il @@ -1,131 +1,173 @@ [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) +, IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/fact.il b/.output/golden/ws/il/optimized/original/fact.il index c8ff04c51..b136631b2 100644 --- a/.output/golden/ws/il/optimized/original/fact.il +++ b/.output/golden/ws/il/optimized/original/fact.il @@ -1,355 +1,405 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/hWorld.il b/.output/golden/ws/il/optimized/original/hWorld.il index f86f1e306..65a60dd01 100644 --- a/.output/golden/ws/il/optimized/original/hWorld.il +++ b/.output/golden/ws/il/optimized/original/hWorld.il @@ -1,316 +1,350 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/hanoi.il b/.output/golden/ws/il/optimized/original/hanoi.il index dd0ea6ac0..a855b81fb 100644 --- a/.output/golden/ws/il/optimized/original/hanoi.il +++ b/.output/golden/ws/il/optimized/original/hanoi.il @@ -1,556 +1,628 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/helloWorld.il b/.output/golden/ws/il/optimized/original/helloWorld.il index f5831b140..a1823c1d8 100644 --- a/.output/golden/ws/il/optimized/original/helloWorld.il +++ b/.output/golden/ws/il/optimized/original/helloWorld.il @@ -1,60 +1,60 @@ [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/locTest.il b/.output/golden/ws/il/optimized/original/locTest.il index 4ae21f6fd..ed73dd5d8 100644 --- a/.output/golden/ws/il/optimized/original/locTest.il +++ b/.output/golden/ws/il/optimized/original/locTest.il @@ -1,297 +1,341 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/name.il b/.output/golden/ws/il/optimized/original/name.il index 369744f01..5172c96ad 100644 --- a/.output/golden/ws/il/optimized/original/name.il +++ b/.output/golden/ws/il/optimized/original/name.il @@ -1,406 +1,446 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/optimized/original/truthMachine.il b/.output/golden/ws/il/optimized/original/truthMachine.il index e8ceda6e0..fa8255be1 100644 --- a/.output/golden/ws/il/optimized/original/truthMachine.il +++ b/.output/golden/ws/il/optimized/original/truthMachine.il @@ -1,28 +1,36 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "\x0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "\x0" ) + ) , ICF - ( SMark "\x1" ) + ( Mark + ( MArtificial "\x1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "\x1" Jump ) + ( Labeled Jump + ( LArtificial "\x1" ) + ) , ICF - ( SMark "\x0" ) + ( Mark + ( MArtificial "\x0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git a/.output/golden/ws/il/parsed/from-wsa/bottles.il b/.output/golden/ws/il/parsed/from-wsa/bottles.il index ba9a55c97..9cbf81b80 100644 --- a/.output/golden/ws/il/parsed/from-wsa/bottles.il +++ b/.output/golden/ws/il/parsed/from-wsa/bottles.il @@ -1,504 +1,544 @@ [ IAL - ( SAL + ( SPure ( Cons 3 ) ) , ICF - ( SMark "LOOP" ) + ( Mark + ( MArtificial "LOOP" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 107 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "LOOP:1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "LOOP:1" ) + ) , ICF - ( CStatic "LOOP" Jump ) + ( Labeled Jump + ( LArtificial "LOOP" ) + ) , ICF - ( SMark "LOOP:1" ) + ( Mark + ( MArtificial "LOOP:1" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/from-wsa/hello.il b/.output/golden/ws/il/parsed/from-wsa/hello.il index 3899be8eb..d6ebfb03e 100644 --- a/.output/golden/ws/il/parsed/from-wsa/hello.il +++ b/.output/golden/ws/il/parsed/from-wsa/hello.il @@ -1,29 +1,29 @@ [ IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) @@ -34,31 +34,31 @@ , IAL ( SIO OutputChar ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/from-wsa/hello2.il b/.output/golden/ws/il/parsed/from-wsa/hello2.il index 88f1d1ddf..d98e121f2 100644 --- a/.output/golden/ws/il/parsed/from-wsa/hello2.il +++ b/.output/golden/ws/il/parsed/from-wsa/hello2.il @@ -1,87 +1,103 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/from-wsa/hello4.il b/.output/golden/ws/il/parsed/from-wsa/hello4.il index bd7b32f75..69bf91bba 100644 --- a/.output/golden/ws/il/parsed/from-wsa/hello4.il +++ b/.output/golden/ws/il/parsed/from-wsa/hello4.il @@ -1,83 +1,99 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/from-wsa/prim.il b/.output/golden/ws/il/parsed/from-wsa/prim.il index 3caf1a7c7..730749f61 100644 --- a/.output/golden/ws/il/parsed/from-wsa/prim.il +++ b/.output/golden/ws/il/parsed/from-wsa/prim.il @@ -1,337 +1,421 @@ [ ICF - ( SMark "st" ) + ( Mark + ( MArtificial "st" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 93 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 50 ) ) , IAL - ( SAL + ( SPure ( Cons 91 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( SMark "f_start_1" ) + ( Mark + ( MArtificial "f_start_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_1" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_1" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_1" Jump ) + ( Labeled Jump + ( LArtificial "f_start_1" ) + ) , ICF - ( SMark "f_finished_1" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_1" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_2" ) + ( Mark + ( MArtificial "f_start_2" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_2" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_2" ) + ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_3" ) + ( Mark + ( MArtificial "f_start_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_3" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_3" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ILS Load , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_3" Jump ) + ( Labeled Jump + ( LArtificial "f_start_3" ) + ) , ICF - ( SMark "f_finished_3" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_3" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_2" Jump ) + ( Labeled Jump + ( LArtificial "f_start_2" ) + ) , ICF - ( SMark "f_finished_2" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_2" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( SMark "f_start_4" ) + ( Mark + ( MArtificial "f_start_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "f_finished_4" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "f_finished_4" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ILS Load , ICF - ( CStatic "nodraw" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "nodraw" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , ICF - ( SMark "nodraw" ) + ( Mark + ( MArtificial "nodraw" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "f_start_4" Jump ) + ( Labeled Jump + ( LArtificial "f_start_4" ) + ) , ICF - ( SMark "f_finished_4" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "f_finished_4" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "printsln" Call ) + ( Labeled Call + ( LArtificial "printsln" ) + ) , End , ICF - ( SMark "prints" ) + ( Mark + ( MArtificial "prints" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "prints_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "prints_end" ) + ) , IAL ( SIO OutputChar ) , ICF - ( CStatic "prints" Jump ) + ( Labeled Jump + ( LArtificial "prints" ) + ) , ICF - ( SMark "prints_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "prints_end" ) + ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "printsln" ) + ( Mark + ( MArtificial "printsln" ) + ) , ICF - ( CStatic "prints" Call ) + ( Labeled Call + ( LArtificial "prints" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/calc.il b/.output/golden/ws/il/parsed/original/calc.il index aee7a6970..efc0fc485 100644 --- a/.output/golden/ws/il/parsed/original/calc.il +++ b/.output/golden/ws/il/parsed/original/calc.il @@ -1,680 +1,732 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 25 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 26 ) ) , IAL - ( SAL + ( SPure ( Cons 49 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 27 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 28 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 29 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 104 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 37 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 42 ) ) , IAL - ( SAL + ( SPure ( Cons 78 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 43 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 45 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 46 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 47 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 48 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 49 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 60 ) ) , IAL - ( SAL + ( SPure ( Cons 84 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 61 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 62 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 63 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 64 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 65 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 66 ) ) , IAL - ( SAL + ( SPure ( Cons 105 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 67 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 68 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 69 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF - ( SMark "loop" ) + ( Mark + ( MArtificial "loop" ) + ) , IAL - ( SAL + ( SPure ( Cons 42 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons ( -1 ) ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "progend" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "progend" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( CStatic "loop" Jump ) + ( Labeled Jump + ( LArtificial "loop" ) + ) , ICF - ( SMark "progend" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "progend" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 60 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/count.il b/.output/golden/ws/il/parsed/original/count.il index 18a05cd56..fbad311e4 100644 --- a/.output/golden/ws/il/parsed/original/count.il +++ b/.output/golden/ws/il/parsed/original/count.il @@ -1,131 +1,173 @@ [ IAL - ( SAL + ( SPure ( Cons 1 ) ) , ICF - ( SMark "C" ) + ( Mark + ( MArtificial "C" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "E" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "E" ) + ) , ICF - ( CStatic "C" Jump ) + ( Labeled Jump + ( LArtificial "C" ) + ) , ICF - ( SMark "E" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "E" ) + ) +, IAL ( SPure Discard ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/fact.il b/.output/golden/ws/il/parsed/original/fact.il index dc5f9ed89..456407ef5 100644 --- a/.output/golden/ws/il/parsed/original/fact.il +++ b/.output/golden/ws/il/parsed/original/fact.il @@ -1,360 +1,410 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 61 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "fact" ) + ( Mark + ( MArtificial "fact" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "factbase" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "factbase" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "fact" Call ) + ( Labeled Call + ( LArtificial "fact" ) + ) , IAL - ( SAL ( Binary Mul ) ) + ( SPure ( Binary Mul ) ) , ICF Return , ICF - ( SMark "factbase" ) + ( Mark + ( MArtificial "factbase" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) -, IAL ( SAL Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/hWorld.il b/.output/golden/ws/il/parsed/original/hWorld.il index f86f1e306..65a60dd01 100644 --- a/.output/golden/ws/il/parsed/original/hWorld.il +++ b/.output/golden/ws/il/parsed/original/hWorld.il @@ -1,316 +1,350 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 112 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 99 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 33 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/hanoi.il b/.output/golden/ws/il/parsed/original/hanoi.il index dd0ea6ac0..a855b81fb 100644 --- a/.output/golden/ws/il/parsed/original/hanoi.il +++ b/.output/golden/ws/il/parsed/original/hanoi.il @@ -1,556 +1,628 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 45 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 62 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 2 ) ) , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , End , ICF - ( SMark "hanoi" ) + ( Mark + ( MArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , ICF - ( CStatic "endhanoi" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "endhanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL ( SIO OutputDec ) , IAL - ( SAL + ( SPure ( Cons 20 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL ( SIO OutputDec ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 102 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "hanoi" Call ) + ( Labeled Call + ( LArtificial "hanoi" ) + ) , IAL - ( SAL + ( SPure ( Cons 103 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 102 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL - ( SAL - ( SStatic 1 Move ) + ( SPure + ( Indexed Move + ( ImmediateO 1 ) + ) ) , ILS Store , ICF - ( SMark "endhanoi" ) + ( Mark + ( MArtificial "endhanoi" ) + ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/helloWorld.il b/.output/golden/ws/il/parsed/original/helloWorld.il index f5831b140..a1823c1d8 100644 --- a/.output/golden/ws/il/parsed/original/helloWorld.il +++ b/.output/golden/ws/il/parsed/original/helloWorld.il @@ -1,60 +1,60 @@ [ IAL - ( SAL + ( SPure ( Cons 72 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 44 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 119 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/locTest.il b/.output/golden/ws/il/parsed/original/locTest.il index 4ae21f6fd..ed73dd5d8 100644 --- a/.output/golden/ws/il/parsed/original/locTest.il +++ b/.output/golden/ws/il/parsed/original/locTest.il @@ -1,297 +1,341 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 69 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 98 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS ( MIO InputDec ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ILS Load , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Load , ICF - ( CStatic "loctest" Call ) + ( Labeled Call + ( LArtificial "loctest" ) + ) , IAL ( SIO OutputDec ) , End , ICF - ( SMark "loctest" ) + ( Mark + ( MArtificial "loctest" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 2 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 2 ) + ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL - ( SStatic 2 Slide ) + ( SPure + ( Indexed Slide + ( ImmediateO 2 ) + ) ) , ICF Return , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/name.il b/.output/golden/ws/il/parsed/original/name.il index 369744f01..5172c96ad 100644 --- a/.output/golden/ws/il/parsed/original/name.il +++ b/.output/golden/ws/il/parsed/original/name.il @@ -1,406 +1,446 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL + ( SPure ( Cons 80 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 2 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 3 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 4 ) ) , IAL - ( SAL + ( SPure ( Cons 115 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 5 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 6 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 7 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 8 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 9 ) ) , IAL - ( SAL + ( SPure ( Cons 116 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 11 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 12 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL - ( SAL + ( SPure ( Cons 121 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 14 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 15 ) ) , IAL - ( SAL + ( SPure ( Cons 117 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 16 ) ) , IAL - ( SAL + ( SPure ( Cons 114 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 17 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 18 ) ) , IAL - ( SAL + ( SPure ( Cons 110 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 19 ) ) , IAL - ( SAL + ( SPure ( Cons 97 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 20 ) ) , IAL - ( SAL + ( SPure ( Cons 109 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 21 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 22 ) ) , IAL - ( SAL + ( SPure ( Cons 58 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 23 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 24 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 30 ) ) , IAL - ( SAL + ( SPure ( Cons 72 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 31 ) ) , IAL - ( SAL + ( SPure ( Cons 101 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 32 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 33 ) ) , IAL - ( SAL + ( SPure ( Cons 108 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 34 ) ) , IAL - ( SAL + ( SPure ( Cons 111 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 35 ) ) , IAL - ( SAL + ( SPure ( Cons 32 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 36 ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "read" Call ) + ( Labeled Call + ( LArtificial "read" ) + ) , IAL - ( SAL + ( SPure ( Cons 30 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , IAL - ( SAL + ( SPure ( Cons 100 ) ) , ICF - ( CStatic "write" Call ) + ( Labeled Call + ( LArtificial "write" ) + ) , ICF - ( CStatic "newline" Call ) + ( Labeled Call + ( LArtificial "newline" ) + ) , End , ICF - ( SMark "add" ) + ( Mark + ( MArtificial "add" ) + ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF Return , ICF - ( SMark "write" ) + ( Mark + ( MArtificial "write" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ICF - ( CStatic "write_end" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "write_end" ) + ) , IAL ( SIO OutputChar ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "write" Jump ) + ( Labeled Jump + ( LArtificial "write" ) + ) , ICF - ( SMark "write_end" ) -, IAL ( SAL Discard ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "write_end" ) + ) +, IAL ( SPure Discard ) +, IAL ( SPure Discard ) , ICF Return , ICF - ( SMark "read" ) + ( Mark + ( MArtificial "read" ) + ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputChar ) , ILS Load , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL ( Binary Sub ) ) + ( SPure ( Binary Sub ) ) , ICF - ( CStatic "read_end" ( Branch EZ ) ) -, IAL ( SAL Discard ) + ( Labeled ( Branch EZ ) + ( LArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , ICF - ( CStatic "read" Jump ) + ( Labeled Jump + ( LArtificial "read" ) + ) , ICF - ( SMark "read_end" ) -, IAL ( SAL Discard ) + ( Mark + ( MArtificial "read_end" ) + ) +, IAL ( SPure Discard ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL - ( SAL ( Binary Add ) ) + ( SPure ( Binary Add ) ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , ILS Store , ICF Return , ICF - ( SMark "newline" ) + ( Mark + ( MArtificial "newline" ) + ) , IAL - ( SAL + ( SPure ( Cons 10 ) ) , IAL - ( SAL + ( SPure ( Cons 13 ) ) , IAL ( SIO OutputChar ) diff --git a/.output/golden/ws/il/parsed/original/truthMachine.il b/.output/golden/ws/il/parsed/original/truthMachine.il index 236fff896..58f623f86 100644 --- a/.output/golden/ws/il/parsed/original/truthMachine.il +++ b/.output/golden/ws/il/parsed/original/truthMachine.il @@ -1,28 +1,38 @@ [ IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL - ( SAL - ( SStatic 0 Copy ) + ( SPure + ( Indexed Copy + ( ImmediateO 0 ) + ) ) , ILS ( MIO InputDec ) , ILS Load , ICF - ( CStatic "\x0" ( Branch EZ ) ) + ( Labeled ( Branch EZ ) + ( LArtificial "\x0" ) + ) , ICF - ( SMark "\x1" ) + ( Mark + ( MArtificial "\x1" ) + ) , IAL - ( SAL + ( SPure ( Cons 1 ) ) , IAL ( SIO OutputDec ) , ICF - ( CStatic "\x1" Jump ) + ( Labeled Jump + ( LArtificial "\x1" ) + ) , ICF - ( SMark "\x0" ) + ( Mark + ( MArtificial "\x0" ) + ) , IAL - ( SAL + ( SPure ( Cons 0 ) ) , IAL ( SIO OutputDec ) diff --git a/docs/developers/CHANGELOG.md b/docs/developers/CHANGELOG.md index 1944e230f..b76c7fa0d 100644 --- a/docs/developers/CHANGELOG.md +++ b/docs/developers/CHANGELOG.md @@ -1,5 +1,9 @@ # 📅 Revision history for HelMA +## 0.8.4.5 -- 2023-03-27 + +* Add optimize + ## 0.8.4.4 -- 2023-03-14 * Add optimizer for Stack Automaton diff --git a/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.hs.html b/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.hs.html index fb3757d35..55ec34ae8 100644 --- a/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.hs.html +++ b/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.hs.html @@ -32,11 +32,19 @@ 13 consI = sal . Cons 14 15 addI , subI , mulI , divI , modI :: Instruction +<<<<<<< HEAD 16 addI = binary Add 17 subI = binary Sub 18 mulI = binary Mul 19 divI = binary Div 20 modI = binary Mod +======= + 16 addI = binary Add + 17 subI = binary Sub + 18 mulI = binary Mul + 19 divI = binary Div + 20 modI = binary Mod +>>>>>>> edc36565 (Compile Common Stack Automaton to lambdas) 21 22 divModI , negI , halibutI :: Instruction 23 divModI = binaries [Mod, Div] @@ -44,6 +52,7 @@ 25 halibutI = sal Halibut 26 27 dupI , swapI , rotI , dCopy , discardI :: Instruction +<<<<<<< HEAD 28 dupI = sCopyI 0 29 swapI = sMoveI 1 30 rotI = sMoveI 2 @@ -156,6 +165,116 @@ 137 138 type InstructionList = [Instruction] 139 type InstructionVector = Vector Instruction +======= + 28 dupI = sal $ SStatic 0 Copy + 29 swapI = sal $ SStatic 1 Move + 30 rotI = sal $ SStatic 2 Move + 31 dCopy = sal $ SDynamic Copy + 32 discardI = sal Discard + 33 + 34 sCopyI :: StackIndex -> Instruction + 35 sCopyI index = sal $ SStatic index Copy --FIXME + 36 + 37 sSlideI :: StackIndex -> Instruction + 38 sSlideI index = sal $ SStatic index Slide --FIXME + 39 + 40 sInputI , sOutputI , sOutputDecI :: Instruction + 41 sInputI = sio InputChar + 42 sOutputI = sio OutputChar + 43 sOutputDecI = sio OutputDec + 44 + 45 binaries :: [BinaryInstruction] -> Instruction + 46 binaries = sal . Binaries + 47 + 48 binary :: BinaryInstruction -> Instruction + 49 binary = sal . Binary + 50 + 51 unary :: UnaryInstruction -> Instruction + 52 unary = sal . Unary + 53 + 54 sal :: ALInstruction -> Instruction + 55 sal = IAL . SAL + 56 + 57 sio :: IOInstruction -> Instruction + 58 sio = IAL . SIO + 59 + 60 dMarkI :: Natural -> Instruction + 61 dMarkI = ICF . DMark + 62 + 63 sMarkIN :: Natural -> Instruction + 64 sMarkIN = sMarkI . show + 65 + 66 sMarkI :: Label -> Instruction + 67 sMarkI = ICF . SMark + 68 + 69 sJumpIN :: Natural -> Instruction + 70 sJumpIN = cStaticI Jump . show + 71 + 72 sCallI , sJumpI :: Label -> Instruction + 73 sCallI = cStaticI Call + 74 sJumpI = cStaticI Jump + 75 + 76 sEZI , sLTZI :: Label -> Instruction + 77 sEZI = cStaticI (Branch EZ ) + 78 sLTZI = cStaticI (Branch LTZ ) + 79 + 80 cStaticI :: LabelInstruction -> Label -> Instruction + 81 cStaticI i label = ICF $ CStatic label i + 82 + 83 returnI :: Instruction + 84 returnI = ICF Return + 85 + 86 -- ILS + 87 + 88 storeI , loadI :: Instruction + 89 storeI = ILS Store + 90 loadI = ILS Load + 91 + 92 mInputI , mInputDecI :: Instruction + 93 mInputI = ILS (MIO InputChar ) + 94 mInputDecI = ILS (MIO InputDec ) + 95 + 96 -- | Others + 97 + 98 extractPureIAL :: Instruction -> Maybe ALInstruction + 99 extractPureIAL (IAL (SAL i)) = Just i + 100 extractPureIAL _ = Nothing + 101 + 102 isPureIAL :: Instruction -> Bool + 103 isPureIAL (IAL (SIO _)) = False + 104 isPureIAL (IAL _ ) = True + 105 isPureIAL _ = False + 106 + 107 isICF :: Instruction -> Bool + 108 isICF (ICF _) = True + 109 isICF _ = False + 110 + 111 isMark :: Instruction -> Bool + 112 isMark (ICF (DMark _)) = True + 113 isMark (ICF (SMark _)) = True + 114 isMark _ = False + 115 + 116 isDMark :: Natural -> Instruction -> Bool + 117 isDMark n (ICF (DMark n')) = n == n' + 118 isDMark _ _ = False + 119 + 120 isSMark :: Label -> Instruction -> Bool + 121 isSMark l (ICF (SMark l')) = l == l' + 122 isSMark _ _ = False + 123 + 124 -- | Types + 125 + 126 data Instruction = + 127 IAL !SInstruction + 128 | ILS !LSInstruction + 129 | ICF !CFInstruction + 130 | End + 131 | Transfer + 132 deriving stock (Eq , Read , Show) + 133 + 134 type InstructionList = [Instruction] + 135 type InstructionVector = Vector Instruction +>>>>>>> edc36565 (Compile Common Stack Automaton to lambdas) diff --git a/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html b/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html index 52af82864..9ac3b59e6 100644 --- a/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html +++ b/docs/reports/helma-test/helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html @@ -19,7 +19,11 @@
     1 module HelVM.HelMA.Automaton.Optimizer (
     2   optimize,
+<<<<<<< HEAD
     3   constantFolding,
+=======
+    3   constantFoldingWithAcc,
+>>>>>>> edc36565 (Compile Common Stack Automaton to lambdas)
     4 ) where
     5 
     6 import           HelVM.HelMA.Automaton.API.OptimizationLevel
@@ -28,6 +32,7 @@
     9 
    10 import           HelVM.HelMA.Automaton.Instruction
    11 
+<<<<<<< HEAD
    12 import           HelVM.HelMA.Automaton.Instruction.SInstruction
    13 
    14 import qualified Data.ListLike                                  as LL
@@ -58,6 +63,52 @@
    39 
    40 peepholeOptimize :: InstructionList -> InstructionList
    41 peepholeOptimize = id
+=======
+   12 import           HelVM.HelMA.Automaton.Instruction.CFInstruction
+   13 import           HelVM.HelMA.Automaton.Instruction.SInstruction
+   14 
+   15 import qualified Data.ListLike                                   as LL
+   16 
+   17 optimize :: OptimizationLevel -> InstructionList -> InstructionList
+   18 optimize NoOptimizations    = id
+   19 optimize BasicOptimizations = constantFolding
+   20 optimize SomeOptimizations  = peepholeOptimize . constantFolding
+   21 optimize AllOptimizations   = peepholeOptimize . constantFolding
+   22 
+   23 constantFolding :: InstructionList -> InstructionList
+   24 constantFolding = constantFoldingWithAcc []
+   25 
+   26 constantFoldingWithAcc :: [Integer] -> InstructionList -> InstructionList
+   27 constantFoldingWithAcc acc (i : il) = constantFoldingForI acc il i
+   28 constantFoldingWithAcc acc []       = generateIL acc
+   29 
+   30 constantFoldingForI :: [Integer] -> InstructionList -> Instruction -> InstructionList
+   31 constantFoldingForI acc il i@(IAL (SAL i')) = constantFoldingForResult il i acc $ runSAL i' acc
+   32 constantFoldingForI acc il i                = generateIL acc <> (i : constantFolding il)
+   33 
+   34 constantFoldingForResult :: InstructionList -> Instruction -> [Integer] -> Either a [Integer] -> InstructionList
+   35 constantFoldingForResult il _ _   (Right acc) = constantFoldingWithAcc acc il
+   36 constantFoldingForResult il i acc (Left  _  ) = generateIL acc <> (i : constantFolding il)
+   37 
+   38 generateIL :: [Integer] -> InstructionList
+   39 generateIL acc = consI <$> LL.reverse acc
+   40 
+   41 peepholeOptimize :: InstructionList -> InstructionList
+   42 peepholeOptimize (IAL (SAL (Cons c)) : IAL (SAL (Cons a)) : Transfer : il) = peepholeOptimize (optimizeTransfer c a <> il)
+   43 --peepholeOptimize (IAL (Cons a)  : Transfer : il) = optimize (optimizeTransfer2 a <> il)
+   44 peepholeOptimize                                      (i : il)             = i : peepholeOptimize il
+   45 peepholeOptimize                                            []             = []
+   46 
+   47 optimizeTransfer :: Integer -> Integer -> InstructionList
+   48 optimizeTransfer 0 _ = []
+   49 optimizeTransfer _ 0 = [End]
+   50 optimizeTransfer _ a = [consI a , ICF dJumpI]
+   51 
+   52 --optimizeHalibut i
+   53 --  | i < 0
+   54 
+   55 -- https://helvm.org/eta/manual.html#4
+>>>>>>> edc36565 (Compile Common Stack Automaton to lambdas)
 
 
diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType.hs.html new file mode 100644 index 000000000..c5c5fe35e --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.API.BFType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultBFType :: BFType
+    7 defaultBFType = defaultEnum
+    8 
+    9 bfTypes :: [BFType]
+   10 bfTypes = generateEnums 3
+   11 
+   12 -- | Type
+   13 data BFType = FastType | TreeType | FlatType
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction.hs.html new file mode 100644 index 000000000..5e949c6e8 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction.hs.html @@ -0,0 +1,59 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction where
+    2 
+    3 import qualified Text.Read
+    4 import qualified Text.Show
+    5 
+    6 charToSimpleInstruction :: Char -> Maybe SimpleInstruction
+    7 charToSimpleInstruction = readMaybe . one
+    8 
+    9 simpleInstructions :: [SimpleInstruction]
+   10 simpleInstructions = [MoveR , MoveL , Inc , Dec , Output , Input]
+   11 
+   12 data SimpleInstruction =
+   13     MoveR
+   14   | MoveL
+   15   | Inc
+   16   | Dec
+   17   | Output
+   18   | Input
+   19   deriving stock (Bounded , Enum , Eq)
+   20 
+   21 instance Show SimpleInstruction where
+   22   show MoveR  = ">"
+   23   show MoveL  = "<"
+   24   show Inc    = "+"
+   25   show Dec    = "-"
+   26   show Output = "."
+   27   show Input  = ","
+   28 
+   29 instance Read SimpleInstruction where
+   30   readsPrec _ ">" = [( MoveR  , "")]
+   31   readsPrec _ "<" = [( MoveL  , "")]
+   32   readsPrec _ "+" = [( Inc    , "")]
+   33   readsPrec _ "-" = [( Dec    , "")]
+   34   readsPrec _ "." = [( Output , "")]
+   35   readsPrec _ "," = [( Input  , "")]
+   36   readsPrec _  _  = []
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol.hs.html new file mode 100644 index 000000000..4b3e01063 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol.hs.html @@ -0,0 +1,123 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Common.Symbol (
+    2   inc,
+    3   compare0,
+    4   def,
+    5   next,
+    6   prev,
+    7   toInteger,
+    8   fromChar,
+    9   toChar,
+   10   Symbol,
+   11 ) where
+   12 
+   13 import           Data.Default (Default)
+   14 
+   15 import qualified Data.Default as Default
+   16 import qualified Relude.Extra as Extra
+   17 
+   18 inc :: Symbol e => e -> e -> e
+   19 inc = flip (+)
+   20 
+   21 compare0 :: Integer -> Ordering
+   22 compare0 = compare 0
+   23 
+   24 --
+   25 
+   26 def :: Symbol e => e
+   27 def = Default.def
+   28 
+   29 next :: Symbol e => e -> e
+   30 next = Extra.next
+   31 
+   32 prev :: Symbol e => e -> e
+   33 prev = Extra.prev
+   34 
+   35 class (Bounded e , Default e , Enum e , Eq e , Integral e , Show e) => Symbol e where
+   36 --  toInteger  :: e -> Integer
+   37   fromChar   :: Char -> e
+   38   toChar     :: e -> Char
+   39 
+   40 --
+   41 
+   42 instance Symbol Int where
+   43 --  toInteger  = fromIntegral
+   44   fromChar   = ord
+   45   toChar     = chr
+   46 
+   47 instance Symbol Word where
+   48 --  toInteger  = fromIntegral
+   49   fromChar   = fromIntegral . ord
+   50   toChar     = chr . fromIntegral
+   51 
+   52 instance Symbol Int8 where
+   53 --  toInteger  = fromIntegral
+   54   fromChar   = fromIntegral . ord
+   55   toChar     = chr . normalizeMod . fromIntegral
+   56 
+   57 instance Symbol Word8 where
+   58 --  toInteger  = fromIntegral
+   59   fromChar   = fromIntegral . ord
+   60   toChar     = chr . fromIntegral
+   61 
+   62 instance Symbol Int16 where
+   63 --  toInteger  = fromIntegral
+   64   fromChar   = fromIntegral . ord
+   65   toChar     = chr . normalizeMod . fromIntegral
+   66 
+   67 instance Symbol Word16 where
+   68 --  toInteger  = fromIntegral
+   69   fromChar   = fromIntegral . ord
+   70   toChar     = chr . fromIntegral
+   71 
+   72 instance Symbol Int32 where
+   73 --  toInteger  = fromIntegral
+   74   fromChar   = fromIntegral . ord
+   75   toChar     = chr . normalizeMod . fromIntegral
+   76 
+   77 instance Symbol Word32 where
+   78 --  toInteger  = fromIntegral
+   79   fromChar   = fromIntegral . ord
+   80   toChar     = chr . fromIntegral
+   81 
+   82 instance Symbol Int64 where
+   83 --  toInteger  = fromIntegral
+   84   fromChar   = fromIntegral . ord
+   85   toChar     = chr . normalizeMod . fromIntegral
+   86 
+   87 instance Symbol Word64 where
+   88 --  toInteger  = fromIntegral
+   89   fromChar   = fromIntegral . ord
+   90   toChar     = chr . fromIntegral
+   91 --
+   92 
+   93 countSymbols :: (Integral e) => e
+   94 countSymbols = 256
+   95 
+   96 modifyMod :: (Integral e) => (e -> e) -> e -> e
+   97 modifyMod f i = f (i + countSymbols) `mod` countSymbols
+   98 
+   99 normalizeMod :: (Integral e) => e -> e
+  100 normalizeMod = modifyMod id
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols.hs.html new file mode 100644 index 000000000..40258d987 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols.hs.html @@ -0,0 +1,165 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols (
+    2   triAndClearSymbol,
+    3 
+    4   mulDupAndClearSymbol,
+    5   dupAndClearSymbol,
+    6 
+    7   mulAddAndClearSymbol,
+    8   addAndClearSymbol,
+    9   subAndClearSymbol,
+   10 
+   11   setSymbol,
+   12   incSymbol,
+   13   nextSymbol,
+   14   prevSymbol,
+   15   clearSymbol,
+   16   writeSymbol,
+   17 
+   18   moveHead,
+   19   moveHeadRight,
+   20   moveHeadLeft,
+   21 
+   22   newTape,
+   23   FullTape,
+   24 ) where
+   25 
+   26 import           HelVM.HelMA.Automata.BrainFuck.Common.Symbol
+   27 
+   28 import           Control.Monad.Extra
+   29 
+   30 -- | Complex instructions
+   31 
+   32 triAndClearSymbol :: (Symbol e) => Integer -> Integer -> Integer -> FullTapeD e
+   33 triAndClearSymbol f1 f2 f3 tape = tape & stepSymbol f1 & stepSymbol f2 & stepSymbol f3 & backAndClear back where
+   34   back = negate (f1 + f2 + f3)
+   35   stepSymbol = step symbol
+   36   symbol = readSymbol tape
+   37 
+   38 mulDupAndClearSymbol :: (Symbol e) => Integer -> Integer -> Integer -> Integer -> FullTapeD e
+   39 mulDupAndClearSymbol m1 m2 f1 f2 tape = tape & step ms1 f1 & step ms2 f2 & backAndClear back where
+   40   back = negate (f1 + f2)
+   41   ms1 = symbol * fromIntegral m1
+   42   ms2 = symbol * fromIntegral m2
+   43   symbol = readSymbol tape
+   44 
+   45 dupAndClearSymbol :: (Symbol e) => Integer -> Integer -> FullTapeD e
+   46 dupAndClearSymbol f1 f2 tape = tape & stepSymbol f1 & stepSymbol f2 & backAndClear back where
+   47   back = negate (f1 + f2)
+   48   stepSymbol = step symbol
+   49   symbol = readSymbol tape
+   50 
+   51 mulAddAndClearSymbol :: (Symbol e) => Integer -> Integer -> FullTapeD e
+   52 mulAddAndClearSymbol mul forward tape = tape & step mulSymbol forward & backAndClear back where
+   53   back = negate forward
+   54   mulSymbol = symbol * fromIntegral mul
+   55   symbol = readSymbol tape
+   56 
+   57 addAndClearSymbol :: (Symbol e) => Integer -> FullTapeD e
+   58 addAndClearSymbol = changeAndClearSymbol id
+   59 
+   60 subAndClearSymbol :: (Symbol e) => Integer -> FullTapeD e
+   61 subAndClearSymbol = changeAndClearSymbol negate
+   62 
+   63 changeAndClearSymbol :: (Symbol e) => (e -> e) -> Integer -> FullTapeD e
+   64 changeAndClearSymbol f forward tape = tape & step symbol forward & backAndClear back where
+   65   back = negate forward
+   66   symbol = f $ readSymbol tape
+   67 
+   68 step :: (Symbol e) => e -> Integer -> FullTapeD e
+   69 step symbol forward = addSymbol symbol . moveHead forward
+   70 
+   71 backAndClear :: (Symbol e) => Integer -> FullTapeD e
+   72 backAndClear back = clearSymbol . moveHead back
+   73 
+   74 -- | Change symbols
+   75 
+   76 setSymbol :: (Symbol e) => Integer -> FullTapeD e
+   77 setSymbol i = modifyCell $ const $ fromIntegral i
+   78 
+   79 incSymbol :: (Symbol e) => Integer -> FullTapeD e
+   80 incSymbol i = addSymbol $ fromIntegral i
+   81 
+   82 addSymbol :: (Symbol e) => e -> FullTapeD e
+   83 addSymbol e = modifyCell $ inc e
+   84 
+   85 clearSymbol :: (Symbol e) => FullTapeD e
+   86 clearSymbol = modifyCell $ const def
+   87 
+   88 nextSymbol :: (Symbol e) => FullTapeD e
+   89 nextSymbol = modifyCell next
+   90 
+   91 prevSymbol :: (Symbol e) => FullTapeD e
+   92 prevSymbol = modifyCell prev
+   93 
+   94 writeSymbol :: (Symbol e) => Char -> FullTapeD e
+   95 writeSymbol symbol = modifyCell (const $ fromChar symbol)
+   96 
+   97 modifyCell :: D e -> FullTapeD e
+   98 modifyCell f (left , cell : right) = (left , f cell : right)
+   99 modifyCell _ (_ , [])              = error "End of the Tape"
+  100 
+  101 readSymbol :: FullTape e -> e
+  102 readSymbol (_ , cell : _) = cell
+  103 readSymbol (_ , [])       = error "End of the Tape"
+  104 
+  105 -- | Moves
+  106 
+  107 moveHead :: (Symbol e) => Integer -> FullTapeD e
+  108 moveHead = changeTape moveHeadRight moveHeadLeft
+  109 
+  110 changeTape :: FullTapeD e -> FullTapeD e -> Integer -> FullTapeD e
+  111 changeTape lf gf i t = loop atc (i , t) where
+  112   atc (i' , t') = (check . compare0) i' where
+  113     check LT = Left (i' - 1 , lf t')
+  114     check GT = Left (i' + 1 , gf t')
+  115     check EQ = Right t'
+  116 
+  117 moveHeadRight :: (Symbol e) => FullTapeD e
+  118 moveHeadRight (cell : left , right) = pad (left , cell : right)
+  119 moveHeadRight ([] , _)              = error "End of the Tape"
+  120 
+  121 moveHeadLeft :: (Symbol e) => FullTapeD e
+  122 moveHeadLeft (left , cell : right) = pad (cell : left , right)
+  123 moveHeadLeft (_ , [])              = error "End of the Tape"
+  124 
+  125 pad :: (Symbol e) => FullTapeD e
+  126 pad ([] , [])    = newTape
+  127 pad ([] , right) = ([def] , right)
+  128 pad (left , [])  = (left , [def])
+  129 pad tape         = tape
+  130 
+  131 -- | Constructors
+  132 
+  133 newTape :: (Symbol e) => FullTape e
+  134 newTape = ([def] , [def])
+  135 
+  136 -- | Types
+  137 
+  138 type D a = a -> a
+  139 type FullTape e = (HalfTape e , HalfTape e)
+  140 type FullTapeD e = D (FullTape e)
+  141 
+  142 type HalfTape e = [e]
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator.hs.html new file mode 100644 index 000000000..50e369f91 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator.hs.html @@ -0,0 +1,64 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Evaluator where
+    2 
+    3 import qualified HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator  as Fast
+    4 import qualified HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator  as Flat
+    5 import qualified HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator  as Tree
+    6 
+    7 import           HelVM.HelMA.Automata.BrainFuck.API.BFType
+    8 
+    9 import           HelVM.HelMA.Automata.BrainFuck.Common.Symbol
+   10 import           HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
+   11 
+   12 import           HelVM.HelMA.Automaton.API.EvalParams
+   13 import           HelVM.HelMA.Automaton.API.IOTypes
+   14 
+   15 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   16 
+   17 import           HelVM.HelMA.Automaton.Types.CellType
+   18 import           HelVM.HelMA.Automaton.Types.DumpType
+   19 
+   20 simpleEval :: BIO m => (BFType , Source , CellType) -> m ()
+   21 simpleEval (c , s , t) = eval c s t Pretty --TODO Add MaybeLimit and use Loop
+   22 
+   23 ----
+   24 
+   25 evalParams :: BIO m => BFType -> EvalParams -> m ()
+   26 evalParams b p = eval b (source p) (cellAutoOptions p) (dumpAutoOptions p)
+   27 
+   28 eval :: BIO m => BFType -> Source -> CellType -> DumpType -> m ()
+   29 eval c s Int8Type   = evalSource c s (newTape :: FullTape Int8)
+   30 eval c s Word8Type  = evalSource c s (newTape :: FullTape Word8)
+   31 eval c s Int16Type  = evalSource c s (newTape :: FullTape Int16)
+   32 eval c s Word16Type = evalSource c s (newTape :: FullTape Word16)
+   33 eval c s Int32Type  = evalSource c s (newTape :: FullTape Int32)
+   34 eval c s Word32Type = evalSource c s (newTape :: FullTape Word32)
+   35 eval c s Int64Type  = evalSource c s (newTape :: FullTape Int64)
+   36 eval c s Word64Type = evalSource c s (newTape :: FullTape Word64)
+   37 
+   38 evalSource :: (BIO m , Symbol e) => BFType -> Source -> FullTape e -> DumpType -> m ()
+   39 evalSource FastType = Fast.evalSource
+   40 evalSource TreeType = Tree.evalSource
+   41 evalSource FlatType = Flat.evalSource
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator.hs.html new file mode 100644 index 000000000..6426f60db --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator.hs.html @@ -0,0 +1,98 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator (
+    2   evalSource,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
+    6 
+    7 import           HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
+    8 
+    9 import           HelVM.HelMA.Automata.BrainFuck.Common.Symbol
+   10 import           HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
+   11 
+   12 import           HelVM.HelMA.Automaton.API.IOTypes
+   13 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   14 import           HelVM.HelMA.Automaton.Types.DumpType
+   15 
+   16 import           HelVM.HelIO.Containers.LLIndexSafe
+   17 
+   18 import           Control.Type.Operator
+   19 
+   20 evalSource :: (BIO m , Symbol e) => Source -> FullTape e -> DumpType -> m ()
+   21 evalSource source tape dt = logDump dt =<< flip runList tape =<< parseWithOptimize source
+   22 
+   23 runList :: (BIO m , Symbol e) => FastInstructionList -> FullTape e -> m $ Memory e
+   24 runList il = nextStep (IM il 0)
+   25 
+   26 nextStep :: (BIO m , Symbol e) => InstructionMemory -> FullTape e -> m $ Memory e
+   27 nextStep (IM iv ic) = doInstruction (iv `indexMaybe` ic) (IM iv $ ic + 1)
+   28 
+   29 doInstruction :: (BIO m , Symbol e) => Maybe FastInstruction -> InstructionMemory -> FullTape e -> m $ Memory e
+   30 doInstruction (Just (Move   i       )) table tape       = nextStep     table (moveHead          i        tape)
+   31 doInstruction (Just (Inc    i       )) table tape       = nextStep     table (incSymbol         i        tape)
+   32 doInstruction (Just  Output          ) table tape       = doOutputChar table                             tape
+   33 doInstruction (Just  Input           ) table tape       = doInputChar  table                             tape
+   34 doInstruction (Just (While  iv      )) table tape       = doWhile iv   table                             tape
+   35 doInstruction (Just (Set    i       )) table tape       = nextStep     table (setSymbol         i        tape)
+   36 
+   37 doInstruction (Just (SubClr          f    )) table tape = nextStep table (subAndClearSymbol          f     tape)
+   38 doInstruction (Just (AddClr          f    )) table tape = nextStep table (addAndClearSymbol          f     tape)
+   39 doInstruction (Just (MulAddClr m     f    )) table tape = nextStep table (mulAddAndClearSymbol m     f     tape)
+   40 
+   41 doInstruction (Just (DupClr          f1 f2)) table tape = nextStep table (dupAndClearSymbol          f1 f2 tape)
+   42 doInstruction (Just (MulDupClr m1 m2 f1 f2)) table tape = nextStep table (mulDupAndClearSymbol m1 m2 f1 f2 tape)
+   43 
+   44 doInstruction (Just (TriClr i1 i2 i3)) table tape       = nextStep     table (triAndClearSymbol i1 i2 i3 tape)
+   45 doInstruction  Nothing           table tape             = doEnd        table                             tape
+   46 
+   47 doWhile :: (BIO m , Symbol e) => FastInstructionList -> InstructionMemory -> FullTape e -> m $ Memory e
+   48 doWhile _  table tape@(_ , 0:_) = nextStep table tape
+   49 doWhile iv table tape           = doWhileWithTape =<< runList iv tape where
+   50   doWhileWithTape :: (BIO m , Symbol e) => Memory e -> m $ Memory e
+   51   doWhileWithTape = doWhile iv table . memoryTape
+   52 
+   53 -- | IO instructions
+   54 doOutputChar :: (BIO m , Symbol e) => InstructionMemory -> FullTape e -> m $ Memory e
+   55 doOutputChar _          (_ ,  []) = error "Illegal State"
+   56 doOutputChar table tape@(_ , e:_) = wPutChar (toChar e) *> nextStep table tape
+   57 
+   58 doInputChar  :: (BIO m , Symbol e) => InstructionMemory -> FullTape e -> m $ Memory e
+   59 doInputChar table tape = (nextStep table . flip writeSymbol tape) =<< wGetChar
+   60 
+   61 -- | Terminate instruction
+   62 doEnd :: BIO m => InstructionMemory -> FullTape e -> m $ Memory e
+   63 doEnd iu tape = pure $ Memory iu tape
+   64 
+   65 -- | Types
+   66 data Memory e = Memory
+   67   { memoryIM   :: InstructionMemory
+   68   , memoryTape :: FullTape e
+   69   }
+   70   deriving stock (Eq , Show)
+   71 
+   72 data InstructionMemory = IM !FastInstructionList !InstructionCounter
+   73   deriving stock (Eq , Show)
+   74 
+   75 type InstructionCounter = Int
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction.hs.html new file mode 100644 index 000000000..b73adc623 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction.hs.html @@ -0,0 +1,41 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction where
+    2 
+    3 data FastInstruction =
+    4     Move Integer
+    5   | Inc Integer
+    6   | Output
+    7   | Input
+    8   | While FastInstructionList
+    9   | Set Integer
+   10   | SubClr Integer
+   11   | AddClr Integer
+   12   | MulAddClr Integer Integer
+   13   | DupClr Integer Integer
+   14   | MulDupClr Integer Integer Integer Integer
+   15   | TriClr Integer Integer Integer
+   16   deriving stock (Eq , Read , Show)
+   17 
+   18 type FastInstructionList = [FastInstruction]
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer.hs.html new file mode 100644 index 000000000..90d386727 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer.hs.html @@ -0,0 +1,71 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer (
+    2   optimize,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
+    6 
+    7 optimize :: FastInstructionList -> FastInstructionList
+    8 optimize  (Move s1 : Move s2 : il) = optimize (Move (s1 + s2) : il)
+    9 optimize  (Inc  s1 : Inc  s2 : il) = optimize (Inc  (s1 + s2) : il)
+   10 optimize ((While [Inc (-1)]) : il) = buildClear il
+   11 optimize ((While [Inc   1 ]) : il) = buildClear il
+   12 optimize        ((While il') : il) = buildWhile (optimize il') : optimize il
+   13 optimize                  (i : il) = i : optimize il
+   14 optimize                       []  = []
+   15 
+   16 buildClear :: FastInstructionList -> FastInstructionList
+   17 buildClear = optimizeSet . optimize
+   18 
+   19 optimizeSet :: FastInstructionList -> FastInstructionList
+   20 optimizeSet (Inc s : il) = Set s : il
+   21 optimizeSet          il  = Set 0 : il
+   22 
+   23 buildWhile :: FastInstructionList -> FastInstruction
+   24 buildWhile [Move forward , Inc mul , Move back , Inc (-1)]                              = buildAdd back forward mul
+   25 buildWhile [Inc (-1) , Move forward , Inc mul , Move back]                              = buildAdd back forward mul
+   26 buildWhile [Move f1 , Inc m1 , Move f2 , Inc m2 , Move back , Inc (-1)]                 = buildDup back f1 f2 m1 m2
+   27 buildWhile [Inc (-1) , Move f1 , Inc m1 , Move f2 , Inc m2 , Move back]                 = buildDup back f1 f2 m1 m2
+   28 buildWhile [Move f1 , Inc 1 , Move f2 , Inc 1 , Move f3 , Inc 1 , Move back , Inc (-1)] = buildTri back f1 f2 f3
+   29 buildWhile [Inc (-1) , Move f1 , Inc 1 , Move f2 , Inc 1 , Move f3 , Inc 1 , Move back] = buildTri back f1 f2 f3
+   30 buildWhile il                                                                           = While il
+   31 
+   32 buildAdd :: Integer -> Integer -> Integer -> FastInstruction
+   33 buildAdd back forward = build (negate back == forward) where
+   34   build True  (-1) = SubClr        forward
+   35   build True    1  = AddClr        forward
+   36   build True  mul  = MulAddClr mul forward
+   37   build False mul  = While [Move forward , Inc mul , Move back , Inc (-1)]
+   38 
+   39 buildDup :: Integer -> Integer -> Integer -> Integer -> Integer -> FastInstruction
+   40 buildDup back f1 f2 = build (negate back == f1 + f2) where
+   41   build True   1  1 = DupClr          f1 f2
+   42   build True  m1 m2 = MulDupClr m1 m2 f1 f2
+   43   build False m1 m2 = While [Move f1 , Inc m1 , Move f2 , Inc m2 , Move back , Inc (-1)]
+   44 
+   45 buildTri :: Integer -> Integer -> Integer -> Integer -> FastInstruction
+   46 buildTri back f1 f2 f3
+   47   | f1 + f2 + f3 == negate back = TriClr f1 f2 f3
+   48   | otherwise = While [Move f1 , Inc 1 , Move f2 , Inc 1 , Move f3 , Inc 1 , Move back , Inc (-1)]
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser.hs.html new file mode 100644 index 000000000..c5a9e4017 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser.hs.html @@ -0,0 +1,105 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser (
+    2   parseWithOptimizeSafe,
+    3   parseAsListSafe,
+    4   parseWithOptimize,
+    5   parseAsList,
+    6 ) where
+    7 
+    8 import           HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
+    9 import           HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer
+   10 
+   11 import qualified HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction as Simple
+   12 
+   13 import           HelVM.HelMA.Automaton.API.IOTypes
+   14 import           HelVM.HelMA.Automaton.ReadPExtra
+   15 
+   16 import           HelVM.HelIO.Control.Safe
+   17 
+   18 import           Control.Applicative.Tools
+   19 
+   20 import qualified Data.Text                                               as Text
+   21 
+   22 import           Text.ParserCombinators.ReadP                            hiding (many)
+   23 
+   24 parseWithOptimizeSafe :: Source -> Safe FastInstructionList
+   25 parseWithOptimizeSafe = parseWithOptimize
+   26 
+   27 parseAsListSafe :: Source -> Safe FastInstructionList
+   28 parseAsListSafe = parseAsList
+   29 
+   30 parseWithOptimize :: MonadSafe m => Source -> m FastInstructionList
+   31 parseWithOptimize = optimize <.> parseAsList
+   32 
+   33 parseAsList :: MonadSafe m => Source -> m FastInstructionList
+   34 parseAsList = runParser parameterizedInstructionsParser . filterComments
+   35 
+   36 parameterizedInstructionsParser :: ReadP FastInstructionList
+   37 parameterizedInstructionsParser = many1 parameterizedInstructionParser
+   38 
+   39 parameterizedInstructionParser :: ReadP FastInstruction
+   40 parameterizedInstructionParser =
+   41       moveRParser <|> moveLParser
+   42   <|> incParser   <|> decParser
+   43   <|> outParser   <|> inParser
+   44   <|> whileParser
+   45 
+   46 moveRParser :: ReadP FastInstruction
+   47 moveRParser = Move 1 <$ char '>'
+   48 
+   49 moveLParser :: ReadP FastInstruction
+   50 moveLParser = Move negate1 <$ char '<'
+   51 
+   52 incParser :: ReadP FastInstruction
+   53 incParser = Inc 1 <$ char '+'
+   54 
+   55 decParser :: ReadP FastInstruction
+   56 decParser = Inc negate1 <$ char '-'
+   57 
+   58 outParser :: ReadP FastInstruction
+   59 outParser = Output <$ char '.'
+   60 
+   61 inParser :: ReadP FastInstruction
+   62 inParser = Input <$ char ','
+   63 
+   64 whileParser :: ReadP FastInstruction
+   65 whileParser = While <$> (char '[' *> parameterizedInstructionsParser <* char ']')
+   66 
+   67 filterComments :: Source -> Source
+   68 filterComments = Text.filter isNotComment
+   69 
+   70 isNotComment :: Char -> Bool
+   71 isNotComment c = c `elem` allInstructionChars
+   72 
+   73 allInstructionChars :: String
+   74 allInstructionChars = "[]" <> simpleInstructionChars
+   75 
+   76 simpleInstructionChars :: String
+   77 simpleInstructionChars = show =<< Simple.simpleInstructions
+   78 
+   79 --
+   80 
+   81 negate1 :: Integer
+   82 negate1 = negate 1
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator.hs.html new file mode 100644 index 000000000..9da8b9429 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator.hs.html @@ -0,0 +1,81 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator(
+    2   evalSource,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
+    6 import           HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
+    7 import           HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
+    8 
+    9 import           HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
+   10 import           HelVM.HelMA.Automata.BrainFuck.Common.Symbol
+   11 import           HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
+   12 
+   13 import           HelVM.HelMA.Automaton.API.IOTypes
+   14 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   15 import           HelVM.HelMA.Automaton.Types.DumpType
+   16 
+   17 import           Control.Type.Operator
+   18 
+   19 evalSource :: (BIO m , Symbol e) => Source -> FullTape e -> DumpType -> m ()
+   20 evalSource source tape dt = logDump dt =<< doInstruction ([] , tokenize source) tape
+   21 
+   22 doInstruction :: (BIO m , Symbol e) => Table -> FullTape e -> m $ Memory e
+   23 doInstruction table@(_ , Simple MoveR  : _) tape = doInstruction (nextInst table) (moveHeadRight tape)
+   24 doInstruction table@(_ , Simple MoveL  : _) tape = doInstruction (nextInst table)  (moveHeadLeft tape)
+   25 doInstruction table@(_ , Simple Inc    : _) tape = doInstruction (nextInst table)    (nextSymbol tape)
+   26 doInstruction table@(_ , Simple Dec    : _) tape = doInstruction (nextInst table)    (prevSymbol tape)
+   27 doInstruction table@(_ , Simple Output : _) tape = doOutputChar            table                 tape
+   28 doInstruction table@(_ , Simple Input  : _) tape = doInputChar             table                 tape
+   29 doInstruction table@(_ , JmpPast       : _) tape = doJmpPast               table                 tape
+   30 doInstruction table@(_ , JmpBack       : _) tape = doJmpBack               table                 tape
+   31 doInstruction table@(_ , []               ) tape = doEnd                   table                 tape
+   32 
+   33 doJmpPast :: (BIO m , Symbol e) => Table -> FullTape e -> m $ Memory e
+   34 doJmpPast table tape@(_ , 0 : _) = doInstruction (jumpPast table) tape
+   35 doJmpPast table tape             = doInstruction (nextInst table) tape
+   36 
+   37 doJmpBack :: (BIO m , Symbol e) => Table -> FullTape e -> m $ Memory e
+   38 doJmpBack table tape@(_ , 0 : _) = doInstruction (nextInst table) tape
+   39 doJmpBack table tape             = doInstruction (jumpBack table) tape
+   40 
+   41 -- | IO instructions
+   42 doOutputChar :: (BIO m , Symbol e) => Table -> FullTape e -> m $ Memory e
+   43 doOutputChar _          (_ ,    []) = error "Illegal State"
+   44 doOutputChar table tape@(_ , e : _) = wPutChar (toChar e) *> doInstruction (nextInst table) tape
+   45 
+   46 doInputChar :: (BIO m , Symbol e) => Table -> FullTape e -> m $ Memory e
+   47 doInputChar table tape = (doInstruction (nextInst table) . flip writeSymbol tape) =<< wGetChar
+   48 
+   49 -- | Terminate instruction
+   50 doEnd :: BIO m => Table -> FullTape e -> m $ Memory e
+   51 doEnd table tape = pure $ Memory table tape
+   52 
+   53 -- | Types
+   54 data Memory e = Memory
+   55   { memoryTable :: Table
+   56   , memoryTape  :: FullTape e
+   57   }
+   58   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction.hs.html new file mode 100644 index 000000000..5f38cc523 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction.hs.html @@ -0,0 +1,54 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction where
+    2 
+    3 import           HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
+    4 
+    5 import           Text.Read
+    6 
+    7 import qualified Text.Show
+    8 
+    9 data FlatInstruction =
+   10     Simple SimpleInstruction
+   11   | JmpPast
+   12   | JmpBack
+   13   deriving stock (Eq)
+   14 
+   15 type FlatTreeInstructionList = [FlatInstruction]
+   16 
+   17 instance Show FlatInstruction where
+   18   show (Simple i) = show i
+   19   show JmpPast    = "["
+   20   show JmpBack    = "]"
+   21 
+   22 instance Read FlatInstruction where
+   23   readsPrec _ ">" = [( Simple MoveR  , "")]
+   24   readsPrec _ "<" = [( Simple MoveL  , "")]
+   25   readsPrec _ "+" = [( Simple Inc    , "")]
+   26   readsPrec _ "-" = [( Simple Dec    , "")]
+   27   readsPrec _ "." = [( Simple Output , "")]
+   28   readsPrec _ "," = [( Simple Input  , "")]
+   29   readsPrec _ "[" = [( JmpPast       , "")]
+   30   readsPrec _ "]" = [( JmpBack       , "")]
+   31   readsPrec _ _   = []
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser.hs.html new file mode 100644 index 000000000..9d9760fb2 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser.hs.html @@ -0,0 +1,40 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser where
+    2 
+    3 import           HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
+    4 
+    5 import           HelVM.HelMA.Automaton.API.IOTypes
+    6 import           HelVM.HelMA.Automaton.WrapTokenList
+    7 
+    8 import           HelVM.HelIO.ReadText
+    9 
+   10 -- | Parser
+   11 tokenize :: Source -> FlatTreeInstructionList
+   12 tokenize =  unWrapTokenList . readTokens
+   13 
+   14 readTokens :: Source -> Tokens
+   15 readTokens source = readTextUnsafe source :: Tokens
+   16 
+   17 type Tokens = WrapTokenList FlatTreeInstructionList
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions.hs.html new file mode 100644 index 000000000..51d637bfe --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions.hs.html @@ -0,0 +1,58 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions where
+    2 
+    3 import           HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
+    4 
+    5 type HalfTable = FlatTreeInstructionList
+    6 type Table = (HalfTable , HalfTable)
+    7 type TableD = Table -> Table
+    8 
+    9 currentInstruction :: ([a], [a]) -> Maybe a
+   10 currentInstruction (_ , i : _) = Just i
+   11 currentInstruction (_ ,    []) = Nothing
+   12 
+   13 prevInst :: TableD
+   14 prevInst (inst : prev , next) = (prev , inst : next)
+   15 prevInst ([] , _)             = error "End of the table"
+   16 
+   17 nextInst :: TableD
+   18 nextInst (prev , inst : next) = (inst : prev , next)
+   19 nextInst (_ , [])             = error "End of the table"
+   20 
+   21 matchPrevJmp :: TableD
+   22 matchPrevJmp table@(JmpPast : _ , _) =                                      table
+   23 matchPrevJmp table@(JmpBack : _ , _) = (matchPrevJmp . prevInst . jumpBack) table
+   24 matchPrevJmp table                   =                            jumpBack  table
+   25 
+   26 matchNextJmp :: TableD
+   27 matchNextJmp table@(_ , JmpBack : _) =                 nextInst  table
+   28 matchNextJmp table@(_ , JmpPast : _) = (matchNextJmp . jumpPast) table
+   29 matchNextJmp table                   =                 jumpPast  table
+   30 
+   31 jumpPast :: TableD
+   32 jumpPast = matchNextJmp . nextInst
+   33 
+   34 jumpBack :: TableD
+   35 jumpBack = matchPrevJmp . prevInst
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator.hs.html new file mode 100644 index 000000000..13fbbae98 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator.hs.html @@ -0,0 +1,90 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator (
+    2   evalSource,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
+    6 import           HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
+    7 
+    8 import           HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
+    9 import           HelVM.HelMA.Automata.BrainFuck.Common.Symbol
+   10 import           HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
+   11 
+   12 import           HelVM.HelMA.Automaton.API.IOTypes
+   13 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   14 import           HelVM.HelMA.Automaton.Types.DumpType
+   15 
+   16 import           HelVM.HelIO.Containers.LLIndexSafe
+   17 
+   18 import           Control.Type.Operator
+   19 
+   20 evalSource :: (BIO m , Symbol e) => Source -> FullTape e -> DumpType -> m ()
+   21 evalSource source tape dt = logDump dt =<< flip runVector tape =<< parseAsVector source
+   22 
+   23 runVector :: (BIO m , Symbol e) => TreeInstructionVector -> FullTape e -> m $ Memory e
+   24 runVector iv = nextStep (IM iv 0)
+   25 
+   26 nextStep :: (BIO m , Symbol e) => InstructionMemory -> FullTape e -> m $ Memory e
+   27 nextStep (IM iv ic) = doInstruction (iv `indexMaybe` ic) (IM iv $ ic + 1)
+   28 
+   29 doInstruction :: (BIO m , Symbol e) => Maybe TreeInstruction -> InstructionMemory -> FullTape e -> m $ Memory e
+   30 doInstruction (Just (Simple MoveR     )) table tape = nextStep     table (moveHeadRight tape)
+   31 doInstruction (Just (Simple MoveL     )) table tape = nextStep     table  (moveHeadLeft tape)
+   32 doInstruction (Just (Simple Inc       )) table tape = nextStep     table    (nextSymbol tape)
+   33 doInstruction (Just (Simple Dec       )) table tape = nextStep     table    (prevSymbol tape)
+   34 doInstruction (Just (Simple Output    )) table tape = doOutputChar table                tape
+   35 doInstruction (Just (Simple Input     )) table tape = doInputChar  table                tape
+   36 doInstruction (Just (While  iv        )) table tape = doWhile iv   table                tape
+   37 doInstruction  Nothing                   table tape = doEnd        table                tape
+   38 
+   39 doWhile :: (BIO m , Symbol e) => TreeInstructionVector -> InstructionMemory -> FullTape e -> m $ Memory e
+   40 doWhile _  table tape@(_ , 0:_) = nextStep table tape
+   41 doWhile iv table tape           = doWhileWithTape =<< runVector iv tape where
+   42   doWhileWithTape :: (BIO m , Symbol e) => Memory e -> m $ Memory e
+   43   doWhileWithTape = doWhile iv table . memoryTape
+   44 
+   45 -- | IO instructions
+   46 doOutputChar :: (BIO m , Symbol e) => InstructionMemory -> FullTape e -> m $ Memory e
+   47 doOutputChar _          (_ ,  []) = error "Illegal State"
+   48 doOutputChar table tape@(_ , e:_) = wPutChar (toChar e) *> nextStep table tape
+   49 
+   50 doInputChar  :: (BIO m , Symbol e) => InstructionMemory -> FullTape e -> m $ Memory e
+   51 doInputChar table tape = (nextStep table . flip writeSymbol tape) =<< wGetChar
+   52 
+   53 -- | Terminate instruction
+   54 doEnd :: BIO m => InstructionMemory -> FullTape e -> m $ Memory e
+   55 doEnd im tape = pure $ Memory im tape
+   56 
+   57 -- | Types
+   58 data Memory e = Memory
+   59   { memoryIM   :: InstructionMemory
+   60   , memoryTape :: FullTape e
+   61   }
+   62   deriving stock (Eq , Show)
+   63 
+   64 data InstructionMemory = IM !TreeInstructionVector !InstructionCounter
+   65   deriving stock (Eq , Show)
+   66 
+   67 type InstructionCounter = Int
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction.hs.html new file mode 100644 index 000000000..f1c147c8e --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction.hs.html @@ -0,0 +1,38 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction where
+    2 
+    3 import           HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
+    4 
+    5 import           Data.DList
+    6 import           Data.Vector
+    7 
+    8 data TreeInstruction =
+    9     Simple SimpleInstruction
+   10   | While !TreeInstructionVector
+   11   deriving stock (Eq , Read , Show)
+   12 
+   13 type TreeInstructionList   = [TreeInstruction]
+   14 type TreeInstructionDList  = DList TreeInstruction
+   15 type TreeInstructionVector = Vector TreeInstruction
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser.hs.html new file mode 100644 index 000000000..cbff8d65a --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser.hs.html @@ -0,0 +1,72 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser (
+    2   parseAsVectorSafe,
+    3   parseAsVector,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction    as Tree
+    7 
+    8 import           HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
+    9 
+   10 import           HelVM.HelMA.Automaton.API.IOTypes
+   11 import           HelVM.HelMA.Automaton.ReadPExtra
+   12 
+   13 import           HelVM.HelIO.Control.Safe
+   14 import           HelVM.HelIO.Extra                                       hiding (runParser)
+   15 
+   16 import qualified Data.Text                                               as Text
+   17 import qualified Data.Vector                                             as Vector
+   18 
+   19 import           Text.ParserCombinators.ReadP                            hiding (many)
+   20 
+   21 parseAsVectorSafe :: Source -> Safe TreeInstructionVector
+   22 parseAsVectorSafe = parseAsVector
+   23 
+   24 parseAsVector :: MonadSafe m => Source -> m TreeInstructionVector
+   25 parseAsVector = runParser treeInstructionsParser . filterComments
+   26 
+   27 treeInstructionsParser :: ReadP TreeInstructionVector
+   28 treeInstructionsParser = Vector.fromList <$> many treeInstructionParser
+   29 
+   30 treeInstructionParser :: ReadP TreeInstruction
+   31 treeInstructionParser = simpleParser <|> whileParser
+   32 
+   33 whileParser :: ReadP TreeInstruction
+   34 whileParser = Tree.While <$> (char '[' *> treeInstructionsParser <* char ']')
+   35 
+   36 simpleParser :: ReadP TreeInstruction
+   37 simpleParser =  Simple . fromJustWithText "imposible" . charToSimpleInstruction <$> oneOf simpleInstructionChars
+   38 
+   39 filterComments :: Source -> Source
+   40 filterComments = Text.filter isNotComment
+   41 
+   42 isNotComment :: Char -> Bool
+   43 isNotComment c = c `elem` allInstructionChars
+   44 
+   45 allInstructionChars :: String
+   46 allInstructionChars = "[]" <> simpleInstructionChars
+   47 
+   48 simpleInstructionChars :: String
+   49 simpleInstructionChars = show =<< simpleInstructions
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator.hs.html new file mode 100644 index 000000000..3bb70e191 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.Cat.Evaluator (
+    2   evalParams,
+    3   eval
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automaton.API.EvalParams
+    7 import           HelVM.HelMA.Automaton.API.IOTypes
+    8 import           HelVM.HelMA.Automaton.IO.BusinessIO
+    9 
+   10 evalParams :: BIO m => EvalParams -> m ()
+   11 evalParams = eval . source
+   12 
+   13 eval :: BusinessIO m => Source -> m ()
+   14 eval = wPutStr
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType.hs.html new file mode 100644 index 000000000..3bebcfe93 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.API.ETAImplType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultETAImplType :: ETAImplType
+    7 defaultETAImplType = defaultEnum
+    8 
+    9 etaImplTypes:: [ETAImplType]
+   10 etaImplTypes = generateEnums 2
+   11 
+   12 -- | Type
+   13 data ETAImplType = Fast | Original
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing.hs.html new file mode 100644 index 000000000..17e805bdf --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing.hs.html @@ -0,0 +1,59 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Addressing (
+    2   genericFindAddress,
+    3   findAddress,
+    4   genericNextLabel,
+    5   nextLabel
+    6 ) where
+    7 
+    8 import           HelVM.HelMA.Automata.ETA.Symbol
+    9 import           HelVM.HelMA.Automata.ETA.Token
+   10 
+   11 import           HelVM.HelIO.Containers.LLIndexSafe
+   12 
+   13 import           HelVM.HelIO.Control.Safe
+   14 
+   15 import           Data.ListLike                      hiding (show)
+   16 
+   17 import           Prelude                            hiding (length, splitAt)
+   18 
+   19 import qualified Data.Vector                        as Vector
+   20 
+   21 ----
+   22 
+   23 genericFindAddress :: (MonadSafe m , Integral cell) => Vector.Vector Token -> cell -> m InstructionAddress
+   24 genericFindAddress il = findAddress il . fromIntegral
+   25 
+   26 findAddress :: MonadSafe m => Vector.Vector Token -> Int -> m InstructionAddress
+   27 findAddress _  1       = pure 0
+   28 findAddress il address = appendErrorTupleList [("il" , show il) , ("address" , show address)] ((+1) <$> indexSafe (Vector.elemIndices R il) (address-2))
+   29 
+   30 ----
+   31 
+   32 genericNextLabel :: Integral cell => Vector.Vector Token -> InstructionAddress -> cell
+   33 genericNextLabel il = fromIntegral . nextLabel il
+   34 
+   35 nextLabel :: Vector.Vector Token -> InstructionAddress -> Int
+   36 nextLabel il ic = length (Vector.elemIndices R il') + 2  where (il' , _) = splitAt ic il
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton.hs.html new file mode 100644 index 000000000..f4db5f44a --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton.hs.html @@ -0,0 +1,108 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Automaton (
+    2   run,
+    3   newMemory,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.ETA.Addressing
+    7 import           HelVM.HelMA.Automata.ETA.OperandParsers
+    8 import           HelVM.HelMA.Automata.ETA.Token
+    9 
+   10 import           HelVM.HelMA.Automaton.Loop
+   11 
+   12 import           HelVM.HelMA.Automaton.IO.AutomatonIO
+   13 
+   14 import           HelVM.HelMA.Automaton.Combiner.ALU      as Stack
+   15 
+   16 import           Control.Monad.Extra
+   17 import           Control.Type.Operator
+   18 import           HelVM.HelMA.Automata.ETA.Symbol
+   19 
+   20 import qualified Data.Vector                             as Vector
+   21 
+   22 import           Prelude                                 hiding (divMod)
+   23 
+   24 run :: (SAutomatonIO e s m) => Maybe Natural -> Memory s -> m $ Memory s
+   25 run = loopMWithLimit nextState
+   26 
+   27 nextState :: (SAutomatonIO e s m) => Memory s -> m $ MemorySame s
+   28 nextState (Memory iu s) = build =<< nextIM iu where build (t , iu') = doInstruction t (Memory iu' s)
+   29 
+   30 doInstruction :: (SAutomatonIO e s m) => Maybe Token -> Memory s -> m $ MemorySame s
+   31 -- | IO instructions
+   32 doInstruction (Just O) u                        = Left . updateStack u <$> doOutputChar2 (memoryStack u)
+   33 doInstruction (Just I) u                        = Left . updateStack u <$> doInputChar2 (memoryStack u)
+   34 
+   35 -- | Stack instructions
+   36 doInstruction (Just N) (Memory iu s)            = build <$> parseNumber iu where build (symbol , iu') = Left (Memory iu' (push1 symbol s))
+   37 doInstruction (Just H) u                        = Left . updateStack u <$> halibut (memoryStack u)
+   38 
+   39 -- | Arithmetic
+   40 doInstruction (Just S) u                        = Left . updateStack u <$> sub (memoryStack u)
+   41 doInstruction (Just E) u                        = Left . updateStack u <$> divMod (memoryStack u)
+   42 
+   43 -- | Control
+   44 doInstruction (Just R) u                        = pure $ Left u
+   45 doInstruction (Just A) (Memory iu@(IM il ic) s) = pure $ Left ((Memory iu . flipPush1 s . genericNextLabel il) ic)
+   46 doInstruction (Just T) u                        = transfer u
+   47 doInstruction Nothing u                         = end u
+   48 
+   49 transfer :: (SAutomatonIO e s m) => Memory s -> m $ MemorySame s
+   50 transfer = branch <=< pop2ForStack where
+   51   branch (_ , 0 , u) = pure $ Left u
+   52   branch (0 , _ , u) = end u
+   53   branch (l , _ , u) = Left . updateAddress u <$> genericFindAddress (memoryProgram u) l
+   54 
+   55 pop2ForStack :: (SAutomatonIO e s m) => Memory s -> m (e , e , Memory s)
+   56 pop2ForStack u = build <$> pop2 (memoryStack u) where
+   57   build (s1 , s2 , s') = (s1 , s2 , updateStack u s')
+   58 
+   59 -- | Terminate instruction
+   60 end :: (SAutomatonIO e s m) => Memory s -> m $ MemorySame s
+   61 end = pure . Right
+   62 
+   63 -- | Memory methods
+   64 
+   65 newMemory :: TokenList -> s -> Memory s
+   66 newMemory tl = Memory (IM (Vector.fromList tl) 0)
+   67 
+   68 updateStack :: Memory s -> s -> Memory s
+   69 updateStack u s =  u {memoryStack = s}
+   70 
+   71 updateAddress :: Memory s -> InstructionCounter -> Memory s
+   72 updateAddress u a =  u {memoryIM = updatePC (memoryIM u) a}
+   73 
+   74 memoryProgram :: Memory s -> TokenVector
+   75 memoryProgram = program . memoryIM
+   76 
+   77 -- | Types
+   78 
+   79 type MemorySame s = Same (Memory s)
+   80 
+   81 data Memory s = Memory
+   82   { memoryIM    :: !InstructionMemory
+   83   , memoryStack :: s
+   84   }
+   85   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator.hs.html new file mode 100644 index 000000000..606643d69 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator.hs.html @@ -0,0 +1,81 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Evaluator (
+    2   simpleEval,
+    3   evalParams,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.ETA.API.ETAImplType
+    7 
+    8 import           HelVM.HelMA.Automata.ETA.Automaton
+    9 import           HelVM.HelMA.Automata.ETA.Lexer
+   10 import           HelVM.HelMA.Automata.ETA.Optimizer
+   11 import qualified HelVM.HelMA.Automata.ETA.SimpleParams      as S
+   12 import           HelVM.HelMA.Automata.ETA.Symbol
+   13 import           HelVM.HelMA.Automata.ETA.Token
+   14 
+   15 import           HelVM.HelMA.Automaton.API.AutoOptions
+   16 import qualified HelVM.HelMA.Automaton.API.AutomatonOptions as Automaton
+   17 import           HelVM.HelMA.Automaton.API.EvalParams
+   18 import           HelVM.HelMA.Automaton.API.IOTypes
+   19 
+   20 import qualified HelVM.HelMA.Automaton.Automaton            as Automaton
+   21 
+   22 import           HelVM.HelMA.Automaton.IO.AutomatonIO
+   23 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   24 
+   25 import           HelVM.HelMA.Automaton.Types.DumpType
+   26 import           HelVM.HelMA.Automaton.Types.StackType
+   27 
+   28 import           HelVM.HelIO.Collections.SList              as SList
+   29 
+   30 import qualified Data.Sequence                              as Seq
+   31 
+   32 import           Prelude                                    hiding (divMod)
+   33 
+   34 simpleEval :: BIO m => S.SimpleParams -> m ()
+   35 simpleEval p = evalSource (S.implType p) (S.source p) (S.stackType p) (S.autoOptions p)
+   36 
+   37 ----
+   38 
+   39 evalParams :: BIO m => ETAImplType -> EvalParams -> m ()
+   40 evalParams e p = evalSource e (source p) (stackAutoOptions p) (autoOptions p)
+   41 
+   42 evalSource :: (AutomatonIO Symbol m) => ETAImplType -> Source -> StackType -> AutoOptions -> m ()
+   43 evalSource etaImplType source = evalTL etaImplType (tokenize source)
+   44 
+   45 evalTL :: (AutomatonIO Symbol m) => ETAImplType -> TokenList -> StackType -> AutoOptions -> m ()
+   46 evalTL Fast     = fastEval
+   47 evalTL Original = originalEval
+   48 
+   49 fastEval :: (AutomatonIO Symbol m) => TokenList -> StackType -> AutoOptions -> m ()
+   50 fastEval tl s a = flip Automaton.start (Automaton.withDefaultRam s a) =<< optimize tl
+   51 
+   52 originalEval :: (AutomatonIO Symbol m) => TokenList -> StackType -> AutoOptions -> m ()
+   53 originalEval tl ListStackType  = eval tl []
+   54 originalEval tl SeqStackType   = eval tl Seq.empty
+   55 originalEval tl SListStackType = eval tl SList.sListEmpty
+   56 
+   57 eval :: (SAutomatonIO Symbol s m) => TokenList -> s -> AutoOptions -> m ()
+   58 eval tl s (AutoOptions _  _ limit dt) = logDump dt =<< run limit (newMemory tl s)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer.hs.html new file mode 100644 index 000000000..db051c6fc --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer.hs.html @@ -0,0 +1,41 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Lexer where
+    2 
+    3 import           HelVM.HelMA.Automata.ETA.Token
+    4 
+    5 import           HelVM.HelIO.Extra
+    6 import           HelVM.HelIO.ReadText
+    7 import           HelVM.HelMA.Automaton.API.IOTypes
+    8 import           HelVM.HelMA.Automaton.WrapTokenList
+    9 
+   10 -- | Lexer
+   11 tokenize :: Source -> TokenList
+   12 tokenize = whiteTokenListToTokenList . unWrapTokenList . readTokens
+   13 
+   14 readTokens :: Source -> WhiteTokens
+   15 readTokens source = (readTextUnsafe . toUppers) source :: WhiteTokens
+   16 
+   17 -- | Types
+   18 type WhiteTokens = WrapTokenList WhiteTokenList
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers.hs.html new file mode 100644 index 000000000..9181df955 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers.hs.html @@ -0,0 +1,76 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.OperandParsers where
+    2 
+    3 import           HelVM.HelMA.Automata.ETA.Symbol
+    4 import           HelVM.HelMA.Automata.ETA.Token
+    5 
+    6 import           HelVM.HelIO.Containers.LLIndexSafe
+    7 import           HelVM.HelIO.Control.Safe
+    8 import           HelVM.HelIO.Digit.ToDigit
+    9 
+   10 import           Control.Monad.Extra
+   11 
+   12 import qualified Data.Vector                        as Vector
+   13 
+   14 parseNumberFromTLL :: (MonadSafe m , Integral a) => (TokenList, [TokenList]) -> m (a , (TokenList, [TokenList]))
+   15 parseNumberFromTLL a = loop act ([] , a) where
+   16   act (acc , (E  : tl , tll))      = Right $ ( , (tl , tll)) <$> makeIntegral7FromList acc
+   17   act (acc , (R  : tl , tll))      = Left (    acc , (tl , tll))
+   18   act (acc , (t  : tl , tll))      = Left (t : acc , (tl , tll))
+   19   act (acc ,      ([] , tl : tll)) = Left (    acc , (tl , tll))
+   20   act (acc ,      ([] , []))       = Right $ ( , ([] , [])) <$> makeIntegral7FromList acc
+   21 
+   22 parseNumberFromTL :: (MonadSafe m , Integral a) => OperandParser m a
+   23 parseNumberFromTL a = loop act ([] , a) where
+   24   act (acc , E  : tl) = Right $ ( , tl) <$> makeIntegral7FromList acc
+   25   act (acc , R  : tl) = Left (    acc , tl)
+   26   act (acc , t  : tl) = Left (t : acc , tl)
+   27   act (acc ,      []) = Right (liftError $ show acc)
+   28 
+   29 parseNumber :: (MonadSafe m , Integral a) => OperandIMParser m a
+   30 parseNumber iu = loopM act =<< (([] , ) <$> nextIM iu) where
+   31   act (acc , (Nothing , iu')) = Right . ( , iu') <$> makeIntegral7FromList acc
+   32   act (acc , (Just E  , iu')) = Right . ( , iu') <$> makeIntegral7FromList acc
+   33   act (acc , (Just R  , iu')) = Left  . (    acc , ) <$> nextIM iu'
+   34   act (acc , (Just t  , iu')) = Left  . (t : acc , ) <$> nextIM iu'
+   35 
+   36 nextIM :: MonadSafe m => OperandIMParser m (Maybe Token)
+   37 nextIM iu@(IM il ic)
+   38   | ic < Vector.length il = wrap <$> indexSafe il ic
+   39   | otherwise             = pure (Nothing , iu)
+   40   where wrap i = (Just i, IM il (ic+1))
+   41 
+   42 updatePC :: InstructionMemory -> InstructionCounter -> InstructionMemory
+   43 updatePC iu a = iu { programCounter = a }
+   44 
+   45 -- | Types
+   46 type OperandParser m a = TokenList -> m (a , TokenList)
+   47 
+   48 data InstructionMemory = IM
+   49   { program        :: !TokenVector
+   50   , programCounter :: !InstructionCounter
+   51   } deriving stock (Eq , Read , Show)
+   52 
+   53 type OperandIMParser m a = InstructionMemory -> m (a , InstructionMemory)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer.hs.html new file mode 100644 index 000000000..31725a767 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer.hs.html @@ -0,0 +1,135 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Optimizer (
+    2   optimize,
+    3 )
+    4 where
+    5 
+    6 import           HelVM.HelMA.Automata.ETA.OperandParsers
+    7 import           HelVM.HelMA.Automata.ETA.Token
+    8 
+    9 import           HelVM.HelMA.Automaton.Instruction
+   10 
+   11 import           HelVM.HelIO.Control.Safe
+   12 
+   13 import           Control.Applicative.Tools
+   14 
+   15 import           Data.List.Extra
+   16 import qualified Data.List.Index                         as List
+   17 
+   18 import qualified Data.ListLike                           as LL
+   19 
+   20 optimize :: MonadSafe m => TokenList -> m InstructionList
+   21 optimize = appendEnd <.> join <.> optimizeLines
+   22 
+   23 appendEnd :: InstructionList -> InstructionList
+   24 appendEnd l = l <> [markNI 0 , End]
+   25 
+   26 optimizeLines :: MonadSafe m => TokenList -> m [InstructionList]
+   27 optimizeLines = sequence . optimizeLineInit <.> lineFromTuple2 <.> splitOnRAndIndex2
+   28 
+   29 splitOnRAndIndex2 :: TokenList -> [(Natural, [TokenList])]
+   30 splitOnRAndIndex2 = indexedByNaturalWithOffset 1 <.> List.indexed . filterNull . tails . splitOn [R]
+   31 
+   32 indexedByNaturalWithOffset :: Int -> (Int , a) -> (Natural , a)
+   33 indexedByNaturalWithOffset offset (i , a) = (fromIntegral (i + offset) , a)
+   34 
+   35 optimizeLineInit :: MonadSafe m => Line -> m InstructionList
+   36 optimizeLineInit line = (markNI (currentAddress line) : ) <$> optimizeLineTail line
+   37 
+   38 optimizeLineTail:: MonadSafe m => Line -> m InstructionList
+   39 optimizeLineTail line = check (currentTL line) where
+   40   check (t : tl) = optimizeLineForToken t $ line { currentTL = tl }
+   41   check []       = pure []
+   42 
+   43 optimizeLineForToken :: MonadSafe m => Token -> Line -> m InstructionList
+   44 optimizeLineForToken O = (sOutputI  : ) <.> optimizeLineTail
+   45 optimizeLineForToken I = (sInputI   : ) <.> optimizeLineTail
+   46 
+   47 optimizeLineForToken S = (subI      : ) <.> optimizeLineTail
+   48 optimizeLineForToken E = prependDivMod
+   49 
+   50 optimizeLineForToken H = (halibutI  : ) <.> optimizeLineTail
+   51 optimizeLineForToken T = (bNeTI     : ) <.> optimizeLineTail
+   52 
+   53 optimizeLineForToken A = prependAddress
+   54 optimizeLineForToken N = prependNumber
+   55 
+   56 optimizeLineForToken R = optimizeLineTail
+   57 
+   58 prependDivMod :: MonadSafe m => Line -> m InstructionList
+   59 prependDivMod line = check $ numberFlag line where
+   60   check False = prependDivModSimple line
+   61   check True  = prependStaticMakr line <.> optimizeLineTail $ line {numberFlag = False}
+   62 
+   63 prependStaticMakr :: Line -> InstructionList -> InstructionList
+   64 prependStaticMakr line il = divModI : markSI (show $ currentAddress line) : il
+   65 
+   66 prependDivModSimple :: MonadSafe m => Line -> m InstructionList
+   67 prependDivModSimple = (divModI : ) <.> optimizeLineTail
+   68 
+   69 prependAddress :: MonadSafe m => Line -> m InstructionList
+   70 prependAddress line = ((consI $ fromIntegral $ nextAddress line) : ) <$> optimizeLineTail line
+   71 
+   72 prependNumber :: MonadSafe m => Line -> m InstructionList
+   73 prependNumber line = flip buildNumber line =<< parseNumberFromTLL (currentTL line , nextTLL line)
+   74 
+   75 buildNumber :: MonadSafe m => (Integer , (TokenList , [TokenList])) -> Line -> m InstructionList
+   76 buildNumber (n , (tl , ttl) ) line = build (LL.length (nextTLL line) - LL.length ttl) where
+   77   build 0      = (consI n :) <$> optimizeLineTail (line {currentTL = tl})
+   78   build offset = pure [consI n , jumpSI $ show $ currentAddress line + fromIntegral offset]
+   79 
+   80 -- | Accessors
+   81 
+   82 nextAddress :: Line -> Natural
+   83 nextAddress line = currentAddress line + 1
+   84 
+   85 -- | Constructors
+   86 
+   87 lineFromTuple2 :: (Natural, [TokenList]) -> Line
+   88 lineFromTuple2 (a, []) = Line
+   89   { currentAddress = a
+   90   , currentTL = []
+   91   , nextTLL = []
+   92   , numberFlag = True
+   93   }
+   94 lineFromTuple2 (a, l : ls) = Line
+   95   { currentAddress = a
+   96   , currentTL = l
+   97   , nextTLL = ls
+   98   , numberFlag = True
+   99   }
+  100 
+  101 data Line = Line
+  102   { currentTL      :: TokenList
+  103   , currentAddress :: Natural
+  104   , numberFlag     :: Bool
+  105   , nextTLL        :: [TokenList]
+  106   }
+  107 
+  108 --consM :: Functor f => a -> f [a] -> f [a]
+  109 --consM a l = (a : ) <$> l
+  110 
+  111 filterNull :: [[a]] -> [[a]]
+  112 filterNull = filter notNull
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser.hs.html new file mode 100644 index 000000000..1c766fb19 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser.hs.html @@ -0,0 +1,41 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Parser (
+    2   parseSafe,
+    3   parse,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.ETA.Lexer
+    7 import           HelVM.HelMA.Automata.ETA.Optimizer
+    8 
+    9 import           HelVM.HelMA.Automaton.API.IOTypes
+   10 import           HelVM.HelMA.Automaton.Instruction
+   11 
+   12 import           HelVM.HelIO.Control.Safe
+   13 
+   14 parseSafe :: Source -> Safe InstructionList
+   15 parseSafe = parse
+   16 
+   17 parse :: MonadSafe m => Source -> m InstructionList
+   18 parse = optimize . tokenize
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams.hs.html new file mode 100644 index 000000000..868f93a49 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams.hs.html @@ -0,0 +1,47 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.SimpleParams where
+    2 
+    3 import           HelVM.HelMA.Automata.ETA.API.ETAImplType
+    4 
+    5 import           HelVM.HelMA.Automaton.API.AutoOptions
+    6 import           HelVM.HelMA.Automaton.API.IOTypes
+    7 
+    8 import           HelVM.HelMA.Automaton.Types.StackType
+    9 
+   10 simpleParams :: ETAImplType -> StackType -> Bool -> Source -> SimpleParams
+   11 simpleParams it st c s = SimpleParams
+   12   { implType   = it
+   13   , source     = s
+   14   , stackType  = st
+   15   , autoOptions = simpleAutoParams c
+   16   }
+   17 
+   18 -- | Type
+   19 data SimpleParams = SimpleParams
+   20   { implType    :: !ETAImplType
+   21   , source      :: !Source
+   22   , stackType   :: !StackType
+   23   , autoOptions :: !AutoOptions
+   24   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token.hs.html new file mode 100644 index 000000000..b73b3b4c0 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token.hs.html @@ -0,0 +1,78 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.ETA.Token where
+    2 
+    3 import           HelVM.HelIO.Control.Safe
+    4 import           HelVM.HelIO.Digit.ToDigit
+    5 
+    6 import           Data.Vector               as Vector
+    7 
+    8 import qualified Text.Read
+    9 import qualified Text.Show
+   10 
+   11 data Token = E | T | A | O | I | N | S | H | R
+   12   deriving stock (Bounded , Enum , Eq , Read , Show)
+   13 
+   14 type TokenList   = [Token]
+   15 type TokenVector = Vector Token
+   16 
+   17 instance ToDigit Token where
+   18   toDigit H = pure 0
+   19   toDigit T = pure 1
+   20   toDigit A = pure 2
+   21   toDigit O = pure 3
+   22   toDigit I = pure 4
+   23   toDigit N = pure 5
+   24   toDigit S = pure 6
+   25   toDigit t = liftErrorWithPrefix "Wrong token" $ show t
+   26 
+   27 ----
+   28 
+   29 newtype WhiteToken = WhiteToken { unWhiteToken :: Token}
+   30   deriving stock (Eq)
+   31 
+   32 type WhiteTokenList = [WhiteToken]
+   33 
+   34 instance Show WhiteToken where
+   35   show (WhiteToken R) = "\n"
+   36   show (WhiteToken t) = show t
+   37 
+   38 -- | Scanner
+   39 instance Read WhiteToken where
+   40   readsPrec _ "\n" = [( WhiteToken R , "")]
+   41   readsPrec _ "E"  = [( WhiteToken E , "")]
+   42   readsPrec _ "T"  = [( WhiteToken T , "")]
+   43   readsPrec _ "A"  = [( WhiteToken A , "")]
+   44   readsPrec _ "O"  = [( WhiteToken O , "")]
+   45   readsPrec _ "I"  = [( WhiteToken I , "")]
+   46   readsPrec _ "N"  = [( WhiteToken N , "")]
+   47   readsPrec _ "S"  = [( WhiteToken S , "")]
+   48   readsPrec _ "H"  = [( WhiteToken H , "")]
+   49   readsPrec _ _    = []
+   50 
+   51 tokenToWhiteTokenPair :: Token -> (WhiteToken , String)
+   52 tokenToWhiteTokenPair t = (WhiteToken t , "")
+   53 
+   54 whiteTokenListToTokenList :: WhiteTokenList -> TokenList
+   55 whiteTokenListToTokenList = fmap unWhiteToken
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression.hs.html new file mode 100644 index 000000000..ec5ab4012 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression.hs.html @@ -0,0 +1,41 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.FALSE.Expression where
+    2 
+    3 import           HelVM.HelMA.Automaton.Instruction
+    4 
+    5 type ExpressionList = [Expression]
+    6 data Expression =
+    7     Inst Instruction
+    8   | Lambda ExpressionList
+    9   | Exec
+   10   | Cond
+   11   | While
+   12   | Ref Natural
+   13   | Store
+   14   | Fetch
+   15   | Str String
+   16   | Comment String
+   17   | Flush
+   18   deriving stock (Eq , Show , Read)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser.hs.html new file mode 100644 index 000000000..d442c6030 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser.hs.html @@ -0,0 +1,134 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.FALSE.Parser (
+    2   parseSafe,
+    3   parse,
+    4   charToSimpleInstruction,
+    5 ) where
+    6 
+    7 import           HelVM.HelMA.Automata.FALSE.Expression
+    8 
+    9 import           HelVM.HelMA.Automaton.API.IOTypes
+   10 import           HelVM.HelMA.Automaton.Instruction
+   11 import           HelVM.HelMA.Automaton.Instruction.IOInstruction
+   12 import           HelVM.HelMA.Automaton.Instruction.SInstruction
+   13 import           HelVM.HelMA.Automaton.ReadPExtra
+   14 
+   15 import           HelVM.HelIO.Control.Safe
+   16 import           HelVM.HelIO.Extra                               hiding (runParser)
+   17 import           HelVM.HelIO.ReadText
+   18 
+   19 import           Data.Char
+   20 
+   21 import           Text.ParserCombinators.ReadP                    hiding (many)
+   22 
+   23 parseSafe :: Source -> Safe ExpressionList
+   24 parseSafe = parse
+   25 
+   26 parse :: MonadSafe m => Source -> m ExpressionList
+   27 parse = runParser vlParser
+   28 
+   29 vlParser :: ReadP ExpressionList
+   30 vlParser = many (skipSpaces *> valueParser) <* skipSpaces
+   31 
+   32 valueParser :: ReadP Expression
+   33 valueParser = lambdaParser <|> commentParser <|> writeStringParser <|> constParser <|> refParser <|> simpleParser
+   34 
+   35 lambdaParser :: ReadP Expression
+   36 lambdaParser = Lambda <$> (char '[' *> vlParser <* char ']')
+   37 
+   38 commentParser :: ReadP Expression
+   39 commentParser = Comment <$> (char '{' *> many (notChar '}') <* char '}')
+   40 
+   41 writeStringParser :: ReadP Expression
+   42 writeStringParser = Str <$> stringParser
+   43 
+   44 constParser :: ReadP Expression
+   45 constParser = Inst . consI . fromIntegral <$> naturalParser
+   46 
+   47 refParser :: ReadP Expression
+   48 refParser = refFromChar <$> letterAscii
+   49 
+   50 simpleParser :: ReadP Expression
+   51 simpleParser = fromJustWithText "imposible" . charToSimpleInstruction <$> oneOf simpleInstructionChars
+   52 
+   53 simpleInstructionChars :: String
+   54 simpleInstructionChars = "$%\\@`+-*/_&|~<=!?#:;^,.ß"
+   55 
+   56 charToSimpleInstruction :: Char -> Maybe Expression
+   57 charToSimpleInstruction '$'  = inst dupI
+   58 charToSimpleInstruction '%'  = inst discardI
+   59 charToSimpleInstruction '\\' = inst swapI
+   60 charToSimpleInstruction '@'  = inst rotI
+   61 charToSimpleInstruction '`'  = inst copyTI
+   62 
+   63 charToSimpleInstruction '+'  = inst addI
+   64 charToSimpleInstruction '-'  = inst subI
+   65 charToSimpleInstruction '*'  = inst mulI
+   66 charToSimpleInstruction '/'  = inst divI
+   67 charToSimpleInstruction '_'  = inst negI
+   68 
+   69 charToSimpleInstruction '&'  = inst $ binary BAnd
+   70 charToSimpleInstruction '|'  = inst $ binary BOr
+   71 charToSimpleInstruction '~'  = inst $ unary BNot
+   72 
+   73 charToSimpleInstruction '<'  = inst $ binary LGT
+   74 charToSimpleInstruction '='  = inst $ binary LEQ
+   75 
+   76 charToSimpleInstruction '!'  = pure Exec
+   77 charToSimpleInstruction '?'  = pure Cond
+   78 charToSimpleInstruction '#'  = pure While
+   79 
+   80 charToSimpleInstruction ':'  = pure Store
+   81 charToSimpleInstruction ';'  = pure Fetch
+   82 
+   83 charToSimpleInstruction '^'  = inst $ sio InputChar
+   84 charToSimpleInstruction ','  = inst $ sio OutputChar
+   85 charToSimpleInstruction '.'  = inst $ sio OutputDec
+   86 charToSimpleInstruction 'ß'  = pure Flush
+   87 
+   88 charToSimpleInstruction  _   = Nothing
+   89 
+   90 inst :: Instruction -> Maybe Expression
+   91 inst = pure . Inst
+   92 
+   93 -- | Extra
+   94 
+   95 refFromChar :: Char -> Expression
+   96 refFromChar c = Ref $ fromIntegral $ ord (toLower c) - ord 'a'
+   97 
+   98 naturalParser :: ReadP Natural
+   99 naturalParser = naturalLiteralParser <|> ordCharLiteralParser
+  100 
+  101 naturalLiteralParser :: ReadP Natural
+  102 naturalLiteralParser = readUnsafe <$> many1 digit
+  103 
+  104 ordCharLiteralParser :: Integral a => ReadP a
+  105 ordCharLiteralParser = fromIntegral . ord <$> (skipSpacesAndChar '\'' *> anyChar)
+  106 
+  107 stringParser :: ReadP String
+  108 stringParser = skipSpacesAndChar '"' *> many (notChar '"') <* char '"'
+  109 
+  110 skipSpacesAndChar :: Char -> ReadP Char
+  111 skipSpacesAndChar c = skipSpaces *> char c
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton.hs.html new file mode 100644 index 000000000..aab062ba0 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton.hs.html @@ -0,0 +1,62 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Automaton (
+    2   run,
+    3   runWithTerminator,
+    4   realize,
+    5   realizeWithTrue,
+    6 ) where
+    7 
+    8 import           HelVM.HelMA.Automata.LazyK.Constants
+    9 import           HelVM.HelMA.Automata.LazyK.Lambda
+   10 import           HelVM.HelMA.Automata.LazyK.Reducer
+   11 
+   12 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   13 
+   14 import           HelVM.HelIO.Control.Safe
+   15 
+   16 run :: BIO m => Lambda -> m ()
+   17 run = runWithTerminator false
+   18 
+   19 runWithTerminator :: BIO m => Lambda -> Lambda -> m ()
+   20 runWithTerminator terminator lambda = output terminator lambda =<< realizeWithTrue lambda
+   21 
+   22 realizeWithTrue :: MonadSafe m => Lambda -> m Natural
+   23 realizeWithTrue = realize . flippedApply true
+   24 
+   25 realize :: MonadSafe m => Lambda -> m Natural
+   26 realize = naturalSafe . flippedApply number0 . flippedApply Succ
+   27 
+   28 number0 :: Lambda
+   29 number0 = Number 0
+   30 
+   31 naturalSafe :: MonadSafe m => Lambda -> m Natural
+   32 naturalSafe (Number x) = pure x
+   33 naturalSafe x          = liftErrorWithPrefix "Invalid output format. Output should be the list of Church numerals. " $ show x
+   34 
+   35 output :: BIO m => Lambda -> Lambda -> Natural -> m ()
+   36 output terminator lambda number = check $ compare 256 number where
+   37   check GT = wPutAsChar number *> runWithTerminator terminator (apply lambda terminator)
+   38   check EQ = pass
+   39   check LT = wLogStr (show number) *> wLogStr (show lambda)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants.hs.html new file mode 100644 index 000000000..f50d577ca --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants.hs.html @@ -0,0 +1,50 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Constants where
+    2 
+    3 import           HelVM.HelMA.Automata.LazyK.Lambda
+    4 
+    5 bCombinator :: Lambda
+    6 bCombinator = app3 S appKS K
+    7 
+    8 appSelfApp :: Lambda -> Lambda
+    9 appSelfApp = app4 S I I
+   10 
+   11 selfApp :: Lambda
+   12 selfApp = app3 S I I
+   13 
+   14 app3SI :: Lambda -> Lambda
+   15 app3SI = app3 S I
+   16 
+   17 appKS :: Lambda
+   18 appKS = App K S
+   19 
+   20 appK :: Lambda -> Lambda
+   21 appK = App K
+   22 
+   23 false :: Lambda
+   24 false = App K I
+   25 
+   26 true :: Lambda
+   27 true = K
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator.hs.html new file mode 100644 index 000000000..09b52e1e0 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator.hs.html @@ -0,0 +1,52 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Evaluator (
+    2   evalParams,
+    3   evalSource,
+    4   reduceSource,
+    5 ) where
+    6 
+    7 import           HelVM.HelMA.Automata.LazyK.Automaton
+    8 import           HelVM.HelMA.Automata.LazyK.InputEncoder
+    9 import           HelVM.HelMA.Automata.LazyK.Lambda
+   10 import           HelVM.HelMA.Automata.LazyK.Parser
+   11 
+   12 import           HelVM.HelMA.Automata.LazyK.Reducer
+   13 
+   14 import           HelVM.HelMA.Automaton.API.EvalParams
+   15 import           HelVM.HelMA.Automaton.API.IOTypes
+   16 
+   17 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   18 
+   19 evalParams :: BIO m => EvalParams -> m ()
+   20 evalParams = evalSource . source
+   21 
+   22 evalSource :: BIO m => Source -> m ()
+   23 evalSource = evalLambda <=< parse
+   24 
+   25 evalLambda :: BIO m => Lambda -> m ()
+   26 evalLambda lambda = (run . reduce . App lambda . readInput) =<< wGetContentsBS
+   27 
+   28 reduceSource :: BIO m => Source -> m Source
+   29 reduceSource s = show . reduce <$> parse s
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder.hs.html new file mode 100644 index 000000000..70cf3f904 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder.hs.html @@ -0,0 +1,67 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.InputEncoder where
+    2 
+    3 import           HelVM.HelMA.Automata.LazyK.Constants
+    4 import           HelVM.HelMA.Automata.LazyK.Lambda
+    5 
+    6 import qualified Data.ByteString.Lazy                 as LBS
+    7 
+    8 -- | Constructors
+    9 readInput :: LBS.ByteString -> Lambda
+   10 readInput = encodeInput . fmap fromIntegral . LBS.unpack
+   11 
+   12 encodeInput :: [Natural] -> Lambda
+   13 encodeInput = foldr (cons . church) end
+   14 
+   15 -- | Other
+   16 end :: Lambda
+   17 end = cons (church 256) false
+   18 
+   19 cons :: Lambda -> Lambda -> Lambda
+   20 cons a b = app3 S (app3SI (appK a)) (appK b)
+   21 
+   22 church :: Natural -> Lambda
+   23 church 0   = false
+   24 church 1   = I
+   25 church 4   = appSelfApp $ church 2
+   26 church 8   = church 3 `App` church 2
+   27 church 9   = church 2 `App` church 3
+   28 church 16  = church 2 `App` church 4
+   29 church 25  = church 2 `App` church 5
+   30 church 27  = appSelfApp $ church 3
+   31 church 36  = church 2 `App` church 6
+   32 church 64  = church 3 `App` church 4
+   33 church 81  = church 4 `App` church 3
+   34 church 100 = church 2 `App` church 10
+   35 church 121 = church 2 `App` church 11
+   36 church 125 = church 3 `App` church 5
+   37 church 256 = appSelfApp $ church 4
+   38 church n   = succChurch $ n - 1
+   39 
+   40 succChurch :: Natural -> Lambda
+   41 succChurch = successor . church
+   42 
+   43 successor :: Lambda -> Lambda
+   44 successor = app3 S bCombinator
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda.hs.html new file mode 100644 index 000000000..d1b79f18f --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda.hs.html @@ -0,0 +1,45 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Lambda where
+    2 
+    3 import           Relude.Extra
+    4 
+    5 app4 :: Lambda -> Lambda -> Lambda -> Lambda -> Lambda
+    6 app4 l1 l2 l3 l4 = l1 `App` l2 `App` l3 `App` l4
+    7 
+    8 app3 :: Lambda -> Lambda -> Lambda -> Lambda
+    9 app3 l1 l2 l3 = l1 `App` l2 `App` l3
+   10 
+   11 foldlLambda :: NonEmpty Lambda -> Lambda
+   12 foldlLambda = foldl1' App
+   13 
+   14 data Lambda =
+   15     S
+   16   | K
+   17   | I
+   18   | App Lambda Lambda
+   19   | Succ
+   20   | Number !Natural
+   21   | Var Text
+   22   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer.hs.html new file mode 100644 index 000000000..60322b677 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Lexer where
+    2 
+    3 import           HelVM.HelMA.Automaton.API.IOTypes
+    4 
+    5 import qualified Data.Text                         as Text
+    6 
+    7 filterComments :: Source -> Source
+    8 filterComments source = mconcat $ removeComment <$> lines source
+    9 
+   10 removeComment :: Source -> Source
+   11 removeComment = fst . Text.break isHash
+   12 
+   13 isHash :: Char -> Bool
+   14 isHash c = '#' == c
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser.hs.html new file mode 100644 index 000000000..e21ed74b4 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser.hs.html @@ -0,0 +1,53 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Parser (
+    2   parse,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automata.LazyK.Lambda
+    6 import           HelVM.HelMA.Automata.LazyK.Lexer
+    7 
+    8 import           HelVM.HelMA.Automaton.API.IOTypes
+    9 import           HelVM.HelMA.Automaton.ReadPExtra
+   10 
+   11 import           HelVM.HelIO.Control.Safe
+   12 
+   13 import           Text.ParserCombinators.ReadP      hiding (many)
+   14 
+   15 parse :: MonadSafe m => Source -> m Lambda
+   16 parse = parseCode . filterComments
+   17 
+   18 parseCode :: MonadSafe m => Source -> m Lambda
+   19 parseCode = runParser appParser
+   20 
+   21 appParser :: ReadP Lambda
+   22 appParser = foldlLambda <$> manyNonEmpty lambdaParser
+   23 
+   24 lambdaParser :: ReadP Lambda
+   25 lambdaParser =
+   26        S <$ oneOf "sS"
+   27   <|>  K <$ oneOf "kK"
+   28   <|>  I <$ oneOf "iI"
+   29   <|>  App <$ char '`' <*> lambdaParser <*> lambdaParser
+   30   <|>  char '(' *> appParser <* char ')'
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer.hs.html new file mode 100644 index 000000000..b39a65dc8 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer.hs.html @@ -0,0 +1,45 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.LazyK.Reducer (
+    2   reduce,
+    3   flippedApply,
+    4   apply,
+    5 ) where
+    6 
+    7 import           HelVM.HelMA.Automata.LazyK.Lambda
+    8 
+    9 reduce :: Lambda -> Lambda
+   10 reduce (App x y) = reduce x `apply` reduce y
+   11 reduce  x        = x
+   12 
+   13 flippedApply :: Lambda -> Lambda -> Lambda
+   14 flippedApply = flip apply
+   15 
+   16 apply :: Lambda -> Lambda -> Lambda
+   17 apply (S `App` x `App` y) z = apply x z `apply` apply y z
+   18 apply (App K x) _           = x
+   19 apply I x                   = x
+   20 apply Succ (Number x)       = Number $! x + 1
+   21 apply Succ x                = error $ "attempted to apply inc to a non-number " <> show x
+   22 apply f x                   = App f x
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator.hs.html new file mode 100644 index 000000000..43ff16dd5 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator.hs.html @@ -0,0 +1,45 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.Rev.Evaluator (
+    2   evalParams,
+    3   eval,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automaton.API.EvalParams
+    7 import           HelVM.HelMA.Automaton.API.IOTypes
+    8 import           HelVM.HelMA.Automaton.IO.BusinessIO
+    9 
+   10 import qualified Data.Text                            as Text
+   11 
+   12 evalParams :: BIO m => EvalParams -> m ()
+   13 evalParams = eval . source
+   14 
+   15 eval :: BusinessIO m => Source -> m ()
+   16 eval = evalLines . lines
+   17 
+   18 evalLines :: BusinessIO m => [Source] -> m ()
+   19 evalLines ll = doOutput $ unlines $ Text.reverse <$> ll
+   20 
+   21 doOutput :: BusinessIO m => Source -> m ()
+   22 doOutput = wPutStr
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton.hs.html new file mode 100644 index 000000000..6981d5220 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton.hs.html @@ -0,0 +1,83 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.SubLeq.Automaton (
+    2   newMemory,
+    3   run,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automaton.IO.AutomatonIO
+    7 import           HelVM.HelMA.Automaton.IO.BusinessIO
+    8 
+    9 import           HelVM.HelMA.Automaton.Loop           as Loop
+   10 
+   11 import           HelVM.HelMA.Automaton.Combiner.RAM   as RAM
+   12 
+   13 import           Control.Type.Operator
+   14 
+   15 run :: (RAutomatonIO e r m) => Maybe Natural -> Automaton e r -> m $ Automaton e r
+   16 run = loopMWithLimit nextState
+   17 
+   18 nextState :: RAutomatonIO e r m => Automaton e r -> m $ AutomatonSame e r
+   19 nextState a@(Automaton ic ram)
+   20   | ic  < 0   = doEnd a
+   21   | src < 0   = doInputChar   dst a
+   22   | dst < 0   = doOutputChar  src a
+   23   | otherwise = doInstruction src dst a
+   24     where
+   25       src  = genericLoad ram ic
+   26       dst  = genericLoad ram $ ic + 1
+   27 
+   28 -- | IO instructions
+   29 doOutputChar :: RAutomatonIO e r m => e -> Automaton e r -> m $ AutomatonSame e r
+   30 doOutputChar address (Automaton ic ram) = wPutAsChar (genericLoad ram address) $> Loop.continue (next3Automaton ic ram)
+   31 
+   32 doInputChar :: RAutomatonIO e r m => e -> Automaton e r -> m $ AutomatonSame e r
+   33 doInputChar address (Automaton ic ram) = Loop.continue . next3Automaton ic . flippedStoreChar address ram <$> wGetChar
+   34 
+   35 -- | Terminate instruction
+   36 doEnd :: RAutomatonIO e r m => Automaton e r -> m $ AutomatonSame e r
+   37 doEnd = pure . Loop.break
+   38 
+   39 doInstruction :: RAutomatonIO e r m => e -> e -> Automaton e r -> m $ AutomatonSame e r
+   40 doInstruction src dst (Automaton ic ram) = pure $ Loop.continue $ Automaton ic' $ store dst diff ram where
+   41   diff = genericLoad ram dst - genericLoad ram src
+   42   ic'
+   43     | diff <= 0 = genericLoad ram $ ic + 2
+   44     | otherwise = ic + 3
+   45 
+   46 next3Automaton :: Num e => e -> ram -> Automaton e ram
+   47 next3Automaton ic = Automaton (ic + 3)
+   48 
+   49 newMemory :: Num e => ram -> Automaton e ram
+   50 newMemory = Automaton 0
+   51 
+   52 -- | Types
+   53 
+   54 type AutomatonSame ic ram = Same (Automaton ic ram)
+   55 
+   56 data Automaton ic ram = Automaton
+   57    { memoryIC  :: ic
+   58    , memoryRAM :: ram
+   59    }
+   60   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator.hs.html new file mode 100644 index 000000000..64bac6e26 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator.hs.html @@ -0,0 +1,69 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.SubLeq.Evaluator (
+    2   simpleEval,
+    3   evalParams,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.SubLeq.Automaton
+    7 import           HelVM.HelMA.Automata.SubLeq.Lexer
+    8 
+    9 import           HelVM.HelMA.Automaton.API.EvalParams
+   10 import           HelVM.HelMA.Automaton.API.IOTypes
+   11 
+   12 import           HelVM.HelMA.Automaton.IO.AutomatonIO
+   13 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   14 
+   15 import           HelVM.HelMA.Automaton.Loop
+   16 
+   17 import           HelVM.HelMA.Automaton.Types.DumpType
+   18 import           HelVM.HelMA.Automaton.Types.RAMType
+   19 
+   20 import qualified HelVM.HelIO.Collections.MapList       as MapList
+   21 import qualified HelVM.HelIO.Collections.SList         as SList
+   22 
+   23 import qualified Data.Sequence                         as Seq
+   24 
+   25 simpleEval :: BIO m => RAMType -> Source -> m ()
+   26 simpleEval rt s = evalSource s rt testMaybeLimit Pretty
+   27 
+   28 ----
+   29 
+   30 evalParams :: BIO m => EvalParams -> m ()
+   31 evalParams p = evalSource (source p) (ramAutoOptions p) Nothing (dumpAutoOptions p)
+   32 
+   33 evalSource :: BIO m => Source -> RAMType -> LimitMaybe -> DumpType -> m ()
+   34 evalSource source = evalIL $ tokenize source
+   35 
+   36 evalIL :: AutomatonIO e m => [e] -> RAMType -> LimitMaybe -> DumpType -> m ()
+   37 evalIL = flip evalIL'
+   38 
+   39 evalIL' :: AutomatonIO e m => RAMType -> [e] -> LimitMaybe -> DumpType -> m ()
+   40 evalIL' ListRAMType    = start
+   41 evalIL' SeqRAMType     = start . Seq.fromList
+   42 evalIL' SListRAMType   = start . SList.sListFromList
+   43 evalIL' MapListRAMType = start . MapList.mapListFromList
+   44 
+   45 start :: RAutomatonIO e r m => r -> LimitMaybe -> DumpType -> m ()
+   46 start r limit dt = logDump dt =<< run limit (newMemory r)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer.hs.html new file mode 100644 index 000000000..f8c24b181 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer.hs.html @@ -0,0 +1,54 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.SubLeq.Lexer where
+    2 
+    3 import           HelVM.HelMA.Automata.SubLeq.Symbol
+    4 
+    5 import           HelVM.HelIO.Extra
+    6 import           HelVM.HelIO.ReadText
+    7 import           HelVM.HelMA.Automaton.API.IOTypes
+    8 
+    9 import qualified Text.Read                          as Read
+   10 import qualified Text.Show                          as Show
+   11 
+   12 tokenize :: Source -> SymbolList
+   13 tokenize source = (maybeToList . readTextMaybe) =<< splitOneOf " \t\n" source
+   14 
+   15 readSymbols :: Source -> Symbols
+   16 readSymbols source = readTextUnsafe source :: Symbols
+   17 
+   18 ----
+   19 
+   20 newtype Symbols = Symbols SymbolList
+   21 
+   22 instance Show Symbols where
+   23   show (Symbols symbols) = toString $ unwords $ shows symbols
+   24 
+   25 instance Read Symbols where
+   26   readsPrec _ source = [( Symbols $ tokenize $ toText source , "")]
+   27 
+   28 ----
+   29 
+   30 shows :: SymbolList -> [Text]
+   31 shows symbols = show <$> symbols
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator.hs.html new file mode 100644 index 000000000..62f072364 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator.hs.html @@ -0,0 +1,62 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.WhiteSpace.Evaluator (
+    2   simpleEval,
+    3   evalParams,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.WhiteSpace.Lexer
+    7 import           HelVM.HelMA.Automata.WhiteSpace.Parser
+    8 import qualified HelVM.HelMA.Automata.WhiteSpace.SimpleParams as S
+    9 import           HelVM.HelMA.Automata.WhiteSpace.Token
+   10 
+   11 import qualified HelVM.HelMA.Automaton.API.AutomatonOptions   as Automaton
+   12 import           HelVM.HelMA.Automaton.API.EvalParams
+   13 import           HelVM.HelMA.Automaton.API.IOTypes
+   14 
+   15 import           HelVM.HelMA.Automaton.Automaton
+   16 
+   17 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   18 
+   19 import           HelVM.HelMA.Automaton.Types.FormatType
+   20 import           HelVM.HelMA.Automaton.Types.TokenType
+   21 
+   22 import           HelVM.HelIO.Control.Safe
+   23 
+   24 import           Prelude                                      hiding (swap)
+   25 
+   26 
+   27 simpleEval :: BIO m => S.SimpleParams -> m ()
+   28 simpleEval p = eval (S.tokenType p) (S.source p) (S.formatType p) $ S.automatonOptions p
+   29 
+   30 ----
+   31 
+   32 evalParams :: BIO m => TokenType -> EvalParams -> m ()
+   33 evalParams tokenType p = eval tokenType (source p) (formatType p) $ automatonOptions p
+   34 
+   35 eval :: BIO m => TokenType -> Source -> FormatType -> Automaton.AutomatonOptions -> m ()
+   36 eval tokenType source = evalTL $ tokenize tokenType source
+   37 
+   38 evalTL :: BIO m => TokenList -> FormatType -> Automaton.AutomatonOptions -> m ()
+   39 evalTL tl ascii ao = flip start ao =<< liftSafe (parseFromTL ascii tl)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer.hs.html new file mode 100644 index 000000000..ac7fd28f0 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer.hs.html @@ -0,0 +1,53 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.WhiteSpace.Lexer where
+    2 
+    3 import           HelVM.HelMA.Automata.WhiteSpace.Token
+    4 
+    5 import           HelVM.HelIO.ReadText
+    6 import           HelVM.HelMA.Automaton.API.IOTypes
+    7 import           HelVM.HelMA.Automaton.Types.TokenType
+    8 import           HelVM.HelMA.Automaton.WrapTokenList
+    9 
+   10 -- | Lexer
+   11 
+   12 tokenize :: TokenType -> Source -> TokenList
+   13 tokenize VisibleTokenType = tokenizeVisible
+   14 tokenize _                = tokenizeWhite
+   15 
+   16 tokenizeVisible :: Source -> TokenList
+   17 tokenizeVisible = unWrapTokenList . readVisibleTokens
+   18 
+   19 tokenizeWhite :: Source -> TokenList
+   20 tokenizeWhite = whiteTokenListToTokenList . unWrapTokenList . readWhiteTokens
+   21 
+   22 readVisibleTokens :: Source -> VisibleTokens
+   23 readVisibleTokens source = readTextUnsafe source :: VisibleTokens
+   24 
+   25 readWhiteTokens :: Source -> WhiteTokens
+   26 readWhiteTokens source = readTextUnsafe source :: WhiteTokens
+   27 
+   28 type VisibleTokens = WrapTokenList TokenList
+   29 
+   30 type WhiteTokens = WrapTokenList WhiteTokenList
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers.hs.html new file mode 100644 index 000000000..29d8c1c81 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers.hs.html @@ -0,0 +1,95 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.WhiteSpace.OperandParsers where
+    2 
+    3 import           HelVM.HelMA.Automata.WhiteSpace.Token
+    4 import           HelVM.HelMA.Automaton.Symbol
+    5 
+    6 import           HelVM.HelMA.Automaton.Instruction.CFInstruction
+    7 
+    8 import           HelVM.HelMA.Automaton.Types.FormatType
+    9 
+   10 import           HelVM.HelIO.Collections.SList
+   11 import           HelVM.HelIO.Control.Safe
+   12 import           HelVM.HelIO.Digit.ToDigit
+   13 
+   14 import           Control.Monad.Extra
+   15 
+   16 parseIndex :: MonadSafe m => ParserFromTokenList m Index
+   17 parseIndex = parseInt
+   18 
+   19 parseSymbol :: MonadSafe m => ParserFromTokenList m Symbol
+   20 parseSymbol = parseInteger
+   21 
+   22 parseLabel :: MonadSafe m => FormatType -> ParserFromTokenList m Label
+   23 parseLabel BinaryLabel = parseDigitString
+   24 parseLabel TextLabel   = parseAsciiString
+   25 
+   26 ----
+   27 
+   28 parseInt :: MonadSafe m => ParserFromTokenList m Int
+   29 parseInt tl = parseInt' <$> parseInteger tl where
+   30   parseInt' (integer , tl') = (fromIntegral integer , tl')
+   31 
+   32 parseInteger :: MonadSafe m => ParserFromTokenList m Integer
+   33 parseInteger []       = liftError "EOL"
+   34 parseInteger (S : tl) = parseExtra makeIntegral2FromList tl
+   35 parseInteger (T : tl) = negationIntegral <$> parseExtra makeIntegral2FromList tl
+   36 parseInteger (N : tl) = pure (0 , tl)
+   37 
+   38 negationIntegral :: (Integer , TokenList) -> (Integer , TokenList)
+   39 negationIntegral (i , l) = (-i , l)
+   40 
+   41 parseNatural :: MonadSafe m => ParserFromTokenList m Natural
+   42 parseNatural = parseExtra makeIntegral2FromList
+   43 
+   44 parseExtra :: MonadSafe m => (TokenList -> m a) -> ParserFromTokenList m a
+   45 parseExtra maker = loop act . ([] , ) where
+   46   act (acc ,      []) = Right $ liftError $ show acc
+   47   act (acc ,  N : tl) = Right $ moveSafe (maker acc , tl)
+   48   act (acc ,  t : tl) = Left (t : acc , tl)
+   49 
+   50 parseDigitString :: MonadSafe m => ParserFromTokenList m SString
+   51 parseDigitString tl = moveSafe =<< parseString' makeDigitStringFromList tl
+   52 
+   53 parseAsciiString :: MonadSafe m => ParserFromTokenList m SString
+   54 parseAsciiString tl = moveSafe =<< parseString' makeAsciiString28FromList tl
+   55 
+   56 moveSafe :: MonadSafe m => (m a , TokenList) -> m (a , TokenList)
+   57 moveSafe (a , tl) = appendErrorTuple ("TokenList" , show tl) $ ( , tl) <$> a
+   58 
+   59 parseString' :: MonadSafe m => (TokenList -> a) -> ParserFromTokenList m a
+   60 parseString' maker tl = parseString'' <$> splitByN tl where
+   61   parseString'' (acc , tl') = (maker acc , tl')
+   62 
+   63 splitByN :: MonadSafe m => ParserFromTokenList m TokenList
+   64 splitByN []       = liftError "Empty list"
+   65 splitByN (N : tl) = pure ([]    , tl)
+   66 splitByN (t : tl) = splitByN' <$> splitByN tl where
+   67   splitByN' (acc , tl') = (t:acc , tl')
+   68 
+   69 -- | Types
+   70 type ParserFromTokenList m a = Parser TokenList m a
+   71 
+   72 type Parser b m a = b -> m (a , b)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser.hs.html new file mode 100644 index 000000000..9d67a9353 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser.hs.html @@ -0,0 +1,116 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.WhiteSpace.Parser (
+    2   flipParseVisible,
+    3   flipParseWhite,
+    4   parseVisible,
+    5   parseWhite,
+    6   parse,
+    7   parseFromTL
+    8 ) where
+    9 
+   10 import           HelVM.HelMA.Automata.WhiteSpace.Lexer
+   11 import           HelVM.HelMA.Automata.WhiteSpace.OperandParsers
+   12 import           HelVM.HelMA.Automata.WhiteSpace.Token
+   13 
+   14 import           HelVM.HelMA.Automaton.API.IOTypes
+   15 
+   16 import           HelVM.HelMA.Automaton.Instruction
+   17 
+   18 import           HelVM.HelMA.Automaton.Types.FormatType
+   19 import           HelVM.HelMA.Automaton.Types.TokenType
+   20 
+   21 import           HelVM.HelIO.Control.Safe
+   22 import           HelVM.HelIO.Extra
+   23 
+   24 -- FIXME
+   25 flipParseVisible :: FormatType -> Source -> Safe InstructionList
+   26 flipParseVisible = flip parseVisible
+   27 
+   28 flipParseWhite :: FormatType -> Source -> Safe InstructionList
+   29 flipParseWhite = flip parseWhite
+   30 
+   31 parseVisible :: Source -> FormatType -> Safe InstructionList
+   32 parseVisible = parse VisibleTokenType
+   33 
+   34 parseWhite :: Source -> FormatType -> Safe InstructionList
+   35 parseWhite = parse WhiteTokenType
+   36 
+   37 parse :: MonadSafe m => TokenType -> Source -> FormatType -> m InstructionList
+   38 parse tokenType = flip parseFromTL . tokenize tokenType
+   39 
+   40 parseFromTL :: MonadSafe m => FormatType -> TokenList -> m InstructionList
+   41 parseFromTL ascii = repeatedlyM (parseInstruction ascii)
+   42 
+   43 parseInstruction :: MonadSafe m => FormatType -> InstructionParser m
+   44 parseInstruction     _ (S :     tl) = parseInstructionStackManipulation tl
+   45 parseInstruction     _ (T : S : tl) = parseInstructionArithmetic        tl
+   46 parseInstruction     _ (T : T : tl) = parseInstructionHeadAccess        tl
+   47 parseInstruction ascii (N :     tl) = parseInstructionFlowControl ascii tl
+   48 parseInstruction     _ (T : N : tl) = parseInstructionIO                tl
+   49 parseInstruction     _          tl  = unrecognisedTokensIn "parseInstruction" tl
+   50 
+   51 parseInstructionStackManipulation :: MonadSafe m => InstructionParser m
+   52 parseInstructionStackManipulation (S :     tl) = build <$> parseSymbol tl where build (symbol , tl') = (consI symbol  , tl')
+   53 parseInstructionStackManipulation (T : S : tl) = build <$> parseIndex  tl where build (index  , tl') = (copyII  index , tl')
+   54 parseInstructionStackManipulation (T : N : tl) = build <$> parseIndex  tl where build (index  , tl') = (slideII index , tl')
+   55 parseInstructionStackManipulation (N : S : tl) = pure (dupI     , tl)
+   56 parseInstructionStackManipulation (N : T : tl) = pure (swapI    , tl)
+   57 parseInstructionStackManipulation (N : N : tl) = pure (discardI , tl)
+   58 parseInstructionStackManipulation          tl  = unrecognisedTokensIn "parseInstructionStackManipulation" tl
+   59 
+   60 parseInstructionArithmetic :: MonadSafe m => InstructionParser m
+   61 parseInstructionArithmetic (S : S : tl) = pure (addI , tl)
+   62 parseInstructionArithmetic (S : T : tl) = pure (subI , tl)
+   63 parseInstructionArithmetic (S : N : tl) = pure (mulI , tl)
+   64 parseInstructionArithmetic (T : S : tl) = pure (divI , tl)
+   65 parseInstructionArithmetic (T : T : tl) = pure (modI , tl)
+   66 parseInstructionArithmetic          tl  = unrecognisedTokensIn "parseInstructionArithmetic" tl
+   67 
+   68 parseInstructionHeadAccess :: MonadSafe m => InstructionParser m
+   69 parseInstructionHeadAccess (S : tl) = pure (storeI , tl)
+   70 parseInstructionHeadAccess (T : tl) = pure (loadI  , tl)
+   71 parseInstructionHeadAccess      tl  = unrecognisedTokensIn "parseInstructionHeadAccess" tl
+   72 
+   73 parseInstructionFlowControl :: MonadSafe m => FormatType -> InstructionParser m
+   74 parseInstructionFlowControl ascii (S : S : tl) = build <$> parseLabel ascii tl where build (label , tl') = (markSI  label , tl')
+   75 parseInstructionFlowControl ascii (S : T : tl) = build <$> parseLabel ascii tl where build (label , tl') = (callSI label  , tl')
+   76 parseInstructionFlowControl ascii (S : N : tl) = build <$> parseLabel ascii tl where build (label , tl') = (jumpSI label  , tl')
+   77 parseInstructionFlowControl ascii (T : S : tl) = build <$> parseLabel ascii tl where build (label , tl') = (bEzSI   label  , tl')
+   78 parseInstructionFlowControl ascii (T : T : tl) = build <$> parseLabel ascii tl where build (label , tl') = (bLtzSI  label  , tl')
+   79 parseInstructionFlowControl     _ (T : N : tl) = pure (returnI , tl)
+   80 parseInstructionFlowControl     _ (N : N : tl) = pure (End     , tl)
+   81 parseInstructionFlowControl     _          tl  = unrecognisedTokensIn "parseInstructionFlowControl" tl
+   82 
+   83 parseInstructionIO :: MonadSafe m => InstructionParser m
+   84 parseInstructionIO (S : S : tl) = pure (sOutputI    , tl)
+   85 parseInstructionIO (S : T : tl) = pure (sOutputDecI , tl)
+   86 parseInstructionIO (T : S : tl) = pure (mInputI     , tl)
+   87 parseInstructionIO (T : T : tl) = pure (mInputDecI  , tl)
+   88 parseInstructionIO          tl  = unrecognisedTokensIn "parseInstructionIO" tl
+   89 
+   90 unrecognisedTokensIn :: MonadSafe m => Text -> TokenList -> m a
+   91 unrecognisedTokensIn name tl = liftErrorTupleList [("Unrecognised tokens in" , name) , ("Rest tokens" , show tl)]
+   92 
+   93 type InstructionParser m = ParserFromTokenList m Instruction
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams.hs.html new file mode 100644 index 000000000..f8257845d --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams.hs.html @@ -0,0 +1,73 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.WhiteSpace.SimpleParams where
+    2 
+    3 import           HelVM.HelMA.Automaton.API.AutoOptions
+    4 import qualified HelVM.HelMA.Automaton.API.AutomatonOptions as Automaton
+    5 import           HelVM.HelMA.Automaton.API.IOTypes
+    6 
+    7 import           HelVM.HelMA.Automaton.Types.FormatType
+    8 import           HelVM.HelMA.Automaton.Types.RAMType
+    9 import           HelVM.HelMA.Automaton.Types.StackType
+   10 import           HelVM.HelMA.Automaton.Types.TokenType
+   11 
+   12 -- | Construction for tests
+   13 simpleParamsWithDefaultsAndWhiteTokenType :: FormatType -> Source -> SimpleParams
+   14 simpleParamsWithDefaultsAndWhiteTokenType = simpleParamsWithDefaults WhiteTokenType
+   15 
+   16 simpleParamsWithDefaultsAndVisibleTokenType :: FormatType -> Source -> SimpleParams
+   17 simpleParamsWithDefaultsAndVisibleTokenType = simpleParamsWithDefaults VisibleTokenType
+   18 
+   19 simpleParamsWithDefaults :: TokenType -> FormatType -> Source -> SimpleParams
+   20 simpleParamsWithDefaults tt = simpleParams tt (defaultStackType , defaultRAMType)
+   21 
+   22 -- | Construction for benchmark
+   23 simpleParamsWithWhiteTokenType :: (StackType, RAMType) -> FormatType -> Source -> SimpleParams
+   24 simpleParamsWithWhiteTokenType = simpleParams WhiteTokenType
+   25 
+   26 simpleParamsWithVisibleTokenType :: (StackType, RAMType) -> FormatType -> Source -> SimpleParams
+   27 simpleParamsWithVisibleTokenType = simpleParams VisibleTokenType
+   28 
+   29 automatonOptions :: SimpleParams -> Automaton.AutomatonOptions
+   30 automatonOptions p = Automaton.AutomatonOptions (stackType p) (ramType p) (autoOptions p)
+   31 
+   32 simpleParams :: TokenType -> (StackType, RAMType) -> FormatType -> Source -> SimpleParams
+   33 simpleParams tt (st , rt) al s = SimpleParams
+   34   { tokenType = tt
+   35   , source = s
+   36   , formatType = al
+   37   , stackType = st
+   38   , ramType = rt
+   39   , autoOptions = simpleAutoParams False
+   40   }
+   41 
+   42 -- | Type
+   43 data SimpleParams = SimpleParams
+   44   { tokenType   :: !TokenType
+   45   , source      :: !Source
+   46   , formatType  :: !FormatType
+   47   , stackType   :: !StackType
+   48   , ramType     :: !RAMType
+   49   , autoOptions :: !AutoOptions
+   50   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token.hs.html new file mode 100644 index 000000000..6cb7c3008 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token.hs.html @@ -0,0 +1,66 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.WhiteSpace.Token where
+    2 
+    3 import           HelVM.HelIO.Collections.SList
+    4 import           HelVM.HelIO.Control.Safe
+    5 import           HelVM.HelIO.Digit.ToDigit
+    6 
+    7 import           Text.Read
+    8 
+    9 import qualified Text.Show
+   10 
+   11 data Token =  S | T | N
+   12   deriving stock (Bounded , Enum , Eq , Read , Show)
+   13 
+   14 type TokenList = [Token]
+   15 type TokenSList = SList Token
+   16 
+   17 instance ToDigit Token where
+   18   toDigit S = pure 0
+   19   toDigit T = pure 1
+   20   toDigit t = liftErrorWithPrefix "Wrong token" $ show t
+   21 
+   22 ----
+   23 
+   24 newtype WhiteToken = WhiteToken { unWhiteToken :: Token}
+   25   deriving stock (Eq)
+   26 
+   27 instance Show WhiteToken where
+   28   show (WhiteToken S) = " "
+   29   show (WhiteToken T) = "\t"
+   30   show (WhiteToken N) = "\n"
+   31 
+   32 -- | Scanner
+   33 instance Read WhiteToken where
+   34   readsPrec _ " "  = [( WhiteToken S , "")]
+   35   readsPrec _ "\t" = [( WhiteToken T , "")]
+   36   readsPrec _ "\n" = [( WhiteToken N , "")]
+   37   readsPrec _ _    = []
+   38 
+   39 type WhiteTokenList = [WhiteToken]
+   40 
+   41 whiteTokenListToTokenList :: WhiteTokenList -> TokenList
+   42 whiteTokenListToTokenList = fmap unWhiteToken
+   43 
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton.hs.html new file mode 100644 index 000000000..cb2d7bf2d --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton.hs.html @@ -0,0 +1,63 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.Zot.Automaton (
+    2   evalParams,
+    3   evalWithFormat,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automata.Zot.Evaluator
+    7 import           HelVM.HelMA.Automata.Zot.Expression
+    8 import           HelVM.HelMA.Automata.Zot.Parser
+    9 
+   10 import           HelVM.HelMA.Automaton.API.EvalParams
+   11 import           HelVM.HelMA.Automaton.API.IOTypes
+   12 
+   13 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   14 
+   15 import           HelVM.HelMA.Automaton.Types.FormatType
+   16 
+   17 import           HelVM.HelIO.Containers.Extra
+   18 import           HelVM.HelIO.Control.Safe
+   19 
+   20 import           HelVM.HelIO.Digit.Digitable
+   21 import           HelVM.HelIO.Digit.ToDigit
+   22 
+   23 import           HelVM.HelIO.ListLikeExtra
+   24 
+   25 import           Control.Monad.Writer.Lazy
+   26 
+   27 import qualified Data.Text.Lazy                         as LT
+   28 
+   29 evalParams :: BIO m => EvalParams -> m ()
+   30 evalParams p = wPutStr =<< evalWithFormat (formatType p) (source p) =<< wGetContentsText
+   31 
+   32 evalWithFormat :: MonadSafe m => FormatType -> Source -> LT.Text -> m Output
+   33 evalWithFormat BinaryLabel source input = pure $ showFoldable $ evalInternal source input
+   34 evalWithFormat TextLabel   source input = (makeAsciiText28 . convert . evalInternal source) . showExpressionList =<< stringToDL (toString input)
+   35 
+   36 evalInternal :: Source -> LT.Text -> ExpressionDList
+   37 evalInternal source input = eval $ fromStrict source <> input
+   38 
+   39 eval :: LT.Text  -> ExpressionDList
+   40 eval = execWriter . runExpressionList . parse
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator.hs.html new file mode 100644 index 000000000..7fbaabb92 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator.hs.html @@ -0,0 +1,96 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.Zot.Evaluator (
+    2   runExpressionList,
+    3 )  where
+    4 
+    5 import           HelVM.HelMA.Automata.Zot.Expression
+    6 
+    7 import           Control.Monad.Writer.Lazy
+    8 
+    9 import qualified Data.ListLike                       as LL
+   10 
+   11 -- | High-level Expressions
+   12 runExpressionList :: ExpressionList -> Out Expression
+   13 runExpressionList el = foldExpression el >><< outputExpression >>< printExpression
+   14 
+   15 foldExpression :: ExpressionList -> Out Expression
+   16 foldExpression = foldM (><) emptyExpression
+   17 
+   18 emptyExpression :: Expression
+   19 emptyExpression = contExpression iExpression
+   20 
+   21 outputExpression :: Out Expression
+   22 outputExpression = kExpression ><< kExpression ><< kExpression ><< kExpression ><< kExpression ><< kExpression >< iExpression
+   23 
+   24 printExpression :: Expression
+   25 printExpression = Expression innerPrintExpression
+   26 
+   27 innerPrintExpression :: Expression -> Out Expression
+   28 innerPrintExpression f = interrogateExpression f >>< Zero >>< One >>= tell . LL.singleton >> pure printExpression
+   29 
+   30 interrogateExpression :: Expression -> Out Expression
+   31 interrogateExpression f = f >< iExpression >>< iExpression >>< iExpression >>< kExpression
+   32 
+   33 -- | Operators
+   34 infixl 9 ><
+   35 (><) :: Expression -> Expression -> Out Expression
+   36 (><) Zero           = (zeroExpression ><)
+   37 (><) One            = (oneExpression ><)
+   38 (><) (Expression f) = f
+   39 
+   40 infixl 6 >><
+   41 (>><) :: Out Expression -> Expression -> Out Expression
+   42 f >>< a = f >>= (>< a)
+   43 
+   44 infixr 8 ><<
+   45 (><<) :: Expression -> Out Expression -> Out Expression
+   46 f ><< a = (f ><) =<< a
+   47 
+   48 infixl 7 >><<
+   49 (>><<) :: Out Expression -> Out Expression -> Out Expression
+   50 f >><< a = f >>= (><< a)
+   51 
+   52 
+   53 -- | Low-level Expressions
+   54 zeroExpression :: Expression
+   55 zeroExpression = contExpression $ Expression $ \ f -> f >< sExpression >>< kExpression
+   56 
+   57 oneExpression :: Expression
+   58 oneExpression = makeExpression $ \c -> contExpression $ makeExpression $ \l -> contExpression $ Expression $ \r -> c ><< l >< r
+   59 
+   60 contExpression :: Expression -> Expression
+   61 contExpression = Expression . flip (><)
+   62 
+   63 sExpression :: Expression
+   64 sExpression = makeExpression $ \x -> makeExpression $ \y -> Expression $ \z -> x >< z >><< y >< z
+   65 
+   66 kExpression :: Expression
+   67 kExpression = makeExpression $ makeExpression . const
+   68 
+   69 iExpression :: Expression
+   70 iExpression = makeExpression id
+   71 
+   72 makeExpression :: (Expression -> Expression) -> Expression
+   73 makeExpression f =  Expression $ pure . f
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression.hs.html new file mode 100644 index 000000000..c593bd870 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression.hs.html @@ -0,0 +1,87 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.Zot.Expression where
+    2 
+    3 import           HelVM.HelIO.Control.Safe
+    4 
+    5 import           HelVM.HelIO.Containers.Extra
+    6 import           HelVM.HelIO.Digit.Digitable
+    7 import           HelVM.HelIO.Digit.ToDigit
+    8 
+    9 import           Control.Monad.Writer.Lazy
+   10 
+   11 import qualified Data.DList                   as D
+   12 import qualified Data.Text.Lazy               as LT
+   13 import           Text.Read
+   14 import qualified Text.Show
+   15 
+   16 showExpressionList :: ExpressionList -> LT.Text
+   17 showExpressionList f = fmconcat $ show <$> f
+   18 
+   19 readExpressionList :: LT.Text -> ExpressionList
+   20 readExpressionList = stringToExpressionList . toString
+   21 
+   22 stringToExpressionList :: String -> ExpressionList
+   23 stringToExpressionList s = charToExpressionList =<< s
+   24 
+   25 charToExpressionList :: Char -> ExpressionList
+   26 charToExpressionList = maybeToList . rightToMaybe . charToExpressionSafe
+   27 
+   28 charToExpression :: Char -> Expression
+   29 charToExpression = unsafe . charToExpressionSafe
+   30 
+   31 charToExpressionSafe :: MonadSafe m => Char -> m Expression
+   32 charToExpressionSafe '0' = pure Zero
+   33 charToExpressionSafe '1' = pure One
+   34 charToExpressionSafe  c  = liftErrorWithPrefix "charToExpression" $ one c
+   35 
+   36 -- | Types
+   37 type ExpressionDList = D.DList Expression
+   38 
+   39 type ExpressionList = [Expression]
+   40 
+   41 data Expression = Zero | One | Expression (Expression -> Out Expression)
+   42 
+   43 type Out = Writer ExpressionDList
+   44 
+   45 instance Read Expression where
+   46   readsPrec _ []      = []
+   47   readsPrec _ (c : s) = [(charToExpression c , s)]
+   48   readList s = [(stringToExpressionList s , "")]
+   49 
+   50 instance Show Expression where
+   51   show  Zero          = "0"
+   52   show  One           = "1"
+   53   show (Expression _) = "function"
+   54   showList fs  = (concatMap show fs <>)
+   55 
+   56 instance Digitable Expression where
+   57   fromDigit 0 = pure Zero
+   58   fromDigit 1 = pure One
+   59   fromDigit t = wrongToken t
+   60 
+   61 instance ToDigit Expression where
+   62   toDigit Zero = pure 0
+   63   toDigit One  = pure 1
+   64   toDigit t    = wrongToken t
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser.hs.html new file mode 100644 index 000000000..a4e439887 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser.hs.html @@ -0,0 +1,42 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automata.Zot.Parser (
+    2   parse,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automata.Zot.Expression
+    6 
+    7 import qualified Data.Text.Lazy                      as LT
+    8 
+    9 parse :: LT.Text -> ExpressionList
+   10 parse = concatMap parseLine . LT.lines
+   11 
+   12 parseLine :: LT.Text -> ExpressionList
+   13 parseLine = readExpressionList . filter01 . LT.takeWhile (/= '#')
+   14 
+   15 filter01 :: LT.Text -> LT.Text
+   16 filter01 = LT.filter is01
+   17 
+   18 is01 :: Char -> Bool
+   19 is01 c = c == '0' || c == '1'
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions.hs.html new file mode 100644 index 000000000..852979d4f --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions.hs.html @@ -0,0 +1,46 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.API.AutoOptions where
+    2 
+    3 import           HelVM.HelMA.Automaton.API.OptimizationLevel
+    4 import           HelVM.HelMA.Automaton.Loop
+    5 import           HelVM.HelMA.Automaton.Types.DumpType
+    6 
+    7 verySimpleAutoParams :: AutoOptions
+    8 verySimpleAutoParams = simpleAutoParams False
+    9 
+   10 simpleAutoParams :: Bool -> AutoOptions
+   11 simpleAutoParams c = AutoOptions
+   12   { optLevel     = AllOptimizations
+   13   , compileFlag  = c
+   14   , limit        = testMaybeLimit
+   15   , dumpType     = Pretty
+   16   }
+   17 
+   18 data AutoOptions = AutoOptions
+   19   { optLevel    :: OptimizationLevel
+   20   , compileFlag :: Bool
+   21   , limit       :: LimitMaybe
+   22   , dumpType    :: DumpType
+   23   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions.hs.html new file mode 100644 index 000000000..bee737adb --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions.hs.html @@ -0,0 +1,45 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.API.AutomatonOptions where
+    2 
+    3 import           HelVM.HelMA.Automaton.API.AutoOptions
+    4 import           HelVM.HelMA.Automaton.API.OptimizationLevel
+    5 import           HelVM.HelMA.Automaton.Types.RAMType
+    6 import           HelVM.HelMA.Automaton.Types.StackType
+    7 
+    8 optLevelAutoOptions :: AutomatonOptions -> OptimizationLevel
+    9 optLevelAutoOptions = optLevel . autoOptions
+   10 
+   11 withDefaultRam :: StackType -> AutoOptions -> AutomatonOptions
+   12 withDefaultRam s ao = AutomatonOptions
+   13   { ramType     = defaultRAMType
+   14   , stackType   = s
+   15   , autoOptions = ao
+   16   }
+   17 
+   18 data AutomatonOptions = AutomatonOptions
+   19   { stackType   :: StackType
+   20   , ramType     :: RAMType
+   21   , autoOptions :: AutoOptions
+   22   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams.hs.html new file mode 100644 index 000000000..303cf1b4f --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams.hs.html @@ -0,0 +1,63 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.API.EvalParams where
+    2 
+    3 import           HelVM.HelMA.Automaton.API.AutoOptions
+    4 import qualified HelVM.HelMA.Automaton.API.AutomatonOptions as Automaton
+    5 import           HelVM.HelMA.Automaton.API.IOTypes
+    6 import           HelVM.HelMA.Automaton.API.MemoryOptions
+    7 
+    8 import           HelVM.HelMA.Automaton.Types.CellType
+    9 import           HelVM.HelMA.Automaton.Types.DumpType
+   10 import           HelVM.HelMA.Automaton.Types.FormatType
+   11 import           HelVM.HelMA.Automaton.Types.IntCellType
+   12 import           HelVM.HelMA.Automaton.Types.RAMType
+   13 import           HelVM.HelMA.Automaton.Types.StackType
+   14 
+   15 -- | Accessors
+   16 ramAutoOptions :: EvalParams -> RAMType
+   17 ramAutoOptions = ram . memoryOptions
+   18 
+   19 stackAutoOptions :: EvalParams -> StackType
+   20 stackAutoOptions = stack . memoryOptions
+   21 
+   22 cellAutoOptions :: EvalParams -> CellType
+   23 cellAutoOptions = cell . memoryOptions
+   24 
+   25 intCellAutoOptions :: EvalParams -> IntCellType
+   26 intCellAutoOptions = intCell . memoryOptions
+   27 
+   28 dumpAutoOptions :: EvalParams -> DumpType
+   29 dumpAutoOptions = dumpType . autoOptions
+   30 
+   31 automatonOptions :: EvalParams -> Automaton.AutomatonOptions
+   32 automatonOptions p = Automaton.AutomatonOptions (stackAutoOptions p) (ramAutoOptions p) (autoOptions p)
+   33 
+   34 -- | Type
+   35 data EvalParams = EvalParams
+   36   { formatType    :: !FormatType
+   37   , source        :: !Source
+   38   , memoryOptions :: !MemoryOptions
+   39   , autoOptions   :: !AutoOptions
+   40   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions.hs.html new file mode 100644 index 000000000..fee9a0b3e --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.API.MemoryOptions where
+    2 
+    3 import           HelVM.HelMA.Automaton.Types.CellType
+    4 import           HelVM.HelMA.Automaton.Types.IntCellType
+    5 import           HelVM.HelMA.Automaton.Types.RAMType
+    6 import           HelVM.HelMA.Automaton.Types.StackType
+    7 
+    8 -- | Types
+    9 data MemoryOptions = MemoryOptions
+   10   { ram     :: !RAMType
+   11   , stack   :: !StackType
+   12   , cell    :: !CellType
+   13   , intCell :: !IntCellType
+   14   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel.hs.html new file mode 100644 index 000000000..96e2b9243 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel.hs.html @@ -0,0 +1,54 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.API.OptimizationLevel where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 import           HelVM.HelIO.Containers.LLIndexSafe
+    6 
+    7 -- | Constructors
+    8 
+    9 implementedOptimizationLevels :: [OptimizationLevel]
+   10 implementedOptimizationLevels = [NoOptimizations , BasicOptimizations]
+   11 
+   12 fromBool :: Bool -> OptimizationLevel
+   13 fromBool = enumFromBool
+   14 
+   15 fromNatural :: Natural -> OptimizationLevel
+   16 fromNatural = fromMaybe AllOptimizations . indexMaybe optimizationLevels . fromIntegral
+   17 
+   18 defaultOptimizationLevel :: OptimizationLevel
+   19 defaultOptimizationLevel = defaultEnum
+   20 
+   21 optimizationLevels :: [OptimizationLevel]
+   22 optimizationLevels = generateEnums 4
+   23 
+   24 -- | Types
+   25 
+   26 data OptimizationLevel =
+   27     NoOptimizations
+   28   | BasicOptimizations
+   29   | SomeOptimizations
+   30   | AllOptimizations
+   31   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton.hs.html new file mode 100644 index 000000000..048d2da46 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton.hs.html @@ -0,0 +1,104 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Automaton (
+    2   start,
+    3   runAndDumpLogs,
+    4   run,
+    5 ) where
+    6 
+    7 import           HelVM.HelMA.Automaton.API.AutoOptions
+    8 import           HelVM.HelMA.Automaton.API.AutomatonOptions
+    9 
+   10 import           HelVM.HelMA.Automaton.Instruction
+   11 
+   12 import           HelVM.HelMA.Automaton.IO.AutomatonIO
+   13 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   14 
+   15 import           HelVM.HelMA.Automaton.Loop                 as Loop
+   16 import           HelVM.HelMA.Automaton.Optimizer
+   17 import           HelVM.HelMA.Automaton.Symbol
+   18 
+   19 import           HelVM.HelMA.Automaton.Types.DumpType
+   20 import           HelVM.HelMA.Automaton.Types.RAMType
+   21 import           HelVM.HelMA.Automaton.Types.StackType
+   22 
+   23 import           HelVM.HelMA.Automaton.Combiner
+   24 import           HelVM.HelMA.Automaton.Combiner.CPU         as CPU
+   25 
+   26 import           HelVM.HelIO.Containers.LLIndexSafe
+   27 
+   28 import qualified HelVM.HelIO.Collections.MapList            as MapList
+   29 import qualified HelVM.HelIO.Collections.SList              as SList
+   30 
+   31 import           Control.Applicative.Tools
+   32 import           Control.Monad.Extra
+   33 
+   34 import qualified Data.Sequence                              as Seq
+   35 import           Data.Vector                                as Vector
+   36 
+   37 import           Prelude                                    hiding (swap)
+   38 
+   39 start :: BIO m => InstructionList -> AutomatonOptions -> m ()
+   40 start il ao = start' (flip optimize il $ optLevelAutoOptions ao) (stackType ao) (ramType ao) (autoOptions ao)
+   41 
+   42 start' :: BIO m => InstructionList -> StackType -> RAMType -> AutoOptions -> m ()
+   43 start' il s ListRAMType    = start'' il s []
+   44 start' il s SeqRAMType     = start'' il s Seq.empty
+   45 start' il s SListRAMType   = start'' il s SList.sListEmpty
+   46 start' il s MapListRAMType = start'' il s MapList.mapListEmpty
+   47 
+   48 start'' :: (RAutomatonIO Symbol r m) => InstructionList -> StackType -> r -> AutoOptions -> m ()
+   49 start'' il ListStackType  = start''' il []
+   50 start'' il SeqStackType   = start''' il Seq.empty
+   51 start'' il SListStackType = start''' il SList.sListEmpty
+   52 
+   53 start''' :: (SRAutomatonIO Symbol s r m) => InstructionList -> s -> r -> AutoOptions -> m ()
+   54 start''' il s r p = runAndDumpLogs p (newMemory il s r)
+   55 
+   56 runAndDumpLogs :: (SRAutomatonIO Symbol s r m) => AutoOptions -> Memory s r ->  m ()
+   57 runAndDumpLogs p = logDump (dumpType p) <=< run (compileFlag p) (limit p)
+   58 
+   59 run :: (SRAutomatonIO Symbol s r m) => Bool -> LimitMaybe -> F s r m
+   60 run False = runI
+   61 run True  = runA --FIXME Remove it because it does not work
+   62 
+   63 ----
+   64 
+   65 runA :: (SRAutomatonIO Symbol s r m) => LimitMaybe -> F s r m
+   66 runA l a = loopMWithLimit (nextStateA $ compileA a) l  a
+   67 
+   68 compileA :: (SRAutomatonIO Symbol s r m) => Memory s r -> Vector (SF s r m)
+   69 compileA = runInstruction <.> memoryProgram
+   70 
+   71 nextStateA :: (SRAutomatonIO Symbol s r m) => Vector (SF s r m) -> SF s r m
+   72 nextStateA fv a = flip id (incrementIC a) =<< indexSafe fv (memoryProgramCounter a)
+   73 
+   74 ----
+   75 
+   76 runI :: (SRAutomatonIO Symbol s r m) => LimitMaybe -> F s r m
+   77 runI = loopMWithLimit nextStateI
+   78 
+   79 nextStateI :: (SRAutomatonIO Symbol s r m) => SF s r m
+   80 nextStateI a = nextStateForInstruction =<< currentInstruction (memoryCM a) where
+   81   nextStateForInstruction i = runInstruction i $ incrementIC a
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU.hs.html new file mode 100644 index 000000000..3ee811387 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU.hs.html @@ -0,0 +1,207 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Combiner.ALU (
+    2   runALI,
+    3   runSAL,
+    4 
+    5   doOutputChar2,
+    6   doInputChar2,
+    7   doInputDec2,
+    8   divMod,
+    9   sub,
+   10   binaryInstruction,
+   11   binaryInstructions,
+   12   halibut,
+   13   move,
+   14   discard,
+   15   slide,
+   16   copy,
+   17   flipPush1,
+   18   charPush1,
+   19   genericPush1,
+   20   pop1,
+   21   pop2,
+   22   push1,
+   23   push2,
+   24   splitAt,
+   25   drop,
+   26   ALU,
+   27   SafeStack,
+   28   Stack,
+   29 ) where
+   30 
+   31 import           HelVM.HelMA.Automaton.Instruction.IOInstruction
+   32 import           HelVM.HelMA.Automaton.Instruction.SInstruction
+   33 
+   34 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   35 
+   36 import           HelVM.HelIO.Control.Safe
+   37 
+   38 import           HelVM.HelIO.Containers.LLIndexSafe
+   39 
+   40 import           HelVM.HelIO.ListLikeExtra
+   41 
+   42 import           Control.Applicative.Tools
+   43 import           Data.ListLike                                   hiding (show)
+   44 import           Prelude                                         hiding (divMod, drop, fromList, length, splitAt, swap)
+   45 
+   46 
+   47 runALI :: ALU m ll element => SInstruction -> ll -> m ll
+   48 runALI (SPure ali) = runSAL ali
+   49 runALI (SIO ioi)   = runSIO ioi
+   50 
+   51 runSIO :: ALU m ll element => IOInstruction -> ll -> m ll
+   52 runSIO OutputChar = doOutputChar2
+   53 runSIO OutputDec  = doOutputDec2
+   54 runSIO InputChar  = doInputChar2
+   55 runSIO InputDec   = doInputDec2
+   56 
+   57 runSAL :: SafeStack m ll element => SPureInstruction -> ll -> m ll
+   58 runSAL (Cons         i   ) = push  i
+   59 runSAL (Unary        op  ) = error $ show op
+   60 runSAL (Binary       op  ) = binaryInstruction op
+   61 runSAL (Binaries     ops ) = binaryInstructions ops
+   62 runSAL (Indexed op t)      = indexedInstruction op t
+   63 runSAL  Halibut            = halibut
+   64 runSAL  Pick               = pick
+   65 runSAL  Discard            = discard
+   66 
+   67 -- | Arithmetic instructions
+   68 divMod :: SafeStack m ll element => ll -> m ll
+   69 divMod = binaryInstructions [Mod , Div]
+   70 
+   71 sub :: SafeStack m ll element => ll -> m ll
+   72 sub = binaryInstruction Sub
+   73 
+   74 binaryInstruction :: SafeStack m ll element => BinaryOperation -> ll -> m ll
+   75 binaryInstruction i = binaryInstructions [i]
+   76 
+   77 binaryInstructions :: SafeStack m ll element => [BinaryOperation] -> ll -> m ll
+   78 binaryInstructions il = build <.> pop2 where
+   79   build (e , e', l) = pushList (calculateOps e e' il) l
+   80 
+   81 -- | IO instructions
+   82 doOutputChar2 :: ALU m ll element => ll -> m ll
+   83 doOutputChar2 = appendError "ALU.doOutputChar2" . build <=< pop1 where
+   84   build (e , l) = wPutAsChar e $> l
+   85 
+   86 doOutputDec2 :: ALU m ll element => ll -> m ll
+   87 doOutputDec2 = appendError "ALU.doOutputDec2" . build <=< pop1 where
+   88   build (e , l) = wPutAsDec e $> l
+   89 
+   90 doInputChar2 :: ALU m ll element => ll -> m ll
+   91 doInputChar2 l = appendError "ALU.doOutputDec2" $ build <$> wGetCharAs where
+   92   build e = push1 e l
+   93 
+   94 doInputDec2 :: ALU m ll element => ll -> m ll
+   95 doInputDec2 l = build <$> wGetCharAs where
+   96   build e = push1 e l
+   97 
+   98 indexedInstruction :: SafeStack m ll element => IndexedOperation -> IndexOperand -> ll -> m ll
+   99 indexedInstruction i TopO           = indexedInstructionTop i
+  100 indexedInstruction i (ImmediateO n) = indexedInstructionImmediate i n
+  101 
+  102 -- | Indexed instructions
+  103 indexedInstructionTop :: SafeStack m ll element => IndexedOperation -> ll -> m ll
+  104 indexedInstructionTop op = appendError "ALU.indexedInstructionTop" . build <=< unconsSafe where
+  105   build (e , l) = indexedInstructionImmediate op (fromIntegral e) l
+  106 
+  107 indexedInstructionImmediate :: SafeStack m ll element => IndexedOperation -> Index -> ll -> m ll
+  108 indexedInstructionImmediate Copy  = copy
+  109 indexedInstructionImmediate Move  = move
+  110 indexedInstructionImmediate Slide = slide
+  111 
+  112 -- | Halibut and Pick instructions
+  113 halibut :: SafeStack m ll element => ll -> m ll
+  114 halibut = appendError "ALU.halibut" . build <=< pop1 where
+  115   build (e , l)
+  116     | 0 < i     = move i l
+  117     | otherwise = copy (negate i) l
+  118       where i = fromIntegral e
+  119 
+  120 pick :: SafeStack m ll element => ll -> m ll
+  121 pick = appendError "ALU.pick" . build <=< pop1 where
+  122   build (e , l)
+  123     | 0 <= i    = copy i l
+  124     | otherwise = move (negate i) l
+  125       where i = fromIntegral e
+  126 
+  127 -- | Slide instructions
+  128 slide :: SafeStack m ll element => Index -> ll -> m ll
+  129 slide i = appendError "ALU.pop2" . build <.> pop1 where
+  130   build (e , l) = push1 e $ drop i l
+  131 
+  132 -- | Move instructions
+  133 move :: SafeStack m ll element => Index -> ll -> m ll
+  134 move i l = build $ length l where
+  135   build ll
+  136     | ll <= i = liftErrorWithTupleList "ALU.move index must be less then lenght" [("i" , show i) , ("ll" , show ll)]
+  137     | otherwise = pure $ l1 <> l2 <> l3 where
+  138       (l1 , l3) = splitAt 1 l'
+  139       (l2 , l') = splitAt i l
+  140 
+  141 -- | Copy instructions
+  142 copy :: SafeStack m ll element => Index -> ll -> m ll
+  143 copy i = teeMap flipPush1 (findSafe i)
+  144 
+  145 -- | Pop instructions
+  146 pop1 :: SafeStack m ll element => ll ->  m (element , ll)
+  147 pop1 = appendError "ALU.pop1" . unconsSafe
+  148 
+  149 pop2 :: SafeStack m ll element => ll -> m (element , element , ll)
+  150 pop2 = appendError "ALU.pop2" . uncons2Safe
+  151 
+  152 -- | Push instructions
+  153 push :: SafeStack m ll element => Integer -> ll -> m ll
+  154 push i = pure . genericPush1 i
+  155 
+  156 flipPush1 :: Stack ll element => ll -> element -> ll
+  157 flipPush1 = flip push1
+  158 
+  159 charPush1 :: (Num element , Stack ll element) => Char -> ll -> ll
+  160 charPush1 = genericPush1 . ord
+  161 
+  162 genericPush1 :: (Integral v , Num element , Stack ll element) => v -> ll -> ll
+  163 genericPush1 = push1 . fromIntegral
+  164 
+  165 push1 :: Stack ll element => element -> ll -> ll
+  166 push1 e = pushList [e]
+  167 
+  168 push2 :: Stack ll element => element -> element -> ll -> ll
+  169 push2 e e' = pushList [e , e']
+  170 
+  171 pushList :: Stack ll element => [element] -> ll -> ll
+  172 pushList es l = fromList es <> l
+  173 
+  174 teeMap :: Functor f => (t -> a -> b) -> (t -> f a) -> t -> f b
+  175 teeMap f2 f1 x = f2 x <$> f1 x
+  176 
+  177 -- | Types
+  178 type ALU m ll element = (BIO m , SafeStack m ll element)
+  179 
+  180 type SafeStack m ll element  = (MonadSafe m , IntegralStack ll element)
+  181 
+  182 type IntegralStack ll element = (Stack ll element , Integral element)
+  183 
+  184 type Stack ll element = (Show ll , ListLike ll element , IndexSafe ll element)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU.hs.html new file mode 100644 index 000000000..b44f80e80 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU.hs.html @@ -0,0 +1,134 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Combiner.CPU where
+    2 
+    3 import           HelVM.HelMA.Automaton.Instruction
+    4 import           HelVM.HelMA.Automaton.Instruction.CFInstruction
+    5 
+    6 import           HelVM.HelMA.Automaton.Combiner.ALU
+    7 
+    8 import           HelVM.HelIO.Containers.LLIndexSafe
+    9 import           HelVM.HelIO.Control.Safe
+   10 
+   11 import           Control.Type.Operator
+   12 
+   13 import           Data.ListLike                                   hiding (show)
+   14 import qualified Data.Vector                                     as Vector
+   15 
+   16 runCFI :: (ALU m ll element , Show element) => CFInstruction -> CentralProcessingStep ll m
+   17 runCFI (Mark    _                ) = pure
+   18 runCFI (Labeled i LTop           ) = topInstruction        i
+   19 runCFI (Labeled i (LImmediate  l)) = immediateInstruction  i l
+   20 runCFI (Labeled i (LArtificial l)) = artificialInstruction i l
+   21 runCFI  Return                     = popAddress
+   22 
+   23 popAddress :: ALU m ll element  => CentralProcessingMemory ll -> m $ CentralProcessingMemory ll
+   24 popAddress (CPM (CM il _ (IS (a : is))) s) = pure $ CPM (CM il a $ IS is) s
+   25 popAddress (CPM (CM il _ (IS      [] )) _) = liftErrorWithTupleList "Empty Return Stack" [("il" , show il)]
+   26 
+   27 --
+   28 
+   29 topInstruction :: (ALU m ll element , Show element) => LabeledOperation -> CentralProcessingStep ll m
+   30 topInstruction i cpm = appendError "CPM.topInstruction" $ uncurry (immediateInstruction i) =<< cpmPop1 cpm
+   31 
+   32 immediateInstruction :: (ALU m ll element, DynamicLabel l) => LabeledOperation -> l -> CentralProcessingStep ll m
+   33 immediateInstruction i l cpm = appendError "CPM.immediateInstruction" $ flip (labeled i) cpm =<< findAddressForNaturalLabel l (cpmProgram cpm)
+   34 
+   35 artificialInstruction :: ALU m ll element => LabeledOperation -> Label -> CentralProcessingStep ll m
+   36 artificialInstruction i l cpm = appendError "CPM.artificialInstruction" $ flip (labeled i) cpm =<< findAddressForArtificialLabel l (cpmProgram cpm)
+   37 
+   38 --
+   39 
+   40 findAddressForNaturalLabel :: (MonadSafe m , DynamicLabel n) => n -> InstructionVector -> m InstructionAddress --FIXME
+   41 findAddressForNaturalLabel n il
+   42   | n < 0     = liftError $ show n
+   43   | otherwise = liftMaybeOrErrorTuple ("Undefined label", show n) $ findIndex (checkNaturalMark $ fromIntegral n) il
+   44 
+   45 findAddressForArtificialLabel :: MonadSafe m => Label -> InstructionVector -> m InstructionAddress
+   46 findAddressForArtificialLabel l = liftMaybeOrErrorTuple ("Undefined label", show l) . findIndex (checkArtificialMark l)
+   47 
+   48 --
+   49 
+   50 labeled :: ALU m ll element => LabeledOperation -> InstructionCounter -> CentralProcessingStep ll m
+   51 labeled (Branch t) = branch t
+   52 labeled Jump       = jump
+   53 labeled Call       = call
+   54 
+   55 branch :: ALU m ll element => BranchTest -> InstructionCounter -> CentralProcessingStep ll m
+   56 branch t ic cpm = build <$> cpmPop1 cpm where
+   57   build (e , cpm')
+   58     | isNotJump t e = cpm'
+   59     | otherwise     = doJump ic cpm'
+   60 
+   61 doJump :: InstructionCounter -> CentralProcessingMemory ll -> CentralProcessingMemory ll
+   62 doJump ic (CPM (CM il _ is) s) = CPM (CM il ic is) s
+   63 
+   64 jump :: (Applicative m) => InstructionCounter -> CentralProcessingStep ll m
+   65 jump a (CPM (CM il _  is) s) = pure $ CPM (CM il a is) s
+   66 
+   67 call :: (Applicative m) => InstructionCounter -> CentralProcessingStep ll m
+   68 call a (CPM (CM il ic (IS is)) s) = pure $ CPM (CM il a (IS (ic : is))) s
+   69 
+   70 -- | ControlMemory methods
+   71 
+   72 newCM :: InstructionList -> ControlMemory
+   73 newCM il = CM (Vector.fromList il) 0 (IS [])
+   74 
+   75 currentInstruction :: MonadSafe m => ControlMemory -> m Instruction
+   76 currentInstruction (CM il ic _) = indexSafe il ic
+   77 
+   78 incrementPC :: ControlMemory -> ControlMemory
+   79 incrementPC cu = cu { programCounter = 1 + programCounter cu }
+   80 
+   81 cpmProgram :: CentralProcessingMemory al -> InstructionVector
+   82 cpmProgram = program . controlMemory
+   83 
+   84 cpmPop1 :: ALU m ll element => CentralProcessingMemory ll -> m (element , CentralProcessingMemory ll)
+   85 cpmPop1 (CPM cm s) = build <$> pop1 s where
+   86    build (l , s') = (l , CPM cm s')
+   87 
+   88 -- | Types
+   89 type DynamicLabel l = (Integral l , Show l)
+   90 
+   91 type CentralProcessingStep ll m = CentralProcessingMemory ll -> m $ CentralProcessingMemory ll
+   92 
+   93 data CentralProcessingMemory ll = CPM
+   94   { controlMemory :: ControlMemory
+   95   , alm           :: ll
+   96   }
+   97   deriving stock (Show)
+   98 
+   99 data ControlMemory = CM
+  100   { program        :: InstructionVector
+  101   , programCounter :: InstructionCounter
+  102   , returnStack    :: InstructionStack
+  103   }
+  104   deriving stock (Show)
+  105 
+  106 newtype InstructionStack = IS [InstructionAddress]
+  107   deriving stock (Show)
+  108 
+  109 type InstructionCounter = InstructionAddress
+  110 
+  111 type InstructionAddress = Int
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU.hs.html new file mode 100644 index 000000000..cb6f64734 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU.hs.html @@ -0,0 +1,76 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Combiner.LSU where
+    2 
+    3 import           HelVM.HelMA.Automaton.Combiner.ALU
+    4 import qualified HelVM.HelMA.Automaton.Combiner.RAM              as RAM
+    5 
+    6 import           HelVM.HelMA.Automaton.IO.BusinessIO
+    7 
+    8 import           HelVM.HelMA.Automaton.Instruction.IOInstruction
+    9 import           HelVM.HelMA.Automaton.Instruction.LSInstruction
+   10 
+   11 import           HelVM.HelIO.Control.Safe
+   12 
+   13 import           Control.Type.Operator
+   14 
+   15 runSLI :: (LSU m s r element) => LSInstruction -> LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   16 runSLI Load             = load
+   17 runSLI Store            = store
+   18 runSLI (MIO OutputChar) = loadOutputChar
+   19 runSLI (MIO OutputDec)  = loadOutputDec
+   20 runSLI (MIO InputChar)  = storeInputChar
+   21 runSLI (MIO InputDec)   = storeInputDec
+   22 
+   23 load :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   24 load (LSM s r) = appendError "LSM.load" $ build <$> pop1 s where
+   25   build (address , s') = LSM (push1 (RAM.genericLoad r address) s') r
+   26 
+   27 store :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   28 store (LSM s r) = appendError "LSM.store" $ build <$> pop2 s where
+   29   build (value , address , s') = LSM s' $ RAM.store address value r
+   30 
+   31 loadOutputChar :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   32 loadOutputChar (LSM s r) = appendError "LSM.loadOutputChar" $ build =<< pop1 s where
+   33   build (address , s') = LSM s' r <$ wPutAsChar (RAM.genericLoad r address)
+   34 
+   35 loadOutputDec :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   36 loadOutputDec (LSM s r) = appendError "LSM.loadOutputDec" $ build =<< pop1 s where
+   37   build (address , s') = LSM s' r <$ wPutAsDec (RAM.genericLoad r address)
+   38 
+   39 storeInputChar :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   40 storeInputChar (LSM s r) = appendError "LSM.storeInputChar" $ build =<< pop1 s where
+   41   build (address , s') = LSM s' . flip (RAM.store address) r <$> wGetCharAs
+   42 
+   43 storeInputDec :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r
+   44 storeInputDec (LSM s r) = appendError "LSM.storeInputDec" $ build =<< pop1 s where
+   45   build (address , s') = LSM s' . flip (RAM.store address) r <$> wGetDecAs
+   46 
+   47 -- | Types
+   48 type LSU m s r element = (ALU m s element , RAM.RAM r element)
+   49 
+   50 data LoadStoreMemory s r = LSM
+   51   { stack :: s
+   52   , ram   :: r
+   53   }
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM.hs.html new file mode 100644 index 000000000..428fcd692 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM.hs.html @@ -0,0 +1,64 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Combiner.RAM (
+    2   genericLoad,
+    3   load,
+    4   flippedStoreChar,
+    5   storeChar,
+    6   genericStore,
+    7   store,
+    8   fromList,
+    9   RAM,
+   10 ) where
+   11 
+   12 import           HelVM.HelIO.Containers.LLIndexSafe
+   13 import           HelVM.HelIO.Containers.LLInsertDef
+   14 
+   15 import           Data.Default
+   16 import           Prelude                            hiding (divMod, drop, splitAt, swap)
+   17 
+   18 genericLoad :: (Integral i , RAM ll element) => ll -> i -> element
+   19 genericLoad l = load l . fromIntegral
+   20 
+   21 load :: (RAM ll element) => ll -> Address -> element
+   22 load l i = indexMaybe l i ?: def
+   23 
+   24 flippedStoreChar :: (Num element , Integral address , RAM ll element) => address -> ll -> Char -> ll
+   25 flippedStoreChar a = flip (storeChar a)
+   26 
+   27 storeChar :: (Num element , Integral address , RAM ll element) => address -> Char -> ll -> ll
+   28 storeChar a char = genericStore a $ ord char
+   29 
+   30 genericStore :: (Integral value , Num element , Integral address , RAM ll element) => address -> value -> ll -> ll
+   31 genericStore a v = store a $ fromIntegral v
+   32 
+   33 store :: (Integral a , RAM ll element) => a -> element -> ll -> ll
+   34 store = insertDef . fromIntegral
+   35 
+   36 -- | Types
+   37 type RAM ll element = (Show ll , Default element , II ll element)
+   38 
+   39 type II ll element = (InsertDef ll element , IndexSafe ll element)
+   40 
+   41 type Address = Int
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.hs.html new file mode 100644 index 000000000..eb962e5df --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.hs.html @@ -0,0 +1,110 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Combiner where
+    2 
+    3 import           HelVM.HelMA.Automaton.IO.AutomatonIO
+    4 
+    5 import           HelVM.HelMA.Automaton.Instruction
+    6 
+    7 import           HelVM.HelMA.Automaton.Loop           as Loop
+    8 
+    9 import           HelVM.HelMA.Automaton.Symbol
+   10 
+   11 import           HelVM.HelMA.Automaton.Combiner.ALU   as ALU
+   12 import           HelVM.HelMA.Automaton.Combiner.CPU   as CPU
+   13 import           HelVM.HelMA.Automaton.Combiner.LSU   as LSU
+   14 
+   15 import           Control.Type.Operator
+   16 
+   17 import           Prelude                              hiding (swap)
+   18 
+   19 -- | Core of Combiner
+   20 
+   21 runInstruction :: (SRAutomatonIO Symbol s r m) => Instruction -> SF s r m
+   22 runInstruction (IAL      i) a = Loop.continue . updateStack   a <$> runALI i (memoryStack a)
+   23 runInstruction (ILS      i) a = Loop.continue . updateFromLSM a <$> runSLI i (toLSM a)
+   24 runInstruction (ICF      i) a = Loop.continue . updateFromCPM a <$> runCFI i (toCPM a)
+   25 runInstruction  End         a = end a
+   26 
+   27 pop2ForStack :: (SRAutomatonIO Symbol s r m) => Memory s r -> m (Symbol , Symbol , Memory s r)
+   28 pop2ForStack a = build <$> pop2 (memoryStack a) where
+   29   build (s1 , s2 , s') = (s1 , s2 , updateStack a s')
+   30 
+   31 push1ForStack :: Stack s Symbol => Symbol -> Memory s r -> Memory s r
+   32 push1ForStack e a = a { memoryStack = push1 e (memoryStack a) }
+   33 
+   34 end :: (SRAutomatonIO Symbol s r m) => SF s r m
+   35 end = pure . Loop.break
+   36 
+   37 -- | Constructors
+   38 
+   39 flippedNewMemory :: (s , r) -> InstructionList -> Memory s r
+   40 flippedNewMemory = flip (uncurry . newMemory)
+   41 
+   42 newMemory :: InstructionList -> s -> r -> Memory s r
+   43 newMemory il = Memory (newCM il)
+   44 
+   45 -- | Updaters
+   46 
+   47 incrementIC :: Memory s r -> Memory s r
+   48 incrementIC m = m { memoryCM = incrementPC $ memoryCM m}
+   49 
+   50 updateStack :: Memory s r -> s -> Memory s r
+   51 updateStack m s = m {memoryStack = s}
+   52 
+   53 updateFromCPM :: Memory s r -> CentralProcessingMemory s -> Memory s r
+   54 updateFromCPM m cpm = m { memoryCM = controlMemory cpm, memoryStack = alm cpm}
+   55 
+   56 updateFromLSM :: Memory s r -> LoadStoreMemory s r -> Memory s r
+   57 updateFromLSM m lsu = m {memoryStack = stack lsu , memoryRAM = ram lsu}
+   58 
+   59 -- | Accessors
+   60 
+   61 memoryProgram :: Memory s r -> InstructionVector
+   62 memoryProgram = program . memoryCM
+   63 
+   64 memoryProgramCounter :: Memory s r -> InstructionCounter
+   65 memoryProgramCounter = programCounter . memoryCM
+   66 
+   67 toCPM :: Memory s r -> CentralProcessingMemory s
+   68 toCPM a = CPM { controlMemory = memoryCM a , alm = memoryStack a }
+   69 
+   70 toLSM :: Memory s r -> LoadStoreMemory s r
+   71 toLSM a = LSM { stack = memoryStack a, ram = memoryRAM a }
+   72 
+   73 -- | Types
+   74 
+   75 type SF s r m = Memory s r -> m $ MemorySame s r
+   76 
+   77 type F s r m = Memory s r -> m $ Memory s r
+   78 
+   79 type MemorySame s r = Same (Memory s r)
+   80 
+   81 -- | Data types
+   82 data Memory s r = Memory
+   83   { memoryCM    :: ControlMemory
+   84   , memoryStack :: s
+   85   , memoryRAM   :: r
+   86   }
+   87   deriving stock (Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO.hs.html new file mode 100644 index 000000000..8ba820942 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO.hs.html @@ -0,0 +1,170 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.IO.BusinessIO (
+    2 
+    3   Element,
+    4   BIO,
+    5   BusinessIO,
+    6 
+    7   wPutAsChar,
+    8   wPutAsDec,
+    9   wGetCharAs,
+   10   wGetDecAs,
+   11 
+   12 --  wPutIntAsChar,
+   13 --  wPutIntAsDec,
+   14 --  wGetCharAsInt,
+   15 --  wGetDecAsInt,
+   16 
+   17   wGetContentsBS,
+   18   wGetContentsText,
+   19   wGetContents,
+   20   wGetChar,
+   21   wPutChar,
+   22   wGetLine,
+   23   wPutStr,
+   24   wPutStrLn,
+   25   wFlush,
+   26   wLogStr,
+   27   wLogStrLn,
+   28   wLogShow,
+   29 
+   30   logStr,
+   31   flush,
+   32 ) where
+   33 
+   34 import           HelVM.HelIO.Control.Control
+   35 import           HelVM.HelIO.Control.Safe
+   36 
+   37 import           HelVM.HelIO.ReadText
+   38 
+   39 import qualified Data.ByteString.Lazy        as LBS
+   40 import           Data.Default                as Default
+   41 import qualified Data.Text.Lazy              as LT
+   42 import qualified Data.Text.Lazy.IO           as LT
+   43 
+   44 import           System.IO                   hiding (getLine, hFlush, stderr, stdout)
+   45 
+   46 type Element e  = (ReadShow e , Integral e , Default e)
+   47 type ReadShow e = (Read e , Show e)
+   48 type BIO m = (MonadControl m , BusinessIO m)
+   49 
+   50 class Monad m => BusinessIO m where
+   51 
+   52   wPutAsChar       :: Integral v => v -> m ()
+   53   wPutAsDec        :: Integral v => v -> m ()
+   54   wGetCharAs       :: Integral v => m v
+   55   wGetDecAs        :: Integral v => m v
+   56 
+   57   wPutIntAsChar    :: Int -> m ()
+   58   wPutIntAsDec     :: Int -> m ()
+   59   wGetCharAsInt    :: m Int
+   60   wGetDecAsInt     :: m Int
+   61 
+   62   wGetContentsBS   :: m LBS.ByteString
+   63   wGetContentsText :: m LT.Text
+   64   wGetContents     :: m String
+   65   wGetChar         :: m Char
+   66   wGetLine         :: m Text
+   67   wPutChar         :: Char -> m ()
+   68   wPutStr          :: Text -> m ()
+   69   wPutStrLn        :: Text -> m ()
+   70   wLogStr          :: Text -> m ()
+   71   wLogStrLn        :: Text -> m ()
+   72   wLogShow         :: Show s => s -> m ()
+   73   wFlush           :: m ()
+   74 
+   75   wPutAsChar    = wPutIntAsChar . fromIntegral
+   76   wPutAsDec     = wPutIntAsDec  . fromIntegral
+   77   wGetCharAs    = fromIntegral <$> wGetCharAsInt
+   78   wGetDecAs     = fromIntegral <$> wGetDecAsInt
+   79 
+   80   wPutIntAsChar = wPutChar . chr
+   81   wPutIntAsDec  = wPutStr . show
+   82   wGetCharAsInt = ord <$> wGetChar
+   83   wGetDecAsInt  = readTextUnsafe <$> wGetLine
+   84 
+   85   wPutStrLn s   = wPutStr $ s <> "\n"
+   86   wLogStrLn s   = wLogStr $ s <> "\n"
+   87   wLogShow      = wLogStrLn . show
+   88   wFlush        = pass
+   89 
+   90 logStr :: Text -> IO ()
+   91 logStr = hPutStrLn stderr . toString
+   92 
+   93 flush :: IO ()
+   94 flush = hFlush stdout
+   95 
+   96 instance BusinessIO IO where
+   97   wGetContentsBS   = LBS.getContents
+   98   wGetContentsText = LT.getContents
+   99   wGetContents     = getContents
+  100   wGetChar         = getChar
+  101   wGetLine         = getLine
+  102   wPutChar         = putChar
+  103   wPutStr          = putText
+  104   wPutStrLn        = putTextLn
+  105   wLogStr          = logStr
+  106   wFlush           = flush
+  107 
+  108 type ExceptTLegacy = ExceptT String
+  109 
+  110 exceptTLegacy :: Monad m => m a -> ExceptTLegacy m a
+  111 exceptTLegacy a = ExceptT $ pure <$> a
+  112 
+  113 instance BusinessIO (ExceptT String IO) where --FIXXME
+  114   wGetContentsBS   = exceptTLegacy   LBS.getContents
+  115   wGetContentsText = exceptTLegacy   LT.getContents
+  116   wGetContents     = exceptTLegacy   getContents
+  117   wGetChar         = exceptTLegacy   getChar
+  118   wGetLine         = exceptTLegacy   getLine
+  119   wPutChar         = exceptTLegacy . putChar
+  120   wPutStr          = exceptTLegacy . putText
+  121   wPutStrLn        = exceptTLegacy . putTextLn
+  122   wLogStr          = exceptTLegacy . logStr
+  123   wFlush           = exceptTLegacy   flush
+  124 
+  125 instance BusinessIO (SafeT IO) where
+  126   wGetContentsBS   = safeT   LBS.getContents
+  127   wGetContentsText = safeT   LT.getContents
+  128   wGetContents     = safeT   getContents
+  129   wGetChar         = safeT   getChar
+  130   wGetLine         = safeT   getLine
+  131   wPutChar         = safeT . putChar
+  132   wPutStr          = safeT . putText
+  133   wPutStrLn        = safeT . putTextLn
+  134   wLogStr          = safeT . logStr
+  135   wFlush           = safeT   flush
+  136 
+  137 instance BusinessIO (ControlT IO) where
+  138   wGetContentsBS   = controlT   LBS.getContents
+  139   wGetContentsText = controlT   LT.getContents
+  140   wGetContents     = controlT   getContents
+  141   wGetChar         = controlT   getChar
+  142   wGetLine         = controlT   getLine
+  143   wPutChar         = controlT . putChar
+  144   wPutStr          = controlT . putText
+  145   wPutStrLn        = controlT . putTextLn
+  146   wLogStr          = controlT . logStr
+  147   wFlush           = controlT   flush
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO.hs.html new file mode 100644 index 000000000..7f99ab6cc --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO.hs.html @@ -0,0 +1,169 @@ + + + + + + +
+never executed always true always false
+
+
+    1 {-# LANGUAGE DeriveFunctor #-}
+    2 module HelVM.HelMA.Automaton.IO.FreeIO (
+    3   interpretFreeIOToBusinessIO,
+    4   logInput,
+    5   logOutput,
+    6   FreeIO,
+    7 ) where
+    8 
+    9 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   10 
+   11 import           HelVM.HelIO.Control.Control
+   12 import           HelVM.HelIO.Control.Safe
+   13 
+   14 import           Control.Monad.Free
+   15 import           Control.Natural
+   16 
+   17 import qualified Data.ByteString.Lazy                as LBS
+   18 
+   19 import qualified Data.Text.Lazy                      as LT
+   20 
+   21 interpretFreeIOToBusinessIO :: BusinessIO m => FreeIO a -> m a
+   22 interpretFreeIOToBusinessIO = foldFree interpretFreeIOFToBusinessIO
+   23 
+   24 logInput :: FreeIO ~> FreeIO
+   25 logInput = foldFree logInputF
+   26 
+   27 logOutput :: FreeIO ~> FreeIO
+   28 logOutput = foldFree logOutputF
+   29 
+   30 ----
+   31 
+   32 interpretFreeIOFToBusinessIO :: BusinessIO m => FreeIOF a -> m a
+   33 interpretFreeIOFToBusinessIO (GetContentsBS   cd) = cd <$> wGetContentsBS
+   34 interpretFreeIOFToBusinessIO (GetContentsText cd) = cd <$> wGetContentsText
+   35 interpretFreeIOFToBusinessIO (GetContents     cd) = cd <$> wGetContents
+   36 interpretFreeIOFToBusinessIO (GetChar         cd) = cd <$> wGetChar
+   37 interpretFreeIOFToBusinessIO (GetLine         cd) = cd <$> wGetLine
+   38 interpretFreeIOFToBusinessIO (PutChar        c v) = wPutChar  c $> v
+   39 interpretFreeIOFToBusinessIO (PutStr         s v) = wPutStr   s $> v
+   40 interpretFreeIOFToBusinessIO (PutStrLn       s v) = wPutStrLn s $> v
+   41 interpretFreeIOFToBusinessIO (LogStr         s v) = wLogStr   s $> v
+   42 interpretFreeIOFToBusinessIO (LogStrLn       s v) = wLogStrLn s $> v
+   43 interpretFreeIOFToBusinessIO (Flush            v) = wFlush      $> v
+   44 
+   45 ----
+   46 
+   47 logInputF :: FreeIOF a -> FreeIO a
+   48 logInputF (GetChar     cd) = freeGetChar     >>= (\c -> liftF $ LogStr (one      c) (cd c))
+   49 logInputF (GetLine     cd) = freeGetLine     >>= (\l -> liftF $ LogStr           l  (cd l))
+   50 logInputF               f  =                            liftF f
+   51 
+   52 logOutputF :: FreeIOF a -> FreeIO a
+   53 logOutputF f@(PutChar c v) = liftF (LogStr (one c) v) *> liftF f
+   54 logOutputF f@(PutStr  s v) = liftF (LogStr       s v) *> liftF f
+   55 logOutputF f               =                             liftF f
+   56 
+   57 -- | Instances
+   58 instance BusinessIO FreeIO where
+   59   wGetContentsBS   = freeGetContentsBS
+   60   wGetContentsText = freeGetContentsText
+   61   wGetContents     = freeGetContents
+   62   wGetChar         = freeGetChar
+   63   wGetLine         = freeGetLine
+   64   wPutChar         = freePutChar
+   65   wPutStr          = freePutStr
+   66   wPutStrLn        = freePutStrLn
+   67   wLogStr          = freeLogStr
+   68   wLogStrLn        = freeLogStrLn
+   69   wFlush           = freeFlush
+   70 
+   71 instance BusinessIO (SafeT FreeIO) where
+   72   wGetContentsBS   = safeT   freeGetContentsBS
+   73   wGetContentsText = safeT   freeGetContentsText
+   74   wGetContents     = safeT   freeGetContents
+   75   wGetChar         = safeT   freeGetChar
+   76   wGetLine         = safeT   freeGetLine
+   77   wPutChar         = safeT . freePutChar
+   78   wPutStr          = safeT . freePutStr
+   79   wPutStrLn        = safeT . freePutStrLn
+   80   wLogStr          = safeT . freeLogStr
+   81   wLogStrLn        = safeT . freeLogStrLn
+   82   wFlush           = safeT   freeFlush
+   83 
+   84 instance BusinessIO (ControlT FreeIO) where
+   85   wGetContentsBS    = controlT   freeGetContentsBS
+   86   wGetContentsText  = controlT   freeGetContentsText
+   87   wGetContents      = controlT   freeGetContents
+   88   wGetChar          = controlT   freeGetChar
+   89   wGetLine          = controlT   freeGetLine
+   90   wPutChar          = controlT . freePutChar
+   91   wPutStr           = controlT . freePutStr
+   92   wPutStrLn         = controlT . freePutStrLn
+   93   wLogStr           = controlT . freeLogStr
+   94   wLogStrLn         = controlT . freeLogStrLn
+   95   wFlush            = controlT   freeFlush
+   96 
+   97 -- | Low level functions
+   98 freeGetContentsBS :: FreeIO LBS.ByteString
+   99 freeGetContentsBS = liftF $ GetContentsBS id
+  100 
+  101 freeGetContentsText :: FreeIO LT.Text
+  102 freeGetContentsText = liftF $ GetContentsText id
+  103 
+  104 freeGetContents :: FreeIO String
+  105 freeGetContents = liftF $ GetContents id
+  106 
+  107 freeGetChar :: FreeIO Char
+  108 freeGetChar = liftF $ GetChar id
+  109 
+  110 freeGetLine :: FreeIO Text
+  111 freeGetLine = liftF $ GetLine id
+  112 
+  113 freePutChar :: Char -> FreeIO ()
+  114 freePutChar = liftF . flip PutChar ()
+  115 
+  116 freePutStr :: Text -> FreeIO ()
+  117 freePutStr = liftF . flip PutStr ()
+  118 
+  119 freePutStrLn :: Text -> FreeIO ()
+  120 freePutStrLn = liftF . flip PutStrLn ()
+  121 
+  122 freeLogStr :: Text -> FreeIO ()
+  123 freeLogStr = liftF . flip LogStr ()
+  124 
+  125 freeLogStrLn :: Text -> FreeIO ()
+  126 freeLogStrLn = liftF . flip LogStrLn ()
+  127 
+  128 freeFlush :: FreeIO ()
+  129 freeFlush = liftF $ Flush ()
+  130 
+  131 -- | Types
+  132 type FreeIO = Free FreeIOF
+  133 
+  134 data FreeIOF a
+  135  = GetContentsBS   (LBS.ByteString -> a)
+  136  | GetContentsText (LT.Text        -> a)
+  137  | GetContents     (String         -> a)
+  138  | GetChar         (Char           -> a)
+  139  | GetLine         (Text           -> a)
+  140  | PutChar          Char a
+  141  | PutStr           Text a
+  142  | PutStrLn         Text a
+  143  | LogStr           Text a
+  144  | LogStrLn         Text a
+  145  | Flush                 a
+  146  deriving stock (Functor)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO.hs.html new file mode 100644 index 000000000..c6a861b49 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO.hs.html @@ -0,0 +1,202 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.IO.MockIO (
+    2   ioExecMockIOBatch,
+    3   ioExecMockIOWithInput,
+    4 
+    5   safeExecMockIOBatch,
+    6   safeExecMockIOWithInput,
+    7 
+    8   execMockIOBatch,
+    9   execMockIOWithInput,
+   10 
+   11   runMockIO,
+   12   createMockIO,
+   13   calculateOutput,
+   14   calculateLogged,
+   15 
+   16   MockIO,
+   17   MockIOData,
+   18 ) where
+   19 
+   20 import           HelVM.HelMA.Automaton.API.IOTypes
+   21 import           HelVM.HelMA.Automaton.IO.BusinessIO
+   22 
+   23 import           HelVM.HelIO.Control.Control
+   24 import           HelVM.HelIO.Control.Safe
+   25 
+   26 import           HelVM.HelIO.ListLikeExtra
+   27 
+   28 import qualified Data.ByteString.Lazy                as LBS
+   29 
+   30 import           Data.Text                           as Text
+   31 import qualified Data.Text.Lazy                      as LT
+   32 
+   33 ioExecMockIOBatch :: ControlT MockIO () -> IO MockIOData
+   34 ioExecMockIOBatch = ioExecMockIOWithInput ""
+   35 
+   36 ioExecMockIOWithInput :: Input -> ControlT MockIO () -> IO MockIOData
+   37 ioExecMockIOWithInput i = safeToIO . safeExecMockIOWithInput i
+   38 
+   39 safeExecMockIOBatch :: ControlT MockIO () -> Safe MockIOData
+   40 safeExecMockIOBatch = safeExecMockIOWithInput ""
+   41 
+   42 safeExecMockIOWithInput :: Input -> ControlT MockIO () -> Safe MockIOData
+   43 safeExecMockIOWithInput i = pure . runMockIO i . runControlT
+   44 
+   45 execMockIOBatch :: MockIO () -> MockIOData
+   46 execMockIOBatch = execMockIOWithInput ""
+   47 
+   48 execMockIOWithInput :: Input -> MockIO () -> MockIOData
+   49 execMockIOWithInput i a = runMockIO i $ safeWithMessages <$> a
+   50 
+   51 ----
+   52 
+   53 runMockIO :: Input -> MockIO UnitSafeWithMessages -> MockIOData
+   54 runMockIO i mockIO = flip mockDataLogStr mockIOData $ safeWithMessagesToText s
+   55   where (s , mockIOData) = runState mockIO $ createMockIO i
+   56 
+   57 createMockIO :: Input -> MockIOData
+   58 createMockIO i = MockIOData (toString i) "" ""
+   59 
+   60 calculateOutput :: MockIOData -> Output
+   61 calculateOutput = calculateText . output
+   62 
+   63 calculateLogged :: MockIOData -> Output
+   64 calculateLogged = calculateText . logged
+   65 
+   66 ----
+   67 
+   68 instance BusinessIO MockIO where
+   69   wGetContentsBS   = mockGetContentsBS
+   70   wGetContentsText = mockGetContentsText
+   71   wGetContents     = mockGetContents
+   72   wGetChar         = mockGetChar
+   73   wGetLine         = mockGetLine
+   74   wPutChar         = mockPutChar
+   75   wPutStr          = mockPutStr
+   76   wLogStr          = mockLogStr
+   77 
+   78 instance BusinessIO (SafeT MockIO) where
+   79   wGetContentsBS   = safeT   mockGetContentsBS
+   80   wGetContentsText = safeT   mockGetContentsText
+   81   wGetContents     = safeT   mockGetContents
+   82   wGetChar         = safeT   mockGetChar
+   83   wGetLine         = safeT   mockGetLine
+   84   wPutChar         = safeT . mockPutChar
+   85   wPutStr          = safeT . mockPutStr
+   86   wLogStr          = safeT . mockLogStr
+   87 
+   88 instance BusinessIO (ControlT MockIO) where
+   89   wGetContentsBS   = controlT   mockGetContentsBS
+   90   wGetContentsText = controlT   mockGetContentsText
+   91   wGetContents     = controlT   mockGetContents
+   92   wGetChar         =            mockGetCharSafe
+   93   wGetLine         =            mockGetLineSafe
+   94   wPutChar         = controlT . mockPutChar
+   95   wPutStr          = controlT . mockPutStr
+   96   wLogStr          = controlT . mockLogStr
+   97 
+   98 ----
+   99 
+  100 mockGetContentsBS :: MonadMockIO m => m LBS.ByteString
+  101 mockGetContentsBS =  fromStrict . encodeUtf8 <$> mockGetContentsText
+  102 
+  103 mockGetContentsText :: MonadMockIO m => m LT.Text
+  104 mockGetContentsText = fromStrict . toText <$> mockGetContents
+  105 
+  106 mockGetContents :: MonadMockIO m => m String
+  107 mockGetContents = mockGetContents' =<< get where
+  108   mockGetContents' :: MonadMockIO m => MockIOData -> m String
+  109   mockGetContents' mockIO = content <$ put mockIO { input = "" } where content = input mockIO
+  110 
+  111 mockGetChar :: MonadMockIO m => m Char
+  112 mockGetChar = mockGetChar' =<< get where
+  113   mockGetChar' :: MonadMockIO m => MockIOData -> m Char
+  114   mockGetChar' mockIO = orErrorTuple ("mockGetChar" , show mockIO) (top (input mockIO)) <$ put mockIO { input = orErrorTuple ("mockGetChar" , show mockIO) $ discard $ input mockIO }
+  115 
+  116 mockGetLine :: MonadMockIO m => m Text
+  117 mockGetLine = mockGetLine' =<< get where
+  118   mockGetLine' :: MonadMockIO m => MockIOData -> m Text
+  119   mockGetLine' mockIO = toText line <$ put mockIO { input = input' } where (line , input') = splitStringByLn $ input mockIO
+  120 
+  121 mockGetCharSafe :: MonadControlMockIO m => m Char
+  122 mockGetCharSafe = mockGetChar' =<< get where
+  123   mockGetChar' :: MonadControlMockIO m => MockIOData -> m Char
+  124   mockGetChar' mockIO = appendErrorTuple ("mockGetCharSafe" , show mockIO) $ mockGetChar'' =<< unconsSafe (input mockIO) where
+  125     mockGetChar'' (c, input') = put mockIO { input = input' } $> c
+  126 
+  127 mockGetLineSafe :: MonadControlMockIO m => m Text
+  128 mockGetLineSafe = mockGetLine' =<< get where
+  129   mockGetLine' :: MonadControlMockIO m => MockIOData -> m Text
+  130   mockGetLine' mockIO = toText line <$ put mockIO { input = input' } where (line , input') = splitStringByLn $ input mockIO
+  131 
+  132 
+  133 mockPutChar :: Char -> MockIO ()
+  134 mockPutChar = modify . mockDataPutChar
+  135 
+  136 mockPutStr :: Text -> MockIO ()
+  137 mockPutStr = modify . mockDataPutStr
+  138 
+  139 mockLogStr :: Text -> MockIO ()
+  140 mockLogStr = modify . mockDataLogStr
+  141 
+  142 ----
+  143 
+  144 mockDataPutChar :: Char -> MockIOData -> MockIOData
+  145 mockDataPutChar char mockIO = mockIO { output = char : output mockIO }
+  146 
+  147 mockDataPutStr :: Text -> MockIOData -> MockIOData
+  148 mockDataPutStr text mockIO = mockIO { output = calculateString text <> output mockIO }
+  149 
+  150 mockDataLogStr :: Text -> MockIOData -> MockIOData
+  151 mockDataLogStr text mockIO = mockIO { logged = calculateString text <> logged mockIO }
+  152 
+  153 ----
+  154 
+  155 type MonadControlMockIO m = (MonadMockIO m , MonadControl m)--FIXME
+  156 
+  157 --type MonadSafeMockIO m = (MonadMockIO m , MonadSafe m) --FIXME
+  158 
+  159 type MonadMockIO m = MonadState MockIOData m
+  160 
+  161 type MockIO = State MockIOData
+  162 
+  163 calculateText :: String -> Output
+  164 calculateText = Text.reverse . toText
+  165 
+  166 calculateString :: Output -> String
+  167 calculateString =  toString . Text.reverse
+  168 
+  169 data MockIOData = MockIOData
+  170   { input  :: !String
+  171   , output :: !String
+  172   , logged :: !String
+  173   }
+  174   deriving stock (Eq , Read , Show)
+  175 
+  176 ----
+  177 
+  178 splitStringByLn :: String -> (String , String)
+  179 splitStringByLn = splitBy '\n'
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction.hs.html new file mode 100644 index 000000000..a1bc59fa6 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction.hs.html @@ -0,0 +1,63 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Instruction.CFInstruction where
+    2 
+    3 import           HelVM.HelIO.Collections.SList
+    4 
+    5 -- | Constructors
+    6 
+    7 cfJumpI :: CFInstruction
+    8 cfJumpI = Labeled Jump LTop
+    9 
+   10 -- | Others
+   11 
+   12 isNotJump :: Integral e => BranchTest -> e -> Bool
+   13 isNotJump t = not . isJump t
+   14 
+   15 isJump :: Integral e => BranchTest -> e -> Bool
+   16 isJump NE  e = e /= 0
+   17 isJump EZ  e = e == 0
+   18 isJump LTZ e = e <  0
+   19 isJump GTZ e = e >  0
+   20 
+   21 -- | Types
+   22 data CFInstruction =
+   23     Mark     !Mark
+   24   | Labeled      !LabeledOperation !LabelOperand
+   25   | Return
+   26   deriving stock (Eq , Read , Show)
+   27 
+   28 data Mark  = MNatural Natural | MArtificial Label
+   29   deriving stock (Eq , Read , Show)
+   30 
+   31 data LabelOperand = LTop | LImmediate !Natural | LArtificial Label
+   32   deriving stock (Eq , Read , Show)
+   33 
+   34 type Label = SString --FIXME Artificial
+   35 
+   36 data LabeledOperation = Call | Jump | Branch !BranchTest
+   37   deriving stock (Eq , Read , Show)
+   38 
+   39 data BranchTest = EZ | LTZ | GTZ | NE
+   40   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction.hs.html new file mode 100644 index 000000000..e13a6157b --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction.hs.html @@ -0,0 +1,33 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Instruction.IOInstruction where
+    2 
+    3 -- | Types
+    4 
+    5 data IOInstruction =
+    6     OutputChar
+    7   | OutputDec
+    8   | InputChar
+    9   | InputDec
+   10   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction.hs.html new file mode 100644 index 000000000..8e565b994 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction.hs.html @@ -0,0 +1,34 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Instruction.LSInstruction where
+    2 
+    3 import           HelVM.HelMA.Automaton.Instruction.IOInstruction
+    4 
+    5 -- | Types
+    6 
+    7 data LSInstruction =
+    8     Load  --Restore --Fetch
+    9   | Store --Save
+   10   | MIO   !IOInstruction
+   11   deriving stock (Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction.hs.html new file mode 100644 index 000000000..3043c4e9b --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction.hs.html @@ -0,0 +1,100 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Instruction.SInstruction where
+    2 
+    3 import           HelVM.HelMA.Automaton.Instruction.IOInstruction
+    4 
+    5 -- | Constructors
+    6 
+    7 blAnd :: OperatorType -> BinaryOperation
+    8 blAnd Bitwise = BAnd
+    9 blAnd Logical = LAnd
+   10 
+   11 blOr :: OperatorType -> BinaryOperation
+   12 blOr Bitwise = BOr
+   13 blOr Logical = LOr
+   14 
+   15 blXor :: OperatorType -> BinaryOperation
+   16 blXor Bitwise = BXor
+   17 blXor Logical = LXor
+   18 
+   19 blEQ :: OperatorType -> BinaryOperation
+   20 blEQ Bitwise = BEQ
+   21 blEQ Logical = LEQ
+   22 
+   23 blGT :: OperatorType -> BinaryOperation
+   24 blGT Bitwise = BGT
+   25 blGT Logical = LGT
+   26 
+   27 -- | Other functions
+   28 
+   29 calculateOps :: Integral a => a -> a -> [BinaryOperation] -> [a]
+   30 calculateOps operand operand' = map (calculateOp operand operand')
+   31 
+   32 calculateOp :: Integral a => a -> a -> BinaryOperation -> a
+   33 calculateOp operand operand' operation = doBinary operation operand' operand
+   34 
+   35 doBinary :: Integral a => BinaryOperation -> a -> a -> a
+   36 doBinary Add = (+)
+   37 doBinary Sub = (-)
+   38 doBinary Mul = (*)
+   39 doBinary Div = div
+   40 doBinary Mod = mod
+   41 doBinary o   = error $ show o
+   42 
+   43 -- | Types
+   44 data SInstruction =
+   45     SPure    !SPureInstruction
+   46   | SIO      !IOInstruction
+   47   deriving stock (Eq , Read , Show)
+   48 
+   49 data SPureInstruction =
+   50     Cons     !Integer
+   51   | Unary    !UnaryOperation
+   52   | Binary   !BinaryOperation
+   53   | Binaries [BinaryOperation]
+   54   | Indexed  !IndexedOperation !IndexOperand
+   55   | Halibut
+   56   | Pick
+   57   | Discard
+   58   deriving stock (Eq , Read , Show)
+   59 
+   60 data IndexOperand = TopO | ImmediateO !Index
+   61   deriving stock (Eq , Read , Show)
+   62 
+   63 data UnaryOperation = Neg | BNot | LNot
+   64   deriving stock (Eq , Read , Show)
+   65 
+   66 data BinaryOperation =
+   67      Add | Sub | Mul | Div | Mod
+   68   | BAnd | BOr | BXor | BEQ | BGT
+   69   | LAnd | LOr | LXor | LEQ | LGT
+   70   deriving stock (Eq , Read , Show)
+   71 
+   72 data IndexedOperation = Copy | Move | Slide
+   73   deriving stock (Eq , Read , Show)
+   74 
+   75 type Index = Int
+   76 
+   77 data OperatorType = Bitwise | Logical
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.hs.html new file mode 100644 index 000000000..d036c17f4 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.hs.html @@ -0,0 +1,162 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Instruction where
+    2 
+    3 import           HelVM.HelMA.Automaton.Instruction.CFInstruction
+    4 import           HelVM.HelMA.Automaton.Instruction.IOInstruction
+    5 import           HelVM.HelMA.Automaton.Instruction.LSInstruction
+    6 import           HelVM.HelMA.Automaton.Instruction.SInstruction
+    7 
+    8 import           Data.Vector                                     as Vector
+    9 
+   10 -- | Constructors
+   11 
+   12 consI :: Integer -> Instruction
+   13 consI = sal . Cons
+   14 
+   15 addI , subI , mulI , divI , modI :: Instruction
+   16 addI = binary Add
+   17 subI = binary Sub
+   18 mulI = binary Mul
+   19 divI = binary Div
+   20 modI = binary Mod
+   21 
+   22 divModI , negI , halibutI :: Instruction
+   23 divModI  = binaries [Mod, Div]
+   24 negI     = unary Neg
+   25 halibutI = sal Halibut
+   26 
+   27 dupI , swapI , rotI , copyTI , discardI :: Instruction
+   28 dupI     = copyII 0
+   29 swapI    = moveII 1
+   30 rotI     = moveII 2
+   31 copyTI   = sal $ Indexed Copy TopO
+   32 discardI = sal Discard
+   33 
+   34 copyII :: Index -> Instruction
+   35 copyII = manipulationII Copy
+   36 
+   37 moveII :: Index -> Instruction
+   38 moveII = manipulationII Move
+   39 
+   40 slideII :: Index -> Instruction
+   41 slideII = manipulationII Slide
+   42 
+   43 manipulationII :: IndexedOperation -> Index -> Instruction
+   44 manipulationII i = sal . Indexed i . ImmediateO
+   45 
+   46 sInputI , sOutputI , sOutputDecI :: Instruction
+   47 sInputI     = sio InputChar
+   48 sOutputI    = sio OutputChar
+   49 sOutputDecI = sio OutputDec
+   50 
+   51 binaries :: [BinaryOperation] -> Instruction
+   52 binaries = sal . Binaries
+   53 
+   54 binary :: BinaryOperation -> Instruction
+   55 binary = sal . Binary
+   56 
+   57 unary :: UnaryOperation -> Instruction
+   58 unary = sal . Unary
+   59 
+   60 sal :: SPureInstruction -> Instruction
+   61 sal = IAL . SPure
+   62 
+   63 sio :: IOInstruction -> Instruction
+   64 sio = IAL . SIO
+   65 
+   66 markNI :: Natural -> Instruction
+   67 markNI = ICF . Mark . MNatural
+   68 
+   69 markSI :: Label -> Instruction
+   70 markSI = ICF . Mark . MArtificial
+   71 
+   72 jumpTI :: Instruction
+   73 jumpTI = cft Jump
+   74 
+   75 jumpII :: Natural -> Instruction
+   76 jumpII = cfi Jump
+   77 
+   78 callSI , jumpSI :: Label -> Instruction
+   79 callSI = cfs Call
+   80 jumpSI = cfs Jump
+   81 
+   82 bNeTI :: Instruction
+   83 bNeTI = cft (Branch NE)
+   84 
+   85 bNeII :: Natural -> Instruction
+   86 bNeII = bII NE
+   87 
+   88 bII :: BranchTest ->  Natural -> Instruction
+   89 bII t = cfi (Branch t)
+   90 
+   91 bEzSI , bLtzSI :: Label -> Instruction
+   92 bEzSI  = cfs (Branch EZ )
+   93 bLtzSI = cfs (Branch LTZ)
+   94 
+   95 cft :: LabeledOperation -> Instruction
+   96 cft i = ICF $ Labeled i LTop
+   97 
+   98 cfi :: LabeledOperation -> Natural -> Instruction
+   99 cfi i = ICF . Labeled i . LImmediate
+  100 
+  101 cfs :: LabeledOperation -> Label -> Instruction
+  102 cfs i = ICF . Labeled i . LArtificial
+  103 
+  104 returnI :: Instruction
+  105 returnI = ICF Return
+  106 
+  107 storeI , loadI :: Instruction
+  108 storeI = ILS Store
+  109 loadI  = ILS Load
+  110 
+  111 mInputI , mInputDecI :: Instruction
+  112 mInputI    = ILS (MIO InputChar)
+  113 mInputDecI = ILS (MIO InputDec )
+  114 
+  115 -- | Others
+  116 
+  117 isICF :: Instruction -> Bool
+  118 isICF (ICF _) = True
+  119 isICF      _  = False
+  120 
+  121 checkNaturalMark :: Natural -> Instruction -> Bool
+  122 checkNaturalMark n (ICF (Mark (MNatural n'))) = n == n'
+  123 checkNaturalMark _               _            = False
+  124 
+  125 checkArtificialMark :: Label -> Instruction -> Bool
+  126 checkArtificialMark l (ICF (Mark (MArtificial l'))) = l == l'
+  127 checkArtificialMark _            _                  = False
+  128 
+  129 -- | Types
+  130 
+  131 data Instruction =
+  132     IAL !SInstruction
+  133   | ILS !LSInstruction
+  134   | ICF !CFInstruction
+  135   | End
+  136   deriving stock (Eq , Read , Show)
+  137 
+  138 type InstructionList   = [Instruction]
+  139 type InstructionVector = Vector Instruction
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop.hs.html new file mode 100644 index 000000000..2518f315b --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop.hs.html @@ -0,0 +1,60 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Loop where
+    2 
+    3 import           Control.Monad.Extra
+    4 import           Control.Type.Operator
+    5 
+    6 import           Data.Either.Extra
+    7 
+    8 import           Prelude               hiding (break)
+    9 
+   10 testMaybeLimit :: LimitMaybe
+   11 testMaybeLimit = Just $ fromIntegral (maxBound :: Int)
+   12 
+   13 loopMWithLimit :: Monad m => (a -> m $ Same a) -> LimitMaybe -> a -> m a
+   14 loopMWithLimit f Nothing  x = loopM f x
+   15 loopMWithLimit f (Just n) x = loopM (actMWithLimit f) (n , x)
+   16 
+   17 actMWithLimit :: Monad m => (a -> m $ Same a) -> WithLimit a -> m $ EitherWithLimit a
+   18 actMWithLimit f (n , x) = checkN n where
+   19   checkN 0 = pure $ break x
+   20   checkN _ = next n <$> f x
+   21 
+   22 next :: Natural -> Same a -> EitherWithLimit a
+   23 next n = mapLeft (n - 1 , )
+   24 
+   25 continue :: a -> Either a b
+   26 continue = Left
+   27 
+   28 break :: b -> Either a b
+   29 break = Right
+   30 
+   31 type LimitMaybe = Maybe Natural
+   32 
+   33 type EitherWithLimit a = Either (WithLimit a) a
+   34 
+   35 type WithLimit a = (Natural , a)
+   36 
+   37 type Same a = Either a a
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer.hs.html new file mode 100644 index 000000000..bac11dc74 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer.hs.html @@ -0,0 +1,52 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer (
+    2   constantFolding,
+    3 ) where
+    4 
+    5 import           HelVM.HelMA.Automaton.Combiner.ALU
+    6 
+    7 import           HelVM.HelMA.Automaton.Instruction
+    8 
+    9 import           HelVM.HelMA.Automaton.Instruction.SInstruction
+   10 
+   11 import qualified Data.ListLike                                  as LL
+   12 
+   13 constantFolding :: InstructionList -> InstructionList
+   14 constantFolding = constantFoldingWithAcc []
+   15 
+   16 constantFoldingWithAcc :: [Integer] -> InstructionList -> InstructionList
+   17 constantFoldingWithAcc acc (i : il) = constantFoldingForI acc il i
+   18 constantFoldingWithAcc acc []       = generateIL acc
+   19 
+   20 constantFoldingForI :: [Integer] -> InstructionList -> Instruction -> InstructionList
+   21 constantFoldingForI acc il i@(IAL (SPure i')) = constantFoldingForResult il i acc $ runSAL i' acc
+   22 constantFoldingForI acc il i                  = generateIL acc <> (i : constantFolding il)
+   23 
+   24 constantFoldingForResult :: InstructionList -> Instruction -> [Integer] -> Either a [Integer] -> InstructionList
+   25 constantFoldingForResult il _ _   (Right acc) = constantFoldingWithAcc acc il
+   26 constantFoldingForResult il i acc (Left  _  ) = generateIL acc <> (i : constantFolding il)
+   27 
+   28 generateIL :: [Integer] -> InstructionList
+   29 generateIL acc = consI <$> LL.reverse acc
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer.hs.html new file mode 100644 index 000000000..70c59eab5 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer.hs.html @@ -0,0 +1,73 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer (
+    2   peepholeOptimize1,
+    3   peepholeOptimize2,
+    4   peepholeOptimize3,
+    5 ) where
+    6 
+    7 import           HelVM.HelMA.Automaton.Instruction
+    8 import           HelVM.HelMA.Automaton.Instruction.CFInstruction
+    9 import           HelVM.HelMA.Automaton.Instruction.SInstruction
+   10 
+   11 peepholeOptimize1 :: InstructionList -> InstructionList
+   12 peepholeOptimize1 (IAL (SPure (Cons i)) : IAL (SPure Halibut) : il)                                  = optimizeHalibut i : peepholeOptimize1 il
+   13 peepholeOptimize1 (IAL (SPure (Cons i)) : IAL (SPure Pick   ) : il)                                  = optimizePick    i : peepholeOptimize1 il
+   14 peepholeOptimize1 (IAL (SPure (Cons c)) : IAL (SPure (Cons a)) : ICF (Labeled (Branch t) LTop) : il) = optimizeBranch t c a <> peepholeOptimize1 il
+   15 peepholeOptimize1 (IAL (SPure (Cons a)) : ICF (Labeled (Branch t) LTop) : il)                        = optimizeBranchLabel t a <> peepholeOptimize1 il
+   16 peepholeOptimize1 (i : il)                                                                           = i : peepholeOptimize1 il
+   17 peepholeOptimize1 []                                                                                 = []
+   18 
+   19 peepholeOptimize2 :: InstructionList -> InstructionList
+   20 peepholeOptimize2 (IAL (SPure (Cons c)) : IAL (SPure (Indexed Move (ImmediateO 1))) : ICF (Labeled (Branch t) LTop) : il) = optimizeBranchCondition t c <> peepholeOptimize2 il
+   21 peepholeOptimize2 (i : il)                                                                                                = i : peepholeOptimize2 il
+   22 peepholeOptimize2 []                                                                                                      = []
+   23 
+   24 peepholeOptimize3 :: InstructionList -> InstructionList
+   25 peepholeOptimize3 il = map (\ i -> i) il
+   26 --peepholeOptimize3 (i : il) = i : peepholeOptimize3 il
+   27 --peepholeOptimize3 []       = []
+   28 
+   29 optimizeHalibut :: Integer -> Instruction
+   30 optimizeHalibut i
+   31   | 0 < i     = moveII $ fromIntegral i
+   32   | otherwise = copyII $ fromIntegral $ negate i
+   33 
+   34 optimizePick :: Integer -> Instruction
+   35 optimizePick i
+   36   | 0 <= i    = copyII $ fromIntegral i
+   37   | otherwise = moveII $ fromIntegral $ negate i
+   38 
+   39 optimizeBranch :: BranchTest -> Integer -> Integer -> InstructionList
+   40 optimizeBranch t c a = check $ isJump t c where
+   41   check True = [jumpII $ fromIntegral a]
+   42   check _    = []
+   43 
+   44 optimizeBranchLabel :: BranchTest -> Integer -> InstructionList
+   45 optimizeBranchLabel t a = [bII t $ fromIntegral a]
+   46 
+   47 optimizeBranchCondition :: BranchTest -> Integer -> InstructionList
+   48 optimizeBranchCondition t c = check $ isJump t c where
+   49   check True = [jumpTI]
+   50   check _    = [discardI]
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html new file mode 100644 index 000000000..7c49aa50b --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.hs.html @@ -0,0 +1,40 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Optimizer (
+    2   optimize,
+    3   constantFolding,
+    4 ) where
+    5 
+    6 import           HelVM.HelMA.Automaton.API.OptimizationLevel
+    7 
+    8 import           HelVM.HelMA.Automaton.Instruction
+    9 
+   10 import           HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer
+   11 import           HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
+   12 
+   13 optimize :: OptimizationLevel -> InstructionList -> InstructionList
+   14 optimize NoOptimizations    = id
+   15 optimize BasicOptimizations = constantFolding
+   16 optimize SomeOptimizations  = peepholeOptimize1 . constantFolding
+   17 optimize AllOptimizations   = peepholeOptimize3 . peepholeOptimize2 . peepholeOptimize1 . constantFolding
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra.hs.html new file mode 100644 index 000000000..d4c90e469 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra.hs.html @@ -0,0 +1,68 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.ReadPExtra where
+    2 
+    3 import           HelVM.HelMA.Automaton.API.IOTypes
+    4 
+    5 import           HelVM.HelIO.Control.Safe
+    6 
+    7 import           Control.Type.Operator
+    8 
+    9 import           Data.Char
+   10 
+   11 import           Text.ParserCombinators.ReadP      hiding (many)
+   12 
+   13 runParser :: MonadSafe m => ReadP a -> Source -> m a
+   14 runParser parser source = fst . last <$> nonEmptyRunParser parser source
+   15 
+   16 nonEmptyRunParser :: MonadSafe m => ReadP a -> Source -> m $ NonEmpty (a , String)
+   17 nonEmptyRunParser parser source = nonEmptyFromList ("Cannot parse source\n" <> source) $ listRunParser parser source
+   18 
+   19 listRunParser :: ReadP a -> Source -> [(a , String)]
+   20 listRunParser parser = readP_to_S parser . toString
+   21 
+   22 -- | Parsers
+   23 
+   24 oneOf :: String -> ReadP Char
+   25 oneOf cs = satisfy (`elem` cs)
+   26 
+   27 notChar :: Char -> ReadP Char
+   28 notChar c = satisfy (/= c)
+   29 
+   30 anyChar :: ReadP Char
+   31 anyChar = satisfy $ const True
+   32 
+   33 digit :: ReadP Char
+   34 digit = satisfy isDigit
+   35 
+   36 letterAscii :: ReadP Char
+   37 letterAscii = satisfy isAlphaAscii
+   38 
+   39 -- | Extra
+   40 
+   41 isAlphaAscii :: Char -> Bool
+   42 isAlphaAscii c = isAsciiLower c || isAsciiUpper c
+   43 
+   44 manyNonEmpty :: Alternative f => f a -> f $ NonEmpty a
+   45 manyNonEmpty p = liftA2 (:|) p (many p)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType.hs.html new file mode 100644 index 000000000..002b3d218 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.CellType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultCellType :: CellType
+    7 defaultCellType = defaultEnum
+    8 
+    9 cellTypes :: [CellType]
+   10 cellTypes = generateEnums 8
+   11 
+   12 -- | Types
+   13 data CellType = Int8Type | Word8Type | Int16Type | Word16Type | Int32Type | Word32Type | Int64Type | Word64Type
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType.hs.html new file mode 100644 index 000000000..e6e0c3e6f --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType.hs.html @@ -0,0 +1,52 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.DumpType where
+    2 
+    3 import           HelVM.HelMA.Automaton.IO.BusinessIO
+    4 
+    5 import           HelVM.HelIO.Control.Logger
+    6 
+    7 import           HelVM.HelIO.Extra
+    8 import           HelVM.HelIO.SwitchEnum
+    9 
+   10 logDump :: (BIO m , Show d) => DumpType -> d -> m ()
+   11 logDump dt d = logDump' $ dump dt d where
+   12   logDump' Nothing  = pass
+   13   logDump' (Just t) = logMessageTuple ("dump" , t)
+   14 
+   15 dump :: Show a => DumpType -> a -> Maybe Text
+   16 dump No     _ = Nothing
+   17 dump Ugly   a = Just $ show  a
+   18 dump Pretty a = Just $ showP a
+   19 
+   20 -- | Constructors
+   21 defaultDumpType :: DumpType
+   22 defaultDumpType = defaultEnum
+   23 
+   24 dumpTypes :: [DumpType]
+   25 dumpTypes = generateEnums 3
+   26 
+   27 -- | Types
+   28 data DumpType = No | Ugly | Pretty
+   29   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType.hs.html new file mode 100644 index 000000000..96a182cbe --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.FormatType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultFormatType :: FormatType
+    7 defaultFormatType = defaultEnum
+    8 
+    9 formatTypes :: [FormatType]
+   10 formatTypes = bothEnums
+   11 
+   12 -- | Types
+   13 data FormatType = BinaryLabel | TextLabel
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType.hs.html new file mode 100644 index 000000000..550234485 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.IntCellType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultIntCellType :: IntCellType
+    7 defaultIntCellType = defaultEnum
+    8 
+    9 intCellTypes :: [IntCellType]
+   10 intCellTypes = generateEnums 5
+   11 
+   12 -- | Types
+   13 data IntCellType = IntegerType | Int8Type | Int16Type | Int32Type  | Int64Type
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType.hs.html new file mode 100644 index 000000000..c76725fb7 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.RAMType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultRAMType :: RAMType
+    7 defaultRAMType = defaultEnum
+    8 
+    9 ramTypes :: [RAMType]
+   10 ramTypes = generateEnums 4
+   11 
+   12 -- | Types
+   13 data RAMType = MapListRAMType | SListRAMType | SeqRAMType | ListRAMType
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType.hs.html new file mode 100644 index 000000000..3d02d8a43 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.StackType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultStackType :: StackType
+    7 defaultStackType = defaultEnum
+    8 
+    9 stackTypes :: [StackType]
+   10 stackTypes = generateEnums 3
+   11 
+   12 -- | Types
+   13 data StackType = SeqStackType | SListStackType | ListStackType
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType.hs.html new file mode 100644 index 000000000..1f07b3bf4 --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType.hs.html @@ -0,0 +1,37 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.Types.TokenType where
+    2 
+    3 import           HelVM.HelIO.SwitchEnum
+    4 
+    5 -- | Constructors
+    6 defaultTokenType :: TokenType
+    7 defaultTokenType = defaultEnum
+    8 
+    9 tokenTypes :: [TokenType]
+   10 tokenTypes = bothEnums
+   11 
+   12 -- | Types
+   13 data TokenType = WhiteTokenType | VisibleTokenType
+   14   deriving stock (Bounded , Enum , Eq , Read , Show)
+
+
+ + diff --git a/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList.hs.html b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList.hs.html new file mode 100644 index 000000000..41a99454c --- /dev/null +++ b/docs/reports/helma-test/helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList.hs.html @@ -0,0 +1,38 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelMA.Automaton.WrapTokenList where
+    2 
+    3 import qualified Text.Read
+    4 import qualified Text.Show
+    5 
+    6 newtype WrapTokenList a = WrapTokenList { unWrapTokenList :: a }
+    7   deriving stock (Eq)
+    8 
+    9 ----
+   10 
+   11 instance Show a => Show (WrapTokenList [a]) where
+   12   show (WrapTokenList tokens) = show =<< tokens
+   13 
+   14 instance Read a => Read (WrapTokenList [a]) where
+   15   readsPrec _ source = [( WrapTokenList $ maybeToList . readMaybe . one =<< source , "")]
+
+
+ + diff --git a/docs/reports/helma-test/hpc_index.html b/docs/reports/helma-test/hpc_index.html index e4976447a..c15d62202 100644 --- a/docs/reports/helma-test/hpc_index.html +++ b/docs/reports/helma-test/hpc_index.html @@ -7,249 +7,255 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - - + + - - + + - + - + - - + + - - + + - - + + - + + + + + + + - + - + - + - + - + - + - + - + - +
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType 40%6/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction 30%4/13
92%12/13
97%40/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol 42%12/28
0/0 45%36/80
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols 87%21/24
66%10/15
82%171/207
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator 75%3/4
45%5/11
45%22/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator 78%11/14
88%15/17
92%115/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer 85%6/7
76%19/25
56%89/157
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser 100%18/18
0/0 98%73/74
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator 0%0/14
0%0/15
0%0/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction 66%2/3
100%12/12
100%43/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser 100%2/2
0/0 100%5/5
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions 0%0/7
0%0/12
0%0/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator 0%0/14
0%0/12
0%0/89
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser 90%9/10
0/0 95%39/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Cat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator 50%1/2
0/0 25%1/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType 46%7/15
0/0 100%3/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Addressing  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing 100%4/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton 76%13/17
100%13/13
100%132/132
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator 85%6/7
60%3/5
70%34/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer 100%2/2
0/0 100%9/9
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers 50%6/12
60%9/15
68%93/135
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%161/167
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%167/173
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser 100%2/2
0/0 100%4/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token 35%7/20
95%19/20
88%66/75
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser 94%18/19
88%22/25
94%158/167
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton 100%7/7
80%4/5
85%42/49
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Constants  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants 87%7/8
0/0 83%20/24
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator 50%2/4
0/0 59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder 100%7/7
93%15/16
90%88/97
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lambda  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda 50%4/8
0/0 100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer 100%3/3
0/0 100%13/13
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser 100%4/4
0/0 100%40/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Reducer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer 100%3/3
87%7/8
80%25/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Rev.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator 75%3/4
0/0 78%11/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton 53%8/15
83%5/6
84%79/94
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator 83%5/6
25%1/4
58%21/36
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer 100%5/5
0/0 100%27/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator 75%3/4
0/0 71%23/32
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer 100%5/5
100%2/2
100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers 100%13/13
75%9/12
84%84/99
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser 76%10/13
74%26/35
74%139/187
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams 69%9/13
0/0 76%26/34
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token 31%6/19
60%6/10
74%23/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton 75%3/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator 100%18/18
100%3/3
100%125/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression 58%7/12
42%6/14
43%25/58
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser 100%4/4
0/0 100%20/20
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutoOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions 83%5/6
0/0 81%9/11
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.EvalParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams 0%0/10
0/0 0%0/26
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.MemoryOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions 0%0/4
0/0 0%0/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel 0%0/18
0/0 0%0/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton 100%11/11
44%4/9
79%68/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner95%19/20
100%8/8
96%115/119
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner83%15/18
100%4/4
78%75/96
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%23/28
75%18/24
68%147/215
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%24/29
76%19/25
68%150/218
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.CPU80%17/21
64%11/17
62%132/210
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU92%23/25
85%12/14
89%145/162
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.LSU  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU 77%7/9
66%4/6
63%62/98
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.RAM  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM 50%3/6
0/0 48%12/25
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.BusinessIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO 16%9/55
0/0 22%29/131
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.FreeIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO 25%13/52
47%8/17
30%60/196
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.MockIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO 60%35/58
0/0 72%162/222
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction80%41/51
28%4/14
83%104/124
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction84%45/53
66%4/6
89%124/138
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction38%7/18
33%1/3
60%9/15
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction42%12/28
50%2/4
52%10/19
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction 40%2/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction33%11/33
31%5/16
48%13/27
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction36%14/38
31%5/16
48%13/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Loop100%5/5
50%2/4
75%22/29
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop100%6/6
50%2/4
77%24/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer100%7/7
80%8/10
91%42/46
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer100%1/1
25%1/4
58%7/12
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.ReadPExtra  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer100%5/5
100%6/6
100%37/37
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer87%7/8
82%14/17
80%78/97
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra 100%10/10
0/0 93%40/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.CellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType 6%1/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.DumpType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType 11%2/17
40%2/5
59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.FormatType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType 33%5/15
0/0 50%1/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.IntCellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType 0%0/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.RAMType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.StackType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.TokenType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType 0%0/15
0/0 0%0/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.WrapTokenList  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList 75%3/4
0/0 100%16/16
  Program Coverage Total55%577/1041
66%317/479
71%3305/4637
56%599/1069
68%329/483
72%3390/4695
diff --git a/docs/reports/helma-test/hpc_index_alt.html b/docs/reports/helma-test/hpc_index_alt.html index 3db8cbc06..01723582d 100644 --- a/docs/reports/helma-test/hpc_index_alt.html +++ b/docs/reports/helma-test/hpc_index_alt.html @@ -7,249 +7,255 @@ - + - - + + - + - + - + - + - + - + + + + - + - + - + - - + + - + - + - + + + + - - + + - - + + - + - - + + - - + + - + - + - + - - + + - + - + - + - - + + + + + - + - + - + - + - + - - - - - + + - - - - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton 76%13/17
100%13/13
100%132/132
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner95%19/20
100%8/8
96%115/119
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner83%15/18
100%4/4
78%75/96
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator 100%18/18
100%3/3
100%125/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton 75%3/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer 100%5/5
100%2/2
100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Addressing  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing 100%4/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction 66%2/3
100%12/12
100%43/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer100%5/5
100%6/6
100%37/37
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token 35%7/20
95%19/20
88%66/75
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder 100%7/7
93%15/16
90%88/97
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction 30%4/13
92%12/13
97%40/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser 94%18/19
88%22/25
94%158/167
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%161/167
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%167/173
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator 78%11/14
88%15/17
92%115/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Reducer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer 100%3/3
87%7/8
80%25/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU92%23/25
85%12/14
89%145/162
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton 53%8/15
83%5/6
84%79/94
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Automaton100%7/7
80%4/5
85%42/49
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer87%7/8
82%14/17
80%78/97
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer100%7/7
80%8/10
91%42/46
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton100%7/7
80%4/5
85%42/49
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer 85%6/7
76%19/25
56%89/157
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers100%13/13
75%9/12
84%84/99
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%24/29
76%19/25
68%150/218
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%23/28
75%18/24
68%147/215
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers100%13/13
75%9/12
84%84/99
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser 76%10/13
74%26/35
74%139/187
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.LSU  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU 77%7/9
66%4/6
63%62/98
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols 87%21/24
66%10/15
82%171/207
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.CPU80%17/21
64%11/17
62%132/210
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction84%45/53
66%4/6
89%124/138
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token 31%6/19
60%6/10
74%23/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers 50%6/12
60%9/15
68%93/135
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator 85%6/7
60%3/5
70%34/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Loop100%5/5
50%2/4
75%22/29
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction42%12/28
50%2/4
52%10/19
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop100%6/6
50%2/4
77%24/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.FreeIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO 25%13/52
47%8/17
30%60/196
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator 75%3/4
45%5/11
45%22/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton 100%11/11
44%4/9
79%68/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression 58%7/12
42%6/14
43%25/58
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.DumpType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType 11%2/17
40%2/5
59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction38%7/18
33%1/3
60%9/15
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction33%11/33
31%5/16
48%13/27
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction36%14/38
31%5/16
48%13/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction80%41/51
28%4/14
83%104/124
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator 83%5/6
25%1/4
58%21/36
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer100%1/1
25%1/4
58%7/12
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator 0%0/14
0%0/12
0%0/89
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions 0%0/7
0%0/12
0%0/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator 0%0/14
0%0/15
0%0/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer 100%3/3
0/0 100%13/13
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.RAM  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM 50%3/6
0/0 48%12/25
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.BusinessIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO 16%9/55
0/0 22%29/131
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.EvalParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams 0%0/10
0/0 0%0/26
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser 100%4/4
0/0 100%20/20
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams 69%9/13
0/0 76%26/34
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator 75%3/4
0/0 71%23/32
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer 100%5/5
0/0 100%27/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Rev.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator 75%3/4
0/0 78%11/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser 100%4/4
0/0 100%40/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lambda  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda 50%4/8
0/0 100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator 50%2/4
0/0 59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Constants  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants 87%7/8
0/0 83%20/24
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser 100%2/2
0/0 100%4/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer 100%2/2
0/0 100%9/9
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType 46%7/15
0/0 100%3/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Cat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator 50%1/2
0/0 25%1/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser 90%9/10
0/0 95%39/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser 100%2/2
0/0 100%5/5
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser 100%18/18
0/0 98%73/74
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol 42%12/28
0/0 45%36/80
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType 40%6/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.WrapTokenList  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList 75%3/4
0/0 100%16/16
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.TokenType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType 0%0/15
0/0 0%0/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.StackType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.RAMType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.IntCellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType 0%0/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.FormatType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType 33%5/15
0/0 50%1/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.CellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType 6%1/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.ReadPExtra  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra 100%10/10
0/0 93%40/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction 40%2/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.MockIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO 60%35/58
0/0 72%162/222
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel 0%0/18
0/0 0%0/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutoOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions 83%5/6
0/0 81%9/11
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.MemoryOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions 0%0/4
0/0 0%0/4
  Program Coverage Total55%577/1041
66%317/479
71%3305/4637
56%599/1069
68%329/483
72%3390/4695
diff --git a/docs/reports/helma-test/hpc_index_exp.html b/docs/reports/helma-test/hpc_index_exp.html index 804f37b54..05417254c 100644 --- a/docs/reports/helma-test/hpc_index_exp.html +++ b/docs/reports/helma-test/hpc_index_exp.html @@ -7,249 +7,255 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - - - - - + + - + - + - + - + - - - - + - + + + + + + + - + - + - + - + - - - - + - + - + - + + + + - + + + + - + + + + - + - + - - - - + - + - + - + - + - + - - + + - + - - - - - - - + - + - + - + + + + - + + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer 100%3/3
0/0 100%13/13
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton 76%13/17
100%13/13
100%132/132
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator 100%18/18
100%3/3
100%125/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser 100%4/4
0/0 100%20/20
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer 100%5/5
100%2/2
100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer 100%5/5
0/0 100%27/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser 100%4/4
0/0 100%40/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lambda  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda 50%4/8
0/0 100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser 100%2/2
0/0 100%4/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer 100%2/2
0/0 100%9/9
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType 46%7/15
0/0 100%3/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser 100%2/2
0/0 100%5/5
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction 66%2/3
100%12/12
100%43/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.WrapTokenList  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList 75%3/4
0/0 100%16/16
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer100%5/5
100%6/6
100%37/37
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser 100%18/18
0/0 98%73/74
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction 30%4/13
92%12/13
97%40/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner95%19/20
100%8/8
96%115/119
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%161/167
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%167/173
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser 90%9/10
0/0 95%39/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser 94%18/19
88%22/25
94%158/167
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.ReadPExtra  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra 100%10/10
0/0 93%40/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator 78%11/14
88%15/17
92%115/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer100%7/7
80%8/10
91%42/46
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder 100%7/7
93%15/16
90%88/97
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU92%23/25
85%12/14
89%145/162
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction84%45/53
66%4/6
89%124/138
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token 35%7/20
95%19/20
88%66/75
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton 100%7/7
80%4/5
85%42/49
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton 53%8/15
83%5/6
84%79/94
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers 100%13/13
75%9/12
84%84/99
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Constants  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants 87%7/8
0/0 83%20/24
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction80%41/51
28%4/14
83%104/124
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols 87%21/24
66%10/15
82%171/207
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutoOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions 83%5/6
0/0 81%9/11
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Reducer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer 100%3/3
87%7/8
80%25/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer87%7/8
82%14/17
80%78/97
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton 100%11/11
44%4/9
79%68/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Rev.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner83%15/18
100%4/4
78%75/96
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator 75%3/4
0/0 78%11/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop100%6/6
50%2/4
77%24/31
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton 75%3/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams 69%9/13
0/0 76%26/34
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Addressing  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing 100%4/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Loop100%5/5
50%2/4
75%22/29
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token 31%6/19
60%6/10
74%23/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser 76%10/13
74%26/35
74%139/187
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.MockIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO 60%35/58
0/0 72%162/222
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator 75%3/4
0/0 71%23/32
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator 85%6/7
60%3/5
70%34/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers 50%6/12
60%9/15
68%93/135
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%23/28
75%18/24
68%147/215
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%24/29
76%19/25
68%150/218
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.LSU  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU 77%7/9
66%4/6
63%62/98
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.CPU80%17/21
64%11/17
62%132/210
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction38%7/18
33%1/3
60%9/15
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator 50%2/4
0/0 59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.DumpType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType 11%2/17
40%2/5
59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator 83%5/6
25%1/4
58%21/36
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer100%1/1
25%1/4
58%7/12
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer 85%6/7
76%19/25
56%89/157
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.FormatType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction42%12/28
50%2/4
52%10/19
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType 33%5/15
0/0 50%1/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.RAM  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM 50%3/6
0/0 48%12/25
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction33%11/33
31%5/16
48%13/27
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction36%14/38
31%5/16
48%13/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol 42%12/28
0/0 45%36/80
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator 75%3/4
45%5/11
45%22/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression 58%7/12
42%6/14
43%25/58
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType 40%6/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.StackType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.RAMType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.FreeIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO 25%13/52
47%8/17
30%60/196
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Cat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator 50%1/2
0/0 25%1/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.BusinessIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO 16%9/55
0/0 22%29/131
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.EvalParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams 0%0/10
0/0 0%0/26
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator 0%0/14
0%0/12
0%0/89
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions 0%0/7
0%0/12
0%0/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator 0%0/14
0%0/15
0%0/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.TokenType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType 0%0/15
0/0 0%0/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.IntCellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType 0%0/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.CellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType 6%1/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel 0%0/18
0/0 0%0/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.MemoryOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions 0%0/4
0/0 0%0/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction 40%2/5
0/0 0/0 
  Program Coverage Total55%577/1041
66%317/479
71%3305/4637
56%599/1069
68%329/483
72%3390/4695
diff --git a/docs/reports/helma-test/hpc_index_fun.html b/docs/reports/helma-test/hpc_index_fun.html index 50e5d4617..328b0e158 100644 --- a/docs/reports/helma-test/hpc_index_fun.html +++ b/docs/reports/helma-test/hpc_index_fun.html @@ -7,249 +7,255 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - - + + - - + + - + - + + + + - + - + - + + + + - + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - - + + - + - + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lexer 100%3/3
0/0 100%13/13
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Automaton 100%11/11
44%4/9
79%68/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutomatonOptions 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Evaluator 100%18/18
100%3/3
100%125/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Parser 100%4/4
0/0 100%20/20
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.OperandParsers 100%13/13
75%9/12
84%84/99
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Lexer 100%5/5
100%2/2
100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Lexer 100%5/5
0/0 100%27/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Reducer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Reducer 100%3/3
87%7/8
80%25/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Parser 100%4/4
0/0 100%40/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.InputEncoder 100%7/7
93%15/16
90%88/97
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Automaton 100%7/7
80%4/5
85%42/49
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.SimpleParams 100%5/5
0/0 100%10/10
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Parser 100%2/2
0/0 100%4/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%161/167
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Optimizer100%21/21
88%15/17
96%167/173
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Lexer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Lexer 100%2/2
0/0 100%9/9
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Addressing  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Addressing 100%4/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser 100%2/2
0/0 100%5/5
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser 100%18/18
0/0 98%73/74
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.ReadPExtra  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.ReadPExtra 100%10/10
0/0 93%40/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Optimizer100%7/7
80%8/10
91%42/46
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer100%5/5
100%6/6
100%37/37
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Loop100%5/5
50%2/4
75%22/29
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer100%1/1
25%1/4
58%7/12
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner95%19/20
100%8/8
96%115/119
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Loop100%6/6
50%2/4
77%24/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Parser 94%18/19
88%22/25
94%158/167
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.CPU92%23/25
85%12/14
89%145/162
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser 90%9/10
0/0 95%39/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Constants  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Constants 87%7/8
0/0 83%20/24
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols 87%21/24
66%10/15
82%171/207
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer87%7/8
82%14/17
80%78/97
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer 85%6/7
76%19/25
56%89/157
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Evaluator 85%6/7
60%3/5
70%34/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator83%5/6
25%1/4
58%21/36
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction84%45/53
66%4/6
89%124/138
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.AutoOptions83%5/6
0/0 81%9/11
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner83%15/18
100%4/4
78%75/96
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%23/28
75%18/24
68%147/215
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Evaluator83%5/6
25%1/4
58%21/36
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.CPU80%17/21
64%11/17
62%132/210
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.AutoOptions83%5/6
0/0 81%9/11
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction80%41/51
28%4/14
83%104/124
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.ALU82%24/29
76%19/25
68%150/218
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator 78%11/14
88%15/17
92%115/125
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.LSU  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.LSU 77%7/9
66%4/6
63%62/98
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Automaton 76%13/17
100%13/13
100%132/132
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Parser 76%10/13
74%26/35
74%139/187
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Automaton 75%3/4
100%2/2
76%30/39
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Evaluator 75%3/4
0/0 71%23/32
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Rev.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Rev.Evaluator 75%3/4
0/0 78%11/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Evaluator 75%3/4
45%5/11
45%22/48
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.WrapTokenList  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.WrapTokenList 75%3/4
0/0 100%16/16
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.SimpleParams 69%9/13
0/0 76%26/34
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction 66%2/3
100%12/12
100%43/43
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.MockIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.MockIO 60%35/58
0/0 72%162/222
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Zot.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Zot.Expression 58%7/12
42%6/14
43%25/58
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.SubLeq.Automaton  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.SubLeq.Automaton 53%8/15
83%5/6
84%79/94
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Combiner.RAM  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Combiner.RAM 50%3/6
0/0 48%12/25
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Lambda  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Lambda 50%4/8
0/0 100%14/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.LazyK.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.LazyK.Evaluator 50%2/4
0/0 59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.OperandParsers  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.OperandParsers 50%6/12
60%9/15
68%93/135
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.Cat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.Cat.Evaluator 50%1/2
0/0 25%1/4
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.API.ETAImplType 46%7/15
0/0 100%3/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.Symbol 42%12/28
0/0 45%36/80
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction42%12/28
50%2/4
52%10/19
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.API.BFType 40%6/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.IOInstruction 40%2/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.CFInstruction38%7/18
33%1/3
60%9/15
  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction36%14/38
31%5/16
48%13/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.ETA.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.ETA.Token 35%7/20
95%19/20
88%66/75
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.StackType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.StackType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.RAMType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.RAMType 33%5/15
0/0 33%1/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.FormatType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.FormatType 33%5/15
0/0 50%1/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.SInstruction33%11/33
31%5/16
48%13/27
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.WhiteSpace.Token  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.WhiteSpace.Token 31%6/19
60%6/10
74%23/31
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction 30%4/13
92%12/13
97%40/41
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.FreeIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.FreeIO 25%13/52
47%8/17
30%60/196
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.FALSE.Expression  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.FALSE.Expression 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Instruction.LSInstruction 20%1/5
0/0 0/0 
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.IO.BusinessIO  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.IO.BusinessIO 16%9/55
0/0 22%29/131
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.DumpType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.DumpType 11%2/17
40%2/5
59%13/22
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.CellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.CellType 6%1/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.EvalParams  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.EvalParams 0%0/10
0/0 0%0/26
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator 0%0/14
0%0/12
0%0/89
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions 0%0/7
0%0/12
0%0/40
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator  module helma-0.8.4.5-inplace/HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator 0%0/14
0%0/15
0%0/86
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.TokenType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.TokenType 0%0/15
0/0 0%0/2
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.Types.IntCellType  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.Types.IntCellType 0%0/15
0/0 0%0/3
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.OptimizationLevel 0%0/18
0/0 0%0/14
  module helma-0.8.4.4-inplace/HelVM.HelMA.Automaton.API.MemoryOptions  module helma-0.8.4.5-inplace/HelVM.HelMA.Automaton.API.MemoryOptions 0%0/4
0/0 0%0/4
  Program Coverage Total55%577/1041
66%317/479
71%3305/4637
56%599/1069
68%329/483
72%3390/4695
diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-API-BFType.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-API-BFType.html index f9e4b1ab4..8fd868825 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-API-BFType.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-API-BFType.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.API.BFType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.API.BFType

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.API.BFType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.API.BFType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-SimpleInstruction.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-SimpleInstruction.html index b748bf93a..c86262ec4 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-SimpleInstruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-SimpleInstruction.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Documentation

data SimpleInstruction #

Constructors

MoveR 
MoveL 
Inc 
Dec 
Output 
Input 

Instances

Instances details
Bounded SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Enum SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Eq SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Read SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Show SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Documentation

data SimpleInstruction #

Constructors

MoveR 
MoveL 
Inc 
Dec 
Output 
Input 

Instances

Instances details
Bounded SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Enum SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Eq SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Read SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

Show SimpleInstruction # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-Symbol.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-Symbol.html index 520f9447d..b096fb082 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-Symbol.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-Symbol.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Common.Symbol
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Synopsis

Documentation

inc :: Symbol e => e -> e -> e #

def :: Symbol e => e #

next :: Symbol e => e -> e #

prev :: Symbol e => e -> e #

toInteger :: Integral a => a -> Integer #

conversion to Integer

fromChar :: Symbol e => Char -> e #

toChar :: Symbol e => e -> Char #

class (Bounded e, Default e, Enum e, Eq e, Integral e, Show e) => Symbol e #

Minimal complete definition

fromChar, toChar

Instances

Instances details
Symbol Int # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int #

toChar :: Int -> Char #

Symbol Int8 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int8 #

toChar :: Int8 -> Char #

Symbol Int16 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int16 #

toChar :: Int16 -> Char #

Symbol Int32 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int32 #

toChar :: Int32 -> Char #

Symbol Int64 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int64 #

toChar :: Int64 -> Char #

Symbol Word # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word #

toChar :: Word -> Char #

Symbol Word8 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word8 #

toChar :: Word8 -> Char #

Symbol Word16 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word16 #

toChar :: Word16 -> Char #

Symbol Word32 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word32 #

toChar :: Word32 -> Char #

Symbol Word64 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word64 #

toChar :: Word64 -> Char #

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Common.Symbol
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Synopsis

Documentation

inc :: Symbol e => e -> e -> e #

def :: Symbol e => e #

next :: Symbol e => e -> e #

prev :: Symbol e => e -> e #

toInteger :: Integral a => a -> Integer #

conversion to Integer

fromChar :: Symbol e => Char -> e #

toChar :: Symbol e => e -> Char #

class (Bounded e, Default e, Enum e, Eq e, Integral e, Show e) => Symbol e #

Minimal complete definition

fromChar, toChar

Instances

Instances details
Symbol Int # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int #

toChar :: Int -> Char #

Symbol Int8 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int8 #

toChar :: Int8 -> Char #

Symbol Int16 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int16 #

toChar :: Int16 -> Char #

Symbol Int32 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int32 #

toChar :: Int32 -> Char #

Symbol Int64 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Int64 #

toChar :: Int64 -> Char #

Symbol Word # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word #

toChar :: Word -> Char #

Symbol Word8 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word8 #

toChar :: Word8 -> Char #

Symbol Word16 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word16 #

toChar :: Word16 -> Char #

Symbol Word32 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word32 #

toChar :: Word32 -> Char #

Symbol Word64 # 
Instance details

Defined in HelVM.HelMA.Automata.BrainFuck.Common.Symbol

Methods

fromChar :: Char -> Word64 #

toChar :: Word64 -> Char #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-TapeOfSymbols.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-TapeOfSymbols.html index 137e6e2a0..e141e39d0 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-TapeOfSymbols.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Common-TapeOfSymbols.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols

Synopsis

Documentation

triAndClearSymbol :: Symbol e => Integer -> Integer -> Integer -> FullTapeD e #

Complex instructions

mulDupAndClearSymbol :: Symbol e => Integer -> Integer -> Integer -> Integer -> FullTapeD e #

dupAndClearSymbol :: Symbol e => Integer -> Integer -> FullTapeD e #

mulAddAndClearSymbol :: Symbol e => Integer -> Integer -> FullTapeD e #

addAndClearSymbol :: Symbol e => Integer -> FullTapeD e #

subAndClearSymbol :: Symbol e => Integer -> FullTapeD e #

setSymbol :: Symbol e => Integer -> FullTapeD e #

Change symbols

incSymbol :: Symbol e => Integer -> FullTapeD e #

nextSymbol :: Symbol e => FullTapeD e #

prevSymbol :: Symbol e => FullTapeD e #

clearSymbol :: Symbol e => FullTapeD e #

writeSymbol :: Symbol e => Char -> FullTapeD e #

moveHead :: Symbol e => Integer -> FullTapeD e #

Moves

moveHeadRight :: Symbol e => FullTapeD e #

moveHeadLeft :: Symbol e => FullTapeD e #

newTape :: Symbol e => FullTape e #

Constructors

type FullTape e = (HalfTape e, HalfTape e) #

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols

Synopsis

Documentation

triAndClearSymbol :: Symbol e => Integer -> Integer -> Integer -> FullTapeD e #

Complex instructions

mulDupAndClearSymbol :: Symbol e => Integer -> Integer -> Integer -> Integer -> FullTapeD e #

dupAndClearSymbol :: Symbol e => Integer -> Integer -> FullTapeD e #

mulAddAndClearSymbol :: Symbol e => Integer -> Integer -> FullTapeD e #

addAndClearSymbol :: Symbol e => Integer -> FullTapeD e #

subAndClearSymbol :: Symbol e => Integer -> FullTapeD e #

setSymbol :: Symbol e => Integer -> FullTapeD e #

Change symbols

incSymbol :: Symbol e => Integer -> FullTapeD e #

nextSymbol :: Symbol e => FullTapeD e #

prevSymbol :: Symbol e => FullTapeD e #

clearSymbol :: Symbol e => FullTapeD e #

writeSymbol :: Symbol e => Char -> FullTapeD e #

moveHead :: Symbol e => Integer -> FullTapeD e #

Moves

moveHeadRight :: Symbol e => FullTapeD e #

moveHeadLeft :: Symbol e => FullTapeD e #

newTape :: Symbol e => FullTape e #

Constructors

type FullTape e = (HalfTape e, HalfTape e) #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Evaluator.html index eb89cf5af..978937161 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Evaluator

Documentation

simpleEval :: BIO m => (BFType, Source, CellType) -> m () #

evalParams :: BIO m => BFType -> EvalParams -> m () #

eval :: BIO m => BFType -> Source -> CellType -> DumpType -> m () #

evalSource :: (BIO m, Symbol e) => BFType -> Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Evaluator

Documentation

simpleEval :: BIO m => (BFType, Source, CellType) -> m () #

evalParams :: BIO m => BFType -> EvalParams -> m () #

eval :: BIO m => BFType -> Source -> CellType -> DumpType -> m () #

evalSource :: (BIO m, Symbol e) => BFType -> Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Evaluator.html index c288bf2ad..de7f2c97f 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator

Documentation

evalSource :: (BIO m, Symbol e) => Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator

Documentation

evalSource :: (BIO m, Symbol e) => Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Instruction.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Instruction.html index 4a120d23e..c4bae07fb 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Instruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Instruction.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Optimizer.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Optimizer.html index afc0771c0..78d133db1 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Optimizer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Optimizer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Parser.html index d31fd70bf..2d48685bd 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Fast-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Evaluator.html index 5adbe0640..8dafd9331 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator

Documentation

evalSource :: (BIO m, Symbol e) => Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator

Documentation

evalSource :: (BIO m, Symbol e) => Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Instruction.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Instruction.html index 97776e939..a29273b15 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Instruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Instruction.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Parser.html index 813f7b8db..ee43cb233 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-TableOfInstructions.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-TableOfInstructions.html index b87b2287f..3f3a9dbcf 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-TableOfInstructions.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Flat-TableOfInstructions.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Evaluator.html index 107b62295..16c58a8c9 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator

Documentation

evalSource :: (BIO m, Symbol e) => Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator

Documentation

evalSource :: (BIO m, Symbol e) => Source -> FullTape e -> DumpType -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Instruction.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Instruction.html index 3650e7052..ea074d2d8 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Instruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Instruction.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-InstructionUnit.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-InstructionUnit.html index 265a4bdd8..79cf39140 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-InstructionUnit.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-InstructionUnit.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Parser.html index 7c5e8a396..b40306182 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-BrainFuck-Impl-Tree-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser

\ No newline at end of file +HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-Cat-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-Cat-Evaluator.html index 4f1f29381..c5367e3af 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-Cat-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-Cat-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.Cat.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Cat.Evaluator

Documentation

evalParams :: BIO m => EvalParams -> m () #

eval :: BusinessIO m => Source -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.Cat.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Cat.Evaluator

Documentation

evalParams :: BIO m => EvalParams -> m () #

eval :: BusinessIO m => Source -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-API-ETAImplType.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-API-ETAImplType.html index d46e37577..c328964ee 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-API-ETAImplType.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-API-ETAImplType.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.API.ETAImplType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.API.ETAImplType

\ No newline at end of file +HelVM.HelMA.Automata.ETA.API.ETAImplType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.API.ETAImplType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Addressing.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Addressing.html index 9e0878a16..c0fd6034a 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Addressing.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Addressing.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Addressing
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Addressing

Documentation

genericFindAddress :: (MonadSafe m, Integral cell) => Vector Token -> cell -> m InstructionAddress #

findAddress :: MonadSafe m => Vector Token -> Int -> m InstructionAddress #

genericNextLabel :: Integral cell => Vector Token -> InstructionAddress -> cell #

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Addressing
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Addressing

Documentation

genericFindAddress :: (MonadSafe m, Integral cell) => Vector Token -> cell -> m InstructionAddress #

findAddress :: MonadSafe m => Vector Token -> Int -> m InstructionAddress #

genericNextLabel :: Integral cell => Vector Token -> InstructionAddress -> cell #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Automaton.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Automaton.html index e70e88f17..fac2d271e 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Automaton.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Automaton.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Automaton
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Automaton

Synopsis

Documentation

run :: SAutomatonIO e s m => Maybe Natural -> Memory s -> m $ Memory s #

newMemory :: TokenList -> s -> Memory s #

Memory methods

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Automaton
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Automaton

Synopsis

Documentation

run :: SAutomatonIO e s m => Maybe Natural -> Memory s -> m $ Memory s #

newMemory :: TokenList -> s -> Memory s #

Memory methods

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Evaluator.html index 73a61e833..9961e3791 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Evaluator

Documentation

simpleEval :: BIO m => SimpleParams -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Evaluator

Documentation

simpleEval :: BIO m => SimpleParams -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Lexer.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Lexer.html index 9b225faa0..22638a66a 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Lexer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Lexer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Lexer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Lexer

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Lexer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Lexer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-OperandParsers.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-OperandParsers.html index a80fb2f10..68b33a961 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-OperandParsers.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-OperandParsers.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.OperandParsers
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.OperandParsers

\ No newline at end of file +HelVM.HelMA.Automata.ETA.OperandParsers
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.OperandParsers

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Optimizer.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Optimizer.html index 609fef1e1..15100e930 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Optimizer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Optimizer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Optimizer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Optimizer

Documentation

optimize :: MonadSafe m => TokenList -> m InstructionList #

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Optimizer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Optimizer

Documentation

optimize :: MonadSafe m => TokenList -> m InstructionList #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Parser.html index 61f0cf285..0eaf49975 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Parser

Documentation

parse :: MonadSafe m => Source -> m InstructionList #

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Parser

Documentation

parse :: MonadSafe m => Source -> m InstructionList #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-SimpleParams.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-SimpleParams.html index a7a6d1808..decf26acf 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-SimpleParams.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-SimpleParams.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.SimpleParams
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.SimpleParams

\ No newline at end of file +HelVM.HelMA.Automata.ETA.SimpleParams
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.SimpleParams

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Symbol.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Symbol.html index 2cb9827a1..e8f53f143 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Symbol.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Symbol.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Symbol
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Symbol

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Symbol
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Symbol

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Token.html b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Token.html index 3029d8468..2ae59eb72 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-ETA-Token.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-ETA-Token.html @@ -1 +1 @@ -HelVM.HelMA.Automata.ETA.Token
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Token

Documentation

data Token #

Constructors

E 
T 
A 
O 
I 
N 
S 
H 
R 

Instances

Instances details
Bounded Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Enum Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Eq Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Read Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Show Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

ToDigit Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Methods

toDigit :: (MonadSafe m, Integral a) => Token -> m a

type TokenList = [Token] #

type TokenVector = Vector Token #

newtype WhiteToken #

Constructors

WhiteToken 

Fields

\ No newline at end of file +HelVM.HelMA.Automata.ETA.Token
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.ETA.Token

Documentation

data Token #

Constructors

E 
T 
A 
O 
I 
N 
S 
H 
R 

Instances

Instances details
Bounded Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Enum Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Eq Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Read Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Show Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

ToDigit Token # 
Instance details

Defined in HelVM.HelMA.Automata.ETA.Token

Methods

toDigit :: (MonadSafe m, Integral a) => Token -> m a

type TokenList = [Token] #

type TokenVector = Vector Token #

newtype WhiteToken #

Constructors

WhiteToken 

Fields

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Expression.html b/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Expression.html index 4b69f11de..97fd95ccf 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Expression.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Expression.html @@ -1 +1 @@ -HelVM.HelMA.Automata.FALSE.Expression
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.FALSE.Expression

\ No newline at end of file +HelVM.HelMA.Automata.FALSE.Expression
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.FALSE.Expression

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Parser.html index f574ff080..06b6a356a 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-FALSE-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.FALSE.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.FALSE.Parser

\ No newline at end of file +HelVM.HelMA.Automata.FALSE.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.FALSE.Parser

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Automaton.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Automaton.html index c42735430..519bddf3d 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Automaton.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Automaton.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Automaton
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Automaton

Documentation

run :: BIO m => Lambda -> m () #

runWithTerminator :: BIO m => Lambda -> Lambda -> m () #

realize :: MonadSafe m => Lambda -> m Natural #

realizeWithTrue :: MonadSafe m => Lambda -> m Natural #

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Automaton
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Automaton

Documentation

run :: BIO m => Lambda -> m () #

runWithTerminator :: BIO m => Lambda -> Lambda -> m () #

realize :: MonadSafe m => Lambda -> m Natural #

realizeWithTrue :: MonadSafe m => Lambda -> m Natural #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Constants.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Constants.html index 165c5f98b..e366b325a 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Constants.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Constants.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Constants
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Constants

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Constants
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Constants

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Evaluator.html index 99fa1724b..69df68671 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Evaluator

Documentation

evalParams :: BIO m => EvalParams -> m () #

evalSource :: BIO m => Source -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Evaluator

Documentation

evalParams :: BIO m => EvalParams -> m () #

evalSource :: BIO m => Source -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-InputEncoder.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-InputEncoder.html index 1207539fe..0e5936279 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-InputEncoder.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-InputEncoder.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.InputEncoder
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.InputEncoder

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.InputEncoder
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.InputEncoder

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lambda.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lambda.html index 600436b8b..3f07ce5a9 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lambda.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lambda.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Lambda
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Lambda

Documentation

data Lambda #

Constructors

S 
K 
I 
App Lambda Lambda 
Succ 
Number !Natural 
Var Text 

Instances

Instances details
Eq Lambda # 
Instance details

Defined in HelVM.HelMA.Automata.LazyK.Lambda

Methods

(==) :: Lambda -> Lambda -> Bool #

(/=) :: Lambda -> Lambda -> Bool #

Read Lambda # 
Instance details

Defined in HelVM.HelMA.Automata.LazyK.Lambda

Show Lambda # 
Instance details

Defined in HelVM.HelMA.Automata.LazyK.Lambda

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Lambda
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Lambda

Documentation

data Lambda #

Constructors

S 
K 
I 
App Lambda Lambda 
Succ 
Number !Natural 
Var Text 

Instances

Instances details
Eq Lambda # 
Instance details

Defined in HelVM.HelMA.Automata.LazyK.Lambda

Methods

(==) :: Lambda -> Lambda -> Bool #

(/=) :: Lambda -> Lambda -> Bool #

Read Lambda # 
Instance details

Defined in HelVM.HelMA.Automata.LazyK.Lambda

Show Lambda # 
Instance details

Defined in HelVM.HelMA.Automata.LazyK.Lambda

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lexer.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lexer.html index 84fbddf5b..f22efecf2 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lexer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Lexer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Lexer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Lexer

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Lexer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Lexer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Parser.html index cd4849874..e1af3334e 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Parser

Documentation

parse :: MonadSafe m => Source -> m Lambda #

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Parser

Documentation

parse :: MonadSafe m => Source -> m Lambda #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Reducer.html b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Reducer.html index 18e0fddc8..f93350280 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Reducer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-LazyK-Reducer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.LazyK.Reducer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Reducer

\ No newline at end of file +HelVM.HelMA.Automata.LazyK.Reducer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.LazyK.Reducer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-Rev-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-Rev-Evaluator.html index 023ef91d9..a8cd64a64 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-Rev-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-Rev-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.Rev.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Rev.Evaluator

Documentation

evalParams :: BIO m => EvalParams -> m () #

eval :: BusinessIO m => Source -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.Rev.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Rev.Evaluator

Documentation

evalParams :: BIO m => EvalParams -> m () #

eval :: BusinessIO m => Source -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Automaton.html b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Automaton.html index 5d85b1781..c019970a4 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Automaton.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Automaton.html @@ -1 +1 @@ -HelVM.HelMA.Automata.SubLeq.Automaton
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Automaton

Documentation

newMemory :: Num e => ram -> Automaton e ram #

run :: RAutomatonIO e r m => Maybe Natural -> Automaton e r -> m $ Automaton e r #

\ No newline at end of file +HelVM.HelMA.Automata.SubLeq.Automaton
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Automaton

Documentation

newMemory :: Num e => ram -> Automaton e ram #

run :: RAutomatonIO e r m => Maybe Natural -> Automaton e r -> m $ Automaton e r #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Evaluator.html index 473b38a7e..dd74e0651 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.SubLeq.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Evaluator

Documentation

simpleEval :: BIO m => RAMType -> Source -> m () #

evalParams :: BIO m => EvalParams -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.SubLeq.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Evaluator

Documentation

simpleEval :: BIO m => RAMType -> Source -> m () #

evalParams :: BIO m => EvalParams -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Lexer.html b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Lexer.html index a36664b18..2340bfea5 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Lexer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Lexer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.SubLeq.Lexer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Lexer

Documentation

newtype Symbols #

Constructors

Symbols SymbolList 

Instances

Instances details
Read Symbols # 
Instance details

Defined in HelVM.HelMA.Automata.SubLeq.Lexer

Show Symbols # 
Instance details

Defined in HelVM.HelMA.Automata.SubLeq.Lexer

\ No newline at end of file +HelVM.HelMA.Automata.SubLeq.Lexer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Lexer

Documentation

newtype Symbols #

Constructors

Symbols SymbolList 

Instances

Instances details
Read Symbols # 
Instance details

Defined in HelVM.HelMA.Automata.SubLeq.Lexer

Show Symbols # 
Instance details

Defined in HelVM.HelMA.Automata.SubLeq.Lexer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Symbol.html b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Symbol.html index 65fe47908..33bc205bb 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Symbol.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-SubLeq-Symbol.html @@ -1 +1 @@ -HelVM.HelMA.Automata.SubLeq.Symbol
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Symbol

Documentation

type Symbol = Int #

\ No newline at end of file +HelVM.HelMA.Automata.SubLeq.Symbol
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.SubLeq.Symbol

Documentation

type Symbol = Int #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Evaluator.html index cdb021777..3cb6a7428 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.WhiteSpace.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Evaluator

Documentation

simpleEval :: BIO m => SimpleParams -> m () #

evalParams :: BIO m => TokenType -> EvalParams -> m () #

\ No newline at end of file +HelVM.HelMA.Automata.WhiteSpace.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Evaluator

Documentation

simpleEval :: BIO m => SimpleParams -> m () #

evalParams :: BIO m => TokenType -> EvalParams -> m () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Lexer.html b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Lexer.html index 376b7be9d..ed7aa4471 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Lexer.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Lexer.html @@ -1 +1 @@ -HelVM.HelMA.Automata.WhiteSpace.Lexer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Lexer

\ No newline at end of file +HelVM.HelMA.Automata.WhiteSpace.Lexer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Lexer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-OperandParsers.html b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-OperandParsers.html index 93b8d7b03..96bc50d3b 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-OperandParsers.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-OperandParsers.html @@ -1 +1 @@ -HelVM.HelMA.Automata.WhiteSpace.OperandParsers
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.OperandParsers

Synopsis

Documentation

parseInt :: MonadSafe m => ParserFromTokenList m Int #

parseExtra :: MonadSafe m => (TokenList -> m a) -> ParserFromTokenList m a #

parseDigitString :: MonadSafe m => ParserFromTokenList m SString #

parseAsciiString :: MonadSafe m => ParserFromTokenList m SString #

moveSafe :: MonadSafe m => (m a, TokenList) -> m (a, TokenList) #

parseString' :: MonadSafe m => (TokenList -> a) -> ParserFromTokenList m a #

type Parser b m a = b -> m (a, b) #

\ No newline at end of file +HelVM.HelMA.Automata.WhiteSpace.OperandParsers
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.OperandParsers

Synopsis

Documentation

parseInt :: MonadSafe m => ParserFromTokenList m Int #

parseExtra :: MonadSafe m => (TokenList -> m a) -> ParserFromTokenList m a #

parseDigitString :: MonadSafe m => ParserFromTokenList m SString #

parseAsciiString :: MonadSafe m => ParserFromTokenList m SString #

moveSafe :: MonadSafe m => (m a, TokenList) -> m (a, TokenList) #

parseString' :: MonadSafe m => (TokenList -> a) -> ParserFromTokenList m a #

type Parser b m a = b -> m (a, b) #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Parser.html index d1793ccfa..0d49223a6 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.WhiteSpace.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Parser

\ No newline at end of file +HelVM.HelMA.Automata.WhiteSpace.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Parser

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-SimpleParams.html b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-SimpleParams.html index 5f695d0cd..d9819ab64 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-SimpleParams.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-SimpleParams.html @@ -1 +1 @@ -HelVM.HelMA.Automata.WhiteSpace.SimpleParams
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.SimpleParams

\ No newline at end of file +HelVM.HelMA.Automata.WhiteSpace.SimpleParams
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.SimpleParams

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Token.html b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Token.html index 5ff52694b..4bc454d7f 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Token.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-WhiteSpace-Token.html @@ -1 +1 @@ -HelVM.HelMA.Automata.WhiteSpace.Token
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Token

Documentation

data Token #

Constructors

S 
T 
N 

Instances

Instances details
Bounded Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Enum Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Eq Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Read Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Show Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

ToDigit Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Methods

toDigit :: (MonadSafe m, Integral a) => Token -> m a

type TokenList = [Token] #

type TokenSList = SList Token #

\ No newline at end of file +HelVM.HelMA.Automata.WhiteSpace.Token
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.WhiteSpace.Token

Documentation

data Token #

Constructors

S 
T 
N 

Instances

Instances details
Bounded Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Enum Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Eq Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Read Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Show Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

ToDigit Token # 
Instance details

Defined in HelVM.HelMA.Automata.WhiteSpace.Token

Methods

toDigit :: (MonadSafe m, Integral a) => Token -> m a

type TokenList = [Token] #

type TokenSList = SList Token #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Automaton.html b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Automaton.html index 53a44a603..2fd1f764e 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Automaton.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Automaton.html @@ -1 +1 @@ -HelVM.HelMA.Automata.Zot.Automaton
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Automaton

Documentation

evalParams :: BIO m => EvalParams -> m () #

evalWithFormat :: MonadSafe m => FormatType -> Source -> Text -> m Output #

\ No newline at end of file +HelVM.HelMA.Automata.Zot.Automaton
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Automaton

Documentation

evalParams :: BIO m => EvalParams -> m () #

evalWithFormat :: MonadSafe m => FormatType -> Source -> Text -> m Output #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Evaluator.html b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Evaluator.html index ccbbe2196..ff8010259 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Evaluator.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Evaluator.html @@ -1 +1 @@ -HelVM.HelMA.Automata.Zot.Evaluator
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Evaluator

Documentation

runExpressionList :: ExpressionList -> Out Expression #

High-level Expressions

\ No newline at end of file +HelVM.HelMA.Automata.Zot.Evaluator
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Evaluator

Documentation

runExpressionList :: ExpressionList -> Out Expression #

High-level Expressions

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Expression.html b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Expression.html index 75e245090..408e48bcb 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Expression.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Expression.html @@ -1 +1 @@ -HelVM.HelMA.Automata.Zot.Expression
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Expression

\ No newline at end of file +HelVM.HelMA.Automata.Zot.Expression
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Expression

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Parser.html b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Parser.html index 24a3e1b97..fda80a868 100644 --- a/docs/reports/helma/HelVM-HelMA-Automata-Zot-Parser.html +++ b/docs/reports/helma/HelVM-HelMA-Automata-Zot-Parser.html @@ -1 +1 @@ -HelVM.HelMA.Automata.Zot.Parser
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Parser

Documentation

\ No newline at end of file +HelVM.HelMA.Automata.Zot.Parser
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automata.Zot.Parser

Documentation

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-API-AutoOptions.html b/docs/reports/helma/HelVM-HelMA-Automaton-API-AutoOptions.html index 040824e76..77dc3f1ec 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-API-AutoOptions.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-API-AutoOptions.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.API.AutoOptions
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.AutoOptions

\ No newline at end of file +HelVM.HelMA.Automaton.API.AutoOptions
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.AutoOptions

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-API-AutomatonOptions.html b/docs/reports/helma/HelVM-HelMA-Automaton-API-AutomatonOptions.html index c891dda98..b19df2b3e 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-API-AutomatonOptions.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-API-AutomatonOptions.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.API.AutomatonOptions
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.AutomatonOptions

\ No newline at end of file +HelVM.HelMA.Automaton.API.AutomatonOptions
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.AutomatonOptions

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-API-EvalParams.html b/docs/reports/helma/HelVM-HelMA-Automaton-API-EvalParams.html index 4a9c8dad7..849ef0a3c 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-API-EvalParams.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-API-EvalParams.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.API.EvalParams
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.EvalParams

\ No newline at end of file +HelVM.HelMA.Automaton.API.EvalParams
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.EvalParams

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-API-IOTypes.html b/docs/reports/helma/HelVM-HelMA-Automaton-API-IOTypes.html index 24aa7aa2b..d5e8ca8fa 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-API-IOTypes.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-API-IOTypes.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.API.IOTypes
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.IOTypes

Documentation

type Source = Text #

type Input = Text #

type Output = Text #

\ No newline at end of file +HelVM.HelMA.Automaton.API.IOTypes
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.IOTypes

Documentation

type Source = Text #

type Input = Text #

type Output = Text #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-API-MemoryOptions.html b/docs/reports/helma/HelVM-HelMA-Automaton-API-MemoryOptions.html index 39cdb5464..359bc6458 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-API-MemoryOptions.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-API-MemoryOptions.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.API.MemoryOptions
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.MemoryOptions

Documentation

data MemoryOptions #

Types

Constructors

MemoryOptions 
\ No newline at end of file +HelVM.HelMA.Automaton.API.MemoryOptions
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.MemoryOptions

Documentation

data MemoryOptions #

Types

Constructors

MemoryOptions 
\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-API-OptimizationLevel.html b/docs/reports/helma/HelVM-HelMA-Automaton-API-OptimizationLevel.html index 6b29e4bc2..b986f1a8e 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-API-OptimizationLevel.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-API-OptimizationLevel.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.API.OptimizationLevel
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.OptimizationLevel

Documentation

data OptimizationLevel #

Types

Instances

Instances details
Bounded OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Enum OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Eq OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Read OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Show OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

\ No newline at end of file +HelVM.HelMA.Automaton.API.OptimizationLevel
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.API.OptimizationLevel

Documentation

data OptimizationLevel #

Types

Instances

Instances details
Bounded OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Enum OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Eq OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Read OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

Show OptimizationLevel # 
Instance details

Defined in HelVM.HelMA.Automaton.API.OptimizationLevel

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Automaton.html b/docs/reports/helma/HelVM-HelMA-Automaton-Automaton.html index f94ee4048..2373b5343 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Automaton.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Automaton.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Automaton
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Automaton

Documentation

run :: SRAutomatonIO Symbol s r m => Bool -> LimitMaybe -> F s r m #

\ No newline at end of file +HelVM.HelMA.Automaton.Automaton
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Automaton

Documentation

run :: SRAutomatonIO Symbol s r m => Bool -> LimitMaybe -> F s r m #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-ALU.html b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-ALU.html index a20fe2cf7..7a3d8ed0c 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-ALU.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-ALU.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Combiner.ALU
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.ALU

Synopsis

Documentation

runALI :: ALU m ll element => SInstruction -> ll -> m ll #

runSAL :: SafeStack m ll element => ALInstruction -> ll -> m ll #

doOutputChar2 :: ALU m ll element => ll -> m ll #

IO instructions

doInputChar2 :: ALU m ll element => ll -> m ll #

doInputDec2 :: ALU m ll element => ll -> m ll #

divMod :: SafeStack m ll element => ll -> m ll #

Arithmetic instructions

sub :: SafeStack m ll element => ll -> m ll #

binaryInstruction :: SafeStack m ll element => BinaryInstruction -> ll -> m ll #

binaryInstructions :: SafeStack m ll element => [BinaryInstruction] -> ll -> m ll #

halibut :: SafeStack m ll element => ll -> m ll #

Halibut and Pick instructions

move :: SafeStack m ll element => Index -> ll -> m ll #

Move instructions

discard :: (MonadSafe m, ListLike full item) => full -> m full #

slide :: SafeStack m ll element => Index -> ll -> m ll #

Slide instructions

copy :: SafeStack m ll element => Index -> ll -> m ll #

Copy instructions

flipPush1 :: Stack ll element => ll -> element -> ll #

charPush1 :: (Num element, Stack ll element) => Char -> ll -> ll #

genericPush1 :: (Integral v, Num element, Stack ll element) => v -> ll -> ll #

pop1 :: SafeStack m ll element => ll -> m (element, ll) #

Pop instructions

pop2 :: SafeStack m ll element => ll -> m (element, element, ll) #

push1 :: Stack ll element => element -> ll -> ll #

push2 :: Stack ll element => element -> element -> ll -> ll #

splitAt :: ListLike full item => Int -> full -> (full, full) #

drop :: ListLike full item => Int -> full -> full #

type ALU m ll element = (BIO m, SafeStack m ll element) #

Types

type SafeStack m ll element = (MonadSafe m, IntegralStack ll element) #

type Stack ll element = (Show ll, ListLike ll element, IndexSafe ll element) #

\ No newline at end of file +HelVM.HelMA.Automaton.Combiner.ALU
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.ALU

Synopsis

Documentation

runALI :: ALU m ll element => SInstruction -> ll -> m ll #

runSAL :: SafeStack m ll element => SPureInstruction -> ll -> m ll #

doOutputChar2 :: ALU m ll element => ll -> m ll #

IO instructions

doInputChar2 :: ALU m ll element => ll -> m ll #

doInputDec2 :: ALU m ll element => ll -> m ll #

divMod :: SafeStack m ll element => ll -> m ll #

Arithmetic instructions

sub :: SafeStack m ll element => ll -> m ll #

binaryInstruction :: SafeStack m ll element => BinaryOperation -> ll -> m ll #

binaryInstructions :: SafeStack m ll element => [BinaryOperation] -> ll -> m ll #

halibut :: SafeStack m ll element => ll -> m ll #

Halibut and Pick instructions

move :: SafeStack m ll element => Index -> ll -> m ll #

Move instructions

discard :: (MonadSafe m, ListLike full item) => full -> m full #

slide :: SafeStack m ll element => Index -> ll -> m ll #

Slide instructions

copy :: SafeStack m ll element => Index -> ll -> m ll #

Copy instructions

flipPush1 :: Stack ll element => ll -> element -> ll #

charPush1 :: (Num element, Stack ll element) => Char -> ll -> ll #

genericPush1 :: (Integral v, Num element, Stack ll element) => v -> ll -> ll #

pop1 :: SafeStack m ll element => ll -> m (element, ll) #

Pop instructions

pop2 :: SafeStack m ll element => ll -> m (element, element, ll) #

push1 :: Stack ll element => element -> ll -> ll #

push2 :: Stack ll element => element -> element -> ll -> ll #

splitAt :: ListLike full item => Int -> full -> (full, full) #

drop :: ListLike full item => Int -> full -> full #

type ALU m ll element = (BIO m, SafeStack m ll element) #

Types

type SafeStack m ll element = (MonadSafe m, IntegralStack ll element) #

type Stack ll element = (Show ll, ListLike ll element, IndexSafe ll element) #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-CPU.html b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-CPU.html index 99f868d81..0591025b3 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-CPU.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-CPU.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Combiner.CPU
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.CPU

Synopsis

Documentation

runCFI :: (ALU m ll element, Show element) => CFInstruction -> CentralProcessingMemory ll -> m $ CentralProcessingMemory ll #

dynamicCall :: (ALU m ll element, Show element) => CentralProcessingMemory ll -> m $ CentralProcessingMemory ll #

dynamicJump :: (ALU m ll element, Show element) => CentralProcessingMemory ll -> m $ CentralProcessingMemory ll #

dynamicBranch :: (ALU m ll element, Show element) => BranchTest -> CentralProcessingMemory ll -> m $ CentralProcessingMemory ll #

newCM :: InstructionList -> ControlMemory #

ControlMemory methods

data CentralProcessingMemory al #

Types

Constructors

CPM 

Fields

Instances

Instances details
Show al => Show (CentralProcessingMemory al) # 
Instance details

Defined in HelVM.HelMA.Automaton.Combiner.CPU

newtype InstructionStack #

Constructors

IS [InstructionAddress] 

Instances

Instances details
Show InstructionStack # 
Instance details

Defined in HelVM.HelMA.Automaton.Combiner.CPU

\ No newline at end of file +HelVM.HelMA.Automaton.Combiner.CPU
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.CPU

Synopsis

Documentation

runCFI :: (ALU m ll element, Show element) => CFInstruction -> CentralProcessingStep ll m #

topInstruction :: (ALU m ll element, Show element) => LabeledOperation -> CentralProcessingStep ll m #

newCM :: InstructionList -> ControlMemory #

ControlMemory methods

cpmPop1 :: ALU m ll element => CentralProcessingMemory ll -> m (element, CentralProcessingMemory ll) #

type DynamicLabel l = (Integral l, Show l) #

Types

data CentralProcessingMemory ll #

Constructors

CPM 

Fields

Instances

Instances details
Show ll => Show (CentralProcessingMemory ll) # 
Instance details

Defined in HelVM.HelMA.Automaton.Combiner.CPU

newtype InstructionStack #

Constructors

IS [InstructionAddress] 

Instances

Instances details
Show InstructionStack # 
Instance details

Defined in HelVM.HelMA.Automaton.Combiner.CPU

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-LSU.html b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-LSU.html index c81a2d36b..9e45e5546 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-LSU.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-LSU.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Combiner.LSU
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.LSU

Synopsis

Documentation

runSLI :: LSU m s r element => LSInstruction -> LoadStoreMemory s r -> m $ LoadStoreMemory s r #

load :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

store :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

loadOutputChar :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

loadOutputDec :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

storeInputChar :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

storeInputDec :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

type LSU m s r element = (ALU m s element, RAM r element) #

Types

data LoadStoreMemory s r #

Constructors

LSM 

Fields

\ No newline at end of file +HelVM.HelMA.Automaton.Combiner.LSU
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.LSU

Synopsis

Documentation

runSLI :: LSU m s r element => LSInstruction -> LoadStoreMemory s r -> m $ LoadStoreMemory s r #

load :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

store :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

loadOutputChar :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

loadOutputDec :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

storeInputChar :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

storeInputDec :: LSU m s r element => LoadStoreMemory s r -> m $ LoadStoreMemory s r #

type LSU m s r element = (ALU m s element, RAM r element) #

Types

data LoadStoreMemory s r #

Constructors

LSM 

Fields

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-RAM.html b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-RAM.html index cdaed53d4..e8028a1a9 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-RAM.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner-RAM.html @@ -1,2 +1,2 @@ -HelVM.HelMA.Automaton.Combiner.RAM
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.RAM

Synopsis

Documentation

genericLoad :: (Integral i, RAM ll element) => ll -> i -> element #

load :: RAM ll element => ll -> Address -> element #

flippedStoreChar :: (Num element, Integral address, RAM ll element) => address -> ll -> Char -> ll #

storeChar :: (Num element, Integral address, RAM ll element) => address -> Char -> ll -> ll #

genericStore :: (Integral value, Num element, Integral address, RAM ll element) => address -> value -> ll -> ll #

store :: (Integral a, RAM ll element) => a -> element -> ll -> ll #

fromList :: IsList l => [Item l] -> l #

The fromList function constructs the structure l from the given +HelVM.HelMA.Automaton.Combiner.RAM

helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.RAM

Synopsis

Documentation

genericLoad :: (Integral i, RAM ll element) => ll -> i -> element #

load :: RAM ll element => ll -> Address -> element #

flippedStoreChar :: (Num element, Integral address, RAM ll element) => address -> ll -> Char -> ll #

storeChar :: (Num element, Integral address, RAM ll element) => address -> Char -> ll -> ll #

genericStore :: (Integral value, Num element, Integral address, RAM ll element) => address -> value -> ll -> ll #

store :: (Integral a, RAM ll element) => a -> element -> ll -> ll #

fromList :: IsList l => [Item l] -> l #

The fromList function constructs the structure l from the given list of Item l

type RAM ll element = (Show ll, Default element, II ll element) #

Types

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner.html b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner.html index de469a33b..09363bf4b 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Combiner.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Combiner.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Combiner
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner

Documentation

runInstruction :: SRAutomatonIO Symbol s r m => Instruction -> SF s r m #

Core of Combiner

transfer :: SRAutomatonIO Symbol s r m => SF s r m #

end :: SRAutomatonIO Symbol s r m => SF s r m #

flippedNewMemory :: (s, r) -> InstructionList -> Memory s r #

Constructors

newMemory :: InstructionList -> s -> r -> Memory s r #

incrementIC :: Memory s r -> Memory s r #

Updaters

updateStack :: Memory s r -> s -> Memory s r #

type SF s r m = Memory s r -> m $ MemorySame s r #

Types

type F s r m = Memory s r -> m $ Memory s r #

type MemorySame s r = Same (Memory s r) #

data Memory s r #

Data types

Constructors

Memory 

Instances

Instances details
(Show s, Show r) => Show (Memory s r) # 
Instance details

Defined in HelVM.HelMA.Automaton.Combiner

Methods

showsPrec :: Int -> Memory s r -> ShowS #

show :: Memory s r -> String #

showList :: [Memory s r] -> ShowS #

\ No newline at end of file +HelVM.HelMA.Automaton.Combiner
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner

Documentation

runInstruction :: SRAutomatonIO Symbol s r m => Instruction -> SF s r m #

Core of Combiner

end :: SRAutomatonIO Symbol s r m => SF s r m #

flippedNewMemory :: (s, r) -> InstructionList -> Memory s r #

Constructors

newMemory :: InstructionList -> s -> r -> Memory s r #

incrementIC :: Memory s r -> Memory s r #

Updaters

updateStack :: Memory s r -> s -> Memory s r #

type SF s r m = Memory s r -> m $ MemorySame s r #

Types

type F s r m = Memory s r -> m $ Memory s r #

type MemorySame s r = Same (Memory s r) #

data Memory s r #

Data types

Constructors

Memory 

Instances

Instances details
(Show s, Show r) => Show (Memory s r) # 
Instance details

Defined in HelVM.HelMA.Automaton.Combiner

Methods

showsPrec :: Int -> Memory s r -> ShowS #

show :: Memory s r -> String #

showList :: [Memory s r] -> ShowS #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-IO-AutomatonIO.html b/docs/reports/helma/HelVM-HelMA-Automaton-IO-AutomatonIO.html index 375caceda..b6eda5bc8 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-IO-AutomatonIO.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-IO-AutomatonIO.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.IO.AutomatonIO
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.AutomatonIO

Documentation

type SRAutomatonIO e s r m = (Stack s e, RAM r e, AutomatonIO e m) #

type RAutomatonIO e r m = (RAM r e, AutomatonIO e m) #

type SAutomatonIO e s m = (Stack s e, AutomatonIO e m) #

type AutomatonIO e m = (Element e, BIO m) #

\ No newline at end of file +HelVM.HelMA.Automaton.IO.AutomatonIO
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.AutomatonIO

Documentation

type SRAutomatonIO e s r m = (Stack s e, RAM r e, AutomatonIO e m) #

type RAutomatonIO e r m = (RAM r e, AutomatonIO e m) #

type SAutomatonIO e s m = (Stack s e, AutomatonIO e m) #

type AutomatonIO e m = (Element e, BIO m) #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-IO-BusinessIO.html b/docs/reports/helma/HelVM-HelMA-Automaton-IO-BusinessIO.html index 3be47150b..e1326b4d4 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-IO-BusinessIO.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-IO-BusinessIO.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.IO.BusinessIO
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.BusinessIO

Documentation

type Element e = (ReadShow e, Integral e, Default e) #

type BIO m = (MonadControl m, BusinessIO m) #

class Monad m => BusinessIO m #

Instances

Instances details
BusinessIO IO # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

BusinessIO FreeIO #

Instances

Instance details

Defined in HelVM.HelMA.Automaton.IO.FreeIO

BusinessIO MockIO # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

BusinessIO (SafeT IO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

Methods

wPutAsChar :: Integral v => v -> SafeT IO () #

wPutAsDec :: Integral v => v -> SafeT IO () #

wGetCharAs :: Integral v => SafeT IO v #

wGetDecAs :: Integral v => SafeT IO v #

wPutIntAsChar :: Int -> SafeT IO ()

wPutIntAsDec :: Int -> SafeT IO ()

wGetCharAsInt :: SafeT IO Int

wGetDecAsInt :: SafeT IO Int

wGetContentsBS :: SafeT IO ByteString #

wGetContentsText :: SafeT IO Text #

wGetContents :: SafeT IO String #

wGetChar :: SafeT IO Char #

wGetLine :: SafeT IO Text #

wPutChar :: Char -> SafeT IO () #

wPutStr :: Text -> SafeT IO () #

wPutStrLn :: Text -> SafeT IO () #

wLogStr :: Text -> SafeT IO () #

wLogStrLn :: Text -> SafeT IO () #

wLogShow :: Show s => s -> SafeT IO () #

wFlush :: SafeT IO () #

BusinessIO (SafeT FreeIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.FreeIO

Methods

wPutAsChar :: Integral v => v -> SafeT FreeIO () #

wPutAsDec :: Integral v => v -> SafeT FreeIO () #

wGetCharAs :: Integral v => SafeT FreeIO v #

wGetDecAs :: Integral v => SafeT FreeIO v #

wPutIntAsChar :: Int -> SafeT FreeIO ()

wPutIntAsDec :: Int -> SafeT FreeIO ()

wGetCharAsInt :: SafeT FreeIO Int

wGetDecAsInt :: SafeT FreeIO Int

wGetContentsBS :: SafeT FreeIO ByteString #

wGetContentsText :: SafeT FreeIO Text #

wGetContents :: SafeT FreeIO String #

wGetChar :: SafeT FreeIO Char #

wGetLine :: SafeT FreeIO Text #

wPutChar :: Char -> SafeT FreeIO () #

wPutStr :: Text -> SafeT FreeIO () #

wPutStrLn :: Text -> SafeT FreeIO () #

wLogStr :: Text -> SafeT FreeIO () #

wLogStrLn :: Text -> SafeT FreeIO () #

wLogShow :: Show s => s -> SafeT FreeIO () #

wFlush :: SafeT FreeIO () #

BusinessIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> SafeT MockIO () #

wPutAsDec :: Integral v => v -> SafeT MockIO () #

wGetCharAs :: Integral v => SafeT MockIO v #

wGetDecAs :: Integral v => SafeT MockIO v #

wPutIntAsChar :: Int -> SafeT MockIO ()

wPutIntAsDec :: Int -> SafeT MockIO ()

wGetCharAsInt :: SafeT MockIO Int

wGetDecAsInt :: SafeT MockIO Int

wGetContentsBS :: SafeT MockIO ByteString #

wGetContentsText :: SafeT MockIO Text #

wGetContents :: SafeT MockIO String #

wGetChar :: SafeT MockIO Char #

wGetLine :: SafeT MockIO Text #

wPutChar :: Char -> SafeT MockIO () #

wPutStr :: Text -> SafeT MockIO () #

wPutStrLn :: Text -> SafeT MockIO () #

wLogStr :: Text -> SafeT MockIO () #

wLogStrLn :: Text -> SafeT MockIO () #

wLogShow :: Show s => s -> SafeT MockIO () #

wFlush :: SafeT MockIO () #

BusinessIO (ControlT IO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

Methods

wPutAsChar :: Integral v => v -> ControlT IO () #

wPutAsDec :: Integral v => v -> ControlT IO () #

wGetCharAs :: Integral v => ControlT IO v #

wGetDecAs :: Integral v => ControlT IO v #

wPutIntAsChar :: Int -> ControlT IO ()

wPutIntAsDec :: Int -> ControlT IO ()

wGetCharAsInt :: ControlT IO Int

wGetDecAsInt :: ControlT IO Int

wGetContentsBS :: ControlT IO ByteString #

wGetContentsText :: ControlT IO Text #

wGetContents :: ControlT IO String #

wGetChar :: ControlT IO Char #

wGetLine :: ControlT IO Text #

wPutChar :: Char -> ControlT IO () #

wPutStr :: Text -> ControlT IO () #

wPutStrLn :: Text -> ControlT IO () #

wLogStr :: Text -> ControlT IO () #

wLogStrLn :: Text -> ControlT IO () #

wLogShow :: Show s => s -> ControlT IO () #

wFlush :: ControlT IO () #

BusinessIO (ControlT FreeIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.FreeIO

Methods

wPutAsChar :: Integral v => v -> ControlT FreeIO () #

wPutAsDec :: Integral v => v -> ControlT FreeIO () #

wGetCharAs :: Integral v => ControlT FreeIO v #

wGetDecAs :: Integral v => ControlT FreeIO v #

wPutIntAsChar :: Int -> ControlT FreeIO ()

wPutIntAsDec :: Int -> ControlT FreeIO ()

wGetCharAsInt :: ControlT FreeIO Int

wGetDecAsInt :: ControlT FreeIO Int

wGetContentsBS :: ControlT FreeIO ByteString #

wGetContentsText :: ControlT FreeIO Text #

wGetContents :: ControlT FreeIO String #

wGetChar :: ControlT FreeIO Char #

wGetLine :: ControlT FreeIO Text #

wPutChar :: Char -> ControlT FreeIO () #

wPutStr :: Text -> ControlT FreeIO () #

wPutStrLn :: Text -> ControlT FreeIO () #

wLogStr :: Text -> ControlT FreeIO () #

wLogStrLn :: Text -> ControlT FreeIO () #

wLogShow :: Show s => s -> ControlT FreeIO () #

wFlush :: ControlT FreeIO () #

BusinessIO (ControlT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> ControlT MockIO () #

wPutAsDec :: Integral v => v -> ControlT MockIO () #

wGetCharAs :: Integral v => ControlT MockIO v #

wGetDecAs :: Integral v => ControlT MockIO v #

wPutIntAsChar :: Int -> ControlT MockIO ()

wPutIntAsDec :: Int -> ControlT MockIO ()

wGetCharAsInt :: ControlT MockIO Int

wGetDecAsInt :: ControlT MockIO Int

wGetContentsBS :: ControlT MockIO ByteString #

wGetContentsText :: ControlT MockIO Text #

wGetContents :: ControlT MockIO String #

wGetChar :: ControlT MockIO Char #

wGetLine :: ControlT MockIO Text #

wPutChar :: Char -> ControlT MockIO () #

wPutStr :: Text -> ControlT MockIO () #

wPutStrLn :: Text -> ControlT MockIO () #

wLogStr :: Text -> ControlT MockIO () #

wLogStrLn :: Text -> ControlT MockIO () #

wLogShow :: Show s => s -> ControlT MockIO () #

wFlush :: ControlT MockIO () #

BusinessIO (ExceptT String IO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

wPutAsChar :: (BusinessIO m, Integral v) => v -> m () #

wPutAsDec :: (BusinessIO m, Integral v) => v -> m () #

wGetCharAs :: (BusinessIO m, Integral v) => m v #

wGetDecAs :: (BusinessIO m, Integral v) => m v #

wPutChar :: BusinessIO m => Char -> m () #

wPutStr :: BusinessIO m => Text -> m () #

wPutStrLn :: BusinessIO m => Text -> m () #

wFlush :: BusinessIO m => m () #

wLogStr :: BusinessIO m => Text -> m () #

wLogStrLn :: BusinessIO m => Text -> m () #

wLogShow :: (BusinessIO m, Show s) => s -> m () #

logStr :: Text -> IO () #

flush :: IO () #

\ No newline at end of file +HelVM.HelMA.Automaton.IO.BusinessIO
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.BusinessIO

Documentation

type Element e = (ReadShow e, Integral e, Default e) #

type BIO m = (MonadControl m, BusinessIO m) #

class Monad m => BusinessIO m #

Instances

Instances details
BusinessIO IO # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

BusinessIO FreeIO #

Instances

Instance details

Defined in HelVM.HelMA.Automaton.IO.FreeIO

BusinessIO MockIO # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

BusinessIO (SafeT IO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

Methods

wPutAsChar :: Integral v => v -> SafeT IO () #

wPutAsDec :: Integral v => v -> SafeT IO () #

wGetCharAs :: Integral v => SafeT IO v #

wGetDecAs :: Integral v => SafeT IO v #

wPutIntAsChar :: Int -> SafeT IO ()

wPutIntAsDec :: Int -> SafeT IO ()

wGetCharAsInt :: SafeT IO Int

wGetDecAsInt :: SafeT IO Int

wGetContentsBS :: SafeT IO ByteString #

wGetContentsText :: SafeT IO Text #

wGetContents :: SafeT IO String #

wGetChar :: SafeT IO Char #

wGetLine :: SafeT IO Text #

wPutChar :: Char -> SafeT IO () #

wPutStr :: Text -> SafeT IO () #

wPutStrLn :: Text -> SafeT IO () #

wLogStr :: Text -> SafeT IO () #

wLogStrLn :: Text -> SafeT IO () #

wLogShow :: Show s => s -> SafeT IO () #

wFlush :: SafeT IO () #

BusinessIO (SafeT FreeIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.FreeIO

Methods

wPutAsChar :: Integral v => v -> SafeT FreeIO () #

wPutAsDec :: Integral v => v -> SafeT FreeIO () #

wGetCharAs :: Integral v => SafeT FreeIO v #

wGetDecAs :: Integral v => SafeT FreeIO v #

wPutIntAsChar :: Int -> SafeT FreeIO ()

wPutIntAsDec :: Int -> SafeT FreeIO ()

wGetCharAsInt :: SafeT FreeIO Int

wGetDecAsInt :: SafeT FreeIO Int

wGetContentsBS :: SafeT FreeIO ByteString #

wGetContentsText :: SafeT FreeIO Text #

wGetContents :: SafeT FreeIO String #

wGetChar :: SafeT FreeIO Char #

wGetLine :: SafeT FreeIO Text #

wPutChar :: Char -> SafeT FreeIO () #

wPutStr :: Text -> SafeT FreeIO () #

wPutStrLn :: Text -> SafeT FreeIO () #

wLogStr :: Text -> SafeT FreeIO () #

wLogStrLn :: Text -> SafeT FreeIO () #

wLogShow :: Show s => s -> SafeT FreeIO () #

wFlush :: SafeT FreeIO () #

BusinessIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> SafeT MockIO () #

wPutAsDec :: Integral v => v -> SafeT MockIO () #

wGetCharAs :: Integral v => SafeT MockIO v #

wGetDecAs :: Integral v => SafeT MockIO v #

wPutIntAsChar :: Int -> SafeT MockIO ()

wPutIntAsDec :: Int -> SafeT MockIO ()

wGetCharAsInt :: SafeT MockIO Int

wGetDecAsInt :: SafeT MockIO Int

wGetContentsBS :: SafeT MockIO ByteString #

wGetContentsText :: SafeT MockIO Text #

wGetContents :: SafeT MockIO String #

wGetChar :: SafeT MockIO Char #

wGetLine :: SafeT MockIO Text #

wPutChar :: Char -> SafeT MockIO () #

wPutStr :: Text -> SafeT MockIO () #

wPutStrLn :: Text -> SafeT MockIO () #

wLogStr :: Text -> SafeT MockIO () #

wLogStrLn :: Text -> SafeT MockIO () #

wLogShow :: Show s => s -> SafeT MockIO () #

wFlush :: SafeT MockIO () #

BusinessIO (ControlT IO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

Methods

wPutAsChar :: Integral v => v -> ControlT IO () #

wPutAsDec :: Integral v => v -> ControlT IO () #

wGetCharAs :: Integral v => ControlT IO v #

wGetDecAs :: Integral v => ControlT IO v #

wPutIntAsChar :: Int -> ControlT IO ()

wPutIntAsDec :: Int -> ControlT IO ()

wGetCharAsInt :: ControlT IO Int

wGetDecAsInt :: ControlT IO Int

wGetContentsBS :: ControlT IO ByteString #

wGetContentsText :: ControlT IO Text #

wGetContents :: ControlT IO String #

wGetChar :: ControlT IO Char #

wGetLine :: ControlT IO Text #

wPutChar :: Char -> ControlT IO () #

wPutStr :: Text -> ControlT IO () #

wPutStrLn :: Text -> ControlT IO () #

wLogStr :: Text -> ControlT IO () #

wLogStrLn :: Text -> ControlT IO () #

wLogShow :: Show s => s -> ControlT IO () #

wFlush :: ControlT IO () #

BusinessIO (ControlT FreeIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.FreeIO

Methods

wPutAsChar :: Integral v => v -> ControlT FreeIO () #

wPutAsDec :: Integral v => v -> ControlT FreeIO () #

wGetCharAs :: Integral v => ControlT FreeIO v #

wGetDecAs :: Integral v => ControlT FreeIO v #

wPutIntAsChar :: Int -> ControlT FreeIO ()

wPutIntAsDec :: Int -> ControlT FreeIO ()

wGetCharAsInt :: ControlT FreeIO Int

wGetDecAsInt :: ControlT FreeIO Int

wGetContentsBS :: ControlT FreeIO ByteString #

wGetContentsText :: ControlT FreeIO Text #

wGetContents :: ControlT FreeIO String #

wGetChar :: ControlT FreeIO Char #

wGetLine :: ControlT FreeIO Text #

wPutChar :: Char -> ControlT FreeIO () #

wPutStr :: Text -> ControlT FreeIO () #

wPutStrLn :: Text -> ControlT FreeIO () #

wLogStr :: Text -> ControlT FreeIO () #

wLogStrLn :: Text -> ControlT FreeIO () #

wLogShow :: Show s => s -> ControlT FreeIO () #

wFlush :: ControlT FreeIO () #

BusinessIO (ControlT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> ControlT MockIO () #

wPutAsDec :: Integral v => v -> ControlT MockIO () #

wGetCharAs :: Integral v => ControlT MockIO v #

wGetDecAs :: Integral v => ControlT MockIO v #

wPutIntAsChar :: Int -> ControlT MockIO ()

wPutIntAsDec :: Int -> ControlT MockIO ()

wGetCharAsInt :: ControlT MockIO Int

wGetDecAsInt :: ControlT MockIO Int

wGetContentsBS :: ControlT MockIO ByteString #

wGetContentsText :: ControlT MockIO Text #

wGetContents :: ControlT MockIO String #

wGetChar :: ControlT MockIO Char #

wGetLine :: ControlT MockIO Text #

wPutChar :: Char -> ControlT MockIO () #

wPutStr :: Text -> ControlT MockIO () #

wPutStrLn :: Text -> ControlT MockIO () #

wLogStr :: Text -> ControlT MockIO () #

wLogStrLn :: Text -> ControlT MockIO () #

wLogShow :: Show s => s -> ControlT MockIO () #

wFlush :: ControlT MockIO () #

BusinessIO (ExceptT String IO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.BusinessIO

wPutAsChar :: (BusinessIO m, Integral v) => v -> m () #

wPutAsDec :: (BusinessIO m, Integral v) => v -> m () #

wGetCharAs :: (BusinessIO m, Integral v) => m v #

wGetDecAs :: (BusinessIO m, Integral v) => m v #

wPutChar :: BusinessIO m => Char -> m () #

wPutStr :: BusinessIO m => Text -> m () #

wPutStrLn :: BusinessIO m => Text -> m () #

wFlush :: BusinessIO m => m () #

wLogStr :: BusinessIO m => Text -> m () #

wLogStrLn :: BusinessIO m => Text -> m () #

wLogShow :: (BusinessIO m, Show s) => s -> m () #

logStr :: Text -> IO () #

flush :: IO () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-IO-FreeIO.html b/docs/reports/helma/HelVM-HelMA-Automaton-IO-FreeIO.html index f9b968f96..3e07ef693 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-IO-FreeIO.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-IO-FreeIO.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.IO.FreeIO
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.FreeIO

Synopsis

Documentation

type FreeIO = Free FreeIOF #

Types

\ No newline at end of file +HelVM.HelMA.Automaton.IO.FreeIO
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.FreeIO

Synopsis

Documentation

type FreeIO = Free FreeIOF #

Types

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-IO-MockIO.html b/docs/reports/helma/HelVM-HelMA-Automaton-IO-MockIO.html index 69dffaf9b..1d97daa06 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-IO-MockIO.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-IO-MockIO.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.IO.MockIO
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.MockIO

Documentation

safeExecMockIOBatch :: ControlT MockIO () -> Safe MockIOData #

safeExecMockIOWithInput :: Input -> ControlT MockIO () -> Safe MockIOData #

runMockIO :: Input -> MockIO UnitSafeWithMessages -> MockIOData #

data MockIOData #

Instances

Instances details
Eq MockIOData # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Read MockIOData # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Show MockIOData # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

BusinessIO MockIO # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

BusinessIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> SafeT MockIO () #

wPutAsDec :: Integral v => v -> SafeT MockIO () #

wGetCharAs :: Integral v => SafeT MockIO v #

wGetDecAs :: Integral v => SafeT MockIO v #

wPutIntAsChar :: Int -> SafeT MockIO ()

wPutIntAsDec :: Int -> SafeT MockIO ()

wGetCharAsInt :: SafeT MockIO Int

wGetDecAsInt :: SafeT MockIO Int

wGetContentsBS :: SafeT MockIO ByteString #

wGetContentsText :: SafeT MockIO Text #

wGetContents :: SafeT MockIO String #

wGetChar :: SafeT MockIO Char #

wGetLine :: SafeT MockIO Text #

wPutChar :: Char -> SafeT MockIO () #

wPutStr :: Text -> SafeT MockIO () #

wPutStrLn :: Text -> SafeT MockIO () #

wLogStr :: Text -> SafeT MockIO () #

wLogStrLn :: Text -> SafeT MockIO () #

wLogShow :: Show s => s -> SafeT MockIO () #

wFlush :: SafeT MockIO () #

BusinessIO (ControlT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> ControlT MockIO () #

wPutAsDec :: Integral v => v -> ControlT MockIO () #

wGetCharAs :: Integral v => ControlT MockIO v #

wGetDecAs :: Integral v => ControlT MockIO v #

wPutIntAsChar :: Int -> ControlT MockIO ()

wPutIntAsDec :: Int -> ControlT MockIO ()

wGetCharAsInt :: ControlT MockIO Int

wGetDecAsInt :: ControlT MockIO Int

wGetContentsBS :: ControlT MockIO ByteString #

wGetContentsText :: ControlT MockIO Text #

wGetContents :: ControlT MockIO String #

wGetChar :: ControlT MockIO Char #

wGetLine :: ControlT MockIO Text #

wPutChar :: Char -> ControlT MockIO () #

wPutStr :: Text -> ControlT MockIO () #

wPutStrLn :: Text -> ControlT MockIO () #

wLogStr :: Text -> ControlT MockIO () #

wLogStrLn :: Text -> ControlT MockIO () #

wLogShow :: Show s => s -> ControlT MockIO () #

wFlush :: ControlT MockIO () #

\ No newline at end of file +HelVM.HelMA.Automaton.IO.MockIO
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.IO.MockIO

Documentation

safeExecMockIOBatch :: ControlT MockIO () -> Safe MockIOData #

safeExecMockIOWithInput :: Input -> ControlT MockIO () -> Safe MockIOData #

runMockIO :: Input -> MockIO UnitSafeWithMessages -> MockIOData #

data MockIOData #

Instances

Instances details
Eq MockIOData # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Read MockIOData # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Show MockIOData # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

BusinessIO MockIO # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

BusinessIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> SafeT MockIO () #

wPutAsDec :: Integral v => v -> SafeT MockIO () #

wGetCharAs :: Integral v => SafeT MockIO v #

wGetDecAs :: Integral v => SafeT MockIO v #

wPutIntAsChar :: Int -> SafeT MockIO ()

wPutIntAsDec :: Int -> SafeT MockIO ()

wGetCharAsInt :: SafeT MockIO Int

wGetDecAsInt :: SafeT MockIO Int

wGetContentsBS :: SafeT MockIO ByteString #

wGetContentsText :: SafeT MockIO Text #

wGetContents :: SafeT MockIO String #

wGetChar :: SafeT MockIO Char #

wGetLine :: SafeT MockIO Text #

wPutChar :: Char -> SafeT MockIO () #

wPutStr :: Text -> SafeT MockIO () #

wPutStrLn :: Text -> SafeT MockIO () #

wLogStr :: Text -> SafeT MockIO () #

wLogStrLn :: Text -> SafeT MockIO () #

wLogShow :: Show s => s -> SafeT MockIO () #

wFlush :: SafeT MockIO () #

BusinessIO (ControlT MockIO) # 
Instance details

Defined in HelVM.HelMA.Automaton.IO.MockIO

Methods

wPutAsChar :: Integral v => v -> ControlT MockIO () #

wPutAsDec :: Integral v => v -> ControlT MockIO () #

wGetCharAs :: Integral v => ControlT MockIO v #

wGetDecAs :: Integral v => ControlT MockIO v #

wPutIntAsChar :: Int -> ControlT MockIO ()

wPutIntAsDec :: Int -> ControlT MockIO ()

wGetCharAsInt :: ControlT MockIO Int

wGetDecAsInt :: ControlT MockIO Int

wGetContentsBS :: ControlT MockIO ByteString #

wGetContentsText :: ControlT MockIO Text #

wGetContents :: ControlT MockIO String #

wGetChar :: ControlT MockIO Char #

wGetLine :: ControlT MockIO Text #

wPutChar :: Char -> ControlT MockIO () #

wPutStr :: Text -> ControlT MockIO () #

wPutStrLn :: Text -> ControlT MockIO () #

wLogStr :: Text -> ControlT MockIO () #

wLogStrLn :: Text -> ControlT MockIO () #

wLogShow :: Show s => s -> ControlT MockIO () #

wFlush :: ControlT MockIO () #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-CFInstruction.html b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-CFInstruction.html index 1878b77a0..ff5651b1a 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-CFInstruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-CFInstruction.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Instruction.CFInstruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.CFInstruction

Documentation

dJumpI :: CFInstruction #

Constructors

isNotJump :: Integral e => BranchTest -> e -> Bool #

Others

isJump :: Integral e => BranchTest -> e -> Bool #

type Label = SString #

\ No newline at end of file +HelVM.HelMA.Automaton.Instruction.CFInstruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.CFInstruction

Documentation

cfJumpI :: CFInstruction #

Constructors

isNotJump :: Integral e => BranchTest -> e -> Bool #

Others

isJump :: Integral e => BranchTest -> e -> Bool #

data Mark #

Instances

Instances details
Eq Mark # 
Instance details

Defined in HelVM.HelMA.Automaton.Instruction.CFInstruction

Methods

(==) :: Mark -> Mark -> Bool #

(/=) :: Mark -> Mark -> Bool #

Read Mark # 
Instance details

Defined in HelVM.HelMA.Automaton.Instruction.CFInstruction

Show Mark # 
Instance details

Defined in HelVM.HelMA.Automaton.Instruction.CFInstruction

Methods

showsPrec :: Int -> Mark -> ShowS #

show :: Mark -> String #

showList :: [Mark] -> ShowS #

type Label = SString #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-IOInstruction.html b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-IOInstruction.html index 59c9542f4..05274a8df 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-IOInstruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-IOInstruction.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Instruction.IOInstruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.IOInstruction

\ No newline at end of file +HelVM.HelMA.Automaton.Instruction.IOInstruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.IOInstruction

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-LSInstruction.html b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-LSInstruction.html index 65b11a1dc..290415b68 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-LSInstruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-LSInstruction.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Instruction.LSInstruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.LSInstruction

\ No newline at end of file +HelVM.HelMA.Automaton.Instruction.LSInstruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.LSInstruction

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-SInstruction.html b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-SInstruction.html index 480658b5a..addd17430 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-SInstruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction-SInstruction.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Instruction.SInstruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.SInstruction

Documentation

calculateOps :: Integral a => a -> a -> [BinaryInstruction] -> [a] #

Other functions

calculateOp :: Integral a => a -> a -> BinaryInstruction -> a #

doBinary :: Integral a => BinaryInstruction -> a -> a -> a #

data OperatorType #

Constructors

Bitwise 
Logical 
\ No newline at end of file +HelVM.HelMA.Automaton.Instruction.SInstruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction.SInstruction

Documentation

calculateOps :: Integral a => a -> a -> [BinaryOperation] -> [a] #

Other functions

calculateOp :: Integral a => a -> a -> BinaryOperation -> a #

doBinary :: Integral a => BinaryOperation -> a -> a -> a #

type Index = Int #

data OperatorType #

Constructors

Bitwise 
Logical 
\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction.html b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction.html index 192be05bf..b5e6d55b9 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Instruction.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Instruction.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Instruction
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction

Synopsis

Documentation

consI :: Integer -> Instruction #

Constructors

\ No newline at end of file +HelVM.HelMA.Automaton.Instruction
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Instruction

Synopsis

Documentation

consI :: Integer -> Instruction #

Constructors

isICF :: Instruction -> Bool #

Others

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Loop.html b/docs/reports/helma/HelVM-HelMA-Automaton-Loop.html index 6f33d2667..88d0c99f9 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Loop.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Loop.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Loop
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Loop

Documentation

loopMWithLimit :: Monad m => (a -> m $ Same a) -> LimitMaybe -> a -> m a #

actMWithLimit :: Monad m => (a -> m $ Same a) -> WithLimit a -> m (Either (WithLimit a) a) #

break :: b -> Either a b #

continue :: a -> Either a b #

type WithLimit a = (Natural, a) #

type Same a = Either a a #

\ No newline at end of file +HelVM.HelMA.Automaton.Loop
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Loop

Documentation

loopMWithLimit :: Monad m => (a -> m $ Same a) -> LimitMaybe -> a -> m a #

actMWithLimit :: Monad m => (a -> m $ Same a) -> WithLimit a -> m $ EitherWithLimit a #

continue :: a -> Either a b #

break :: b -> Either a b #

type WithLimit a = (Natural, a) #

type Same a = Either a a #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-ConstantFoldingOptimizer.html b/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-ConstantFoldingOptimizer.html new file mode 100644 index 000000000..9c920e2db --- /dev/null +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-ConstantFoldingOptimizer.html @@ -0,0 +1 @@ +HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-PeepholeOptimizer.html b/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-PeepholeOptimizer.html new file mode 100644 index 000000000..e92659270 --- /dev/null +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer-PeepholeOptimizer.html @@ -0,0 +1 @@ +HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer.html b/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer.html index a6141e257..d45e31aff 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Optimizer.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Optimizer
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Optimizer

\ No newline at end of file +HelVM.HelMA.Automaton.Optimizer
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Optimizer

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-ReadPExtra.html b/docs/reports/helma/HelVM-HelMA-Automaton-ReadPExtra.html index a985e8287..6df18cf5e 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-ReadPExtra.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-ReadPExtra.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.ReadPExtra
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.ReadPExtra

Synopsis

Documentation

runParser :: MonadSafe m => ReadP a -> Source -> m a #

nonEmptyRunParser :: MonadSafe m => ReadP a -> Source -> m $ NonEmpty (a, String) #

listRunParser :: ReadP a -> Source -> [(a, String)] #

oneOf :: String -> ReadP Char #

Parsers

isAlphaAscii :: Char -> Bool #

Extra

manyNonEmpty :: Alternative f => f a -> f $ NonEmpty a #

\ No newline at end of file +HelVM.HelMA.Automaton.ReadPExtra
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.ReadPExtra

Synopsis

Documentation

runParser :: MonadSafe m => ReadP a -> Source -> m a #

nonEmptyRunParser :: MonadSafe m => ReadP a -> Source -> m $ NonEmpty (a, String) #

listRunParser :: ReadP a -> Source -> [(a, String)] #

oneOf :: String -> ReadP Char #

Parsers

isAlphaAscii :: Char -> Bool #

Extra

manyNonEmpty :: Alternative f => f a -> f $ NonEmpty a #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Symbol.html b/docs/reports/helma/HelVM-HelMA-Automaton-Symbol.html index ac0182dd5..4d097e857 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Symbol.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Symbol.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Symbol
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Symbol

Documentation

type Index = Int #

\ No newline at end of file +HelVM.HelMA.Automaton.Symbol
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Symbol

Documentation

type Index = Int #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Trampoline.html b/docs/reports/helma/HelVM-HelMA-Automaton-Trampoline.html new file mode 100644 index 000000000..d02bd7151 --- /dev/null +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Trampoline.html @@ -0,0 +1 @@ +HelVM.HelMA.Automaton.Trampoline
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Trampoline

Documentation

trampolineMWithLimit :: Monad m => (a -> m $ Same a) -> LimitMaybe -> a -> m a #

actMWithLimit :: Monad m => (a -> m $ Same a) -> WithLimit a -> m $ EitherWithLimit a #

trampolineM :: Monad m => (a -> m (Either b a)) -> a -> m b #

trampoline :: (a -> Either b a) -> a -> b #

continue :: a -> Either b a #

break :: b -> Either b a #

type WithLimit a = (Natural, a) #

type Same a = Either a a #

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-CellType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-CellType.html index 5a1f7d14c..894610bf4 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-CellType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-CellType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.CellType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.CellType

\ No newline at end of file +HelVM.HelMA.Automaton.Types.CellType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.CellType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-DumpType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-DumpType.html index 4382951df..71e12be13 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-DumpType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-DumpType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.DumpType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.DumpType

Synopsis
\ No newline at end of file +HelVM.HelMA.Automaton.Types.DumpType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.DumpType

Synopsis
\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-FormatType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-FormatType.html index d53e5dc6e..77524b430 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-FormatType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-FormatType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.FormatType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.FormatType

\ No newline at end of file +HelVM.HelMA.Automaton.Types.FormatType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.FormatType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-IntCellType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-IntCellType.html index 99b9cb905..58ce8b6c6 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-IntCellType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-IntCellType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.IntCellType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.IntCellType

\ No newline at end of file +HelVM.HelMA.Automaton.Types.IntCellType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.IntCellType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-RAMType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-RAMType.html index e4cbf754e..de4be7fea 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-RAMType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-RAMType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.RAMType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.RAMType

\ No newline at end of file +HelVM.HelMA.Automaton.Types.RAMType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.RAMType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-StackType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-StackType.html index ae577f79c..9dff4d9c5 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-StackType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-StackType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.StackType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.StackType

\ No newline at end of file +HelVM.HelMA.Automaton.Types.StackType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.StackType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-Types-TokenType.html b/docs/reports/helma/HelVM-HelMA-Automaton-Types-TokenType.html index 70570b55e..628c6d8f4 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-Types-TokenType.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-Types-TokenType.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.Types.TokenType
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.TokenType

\ No newline at end of file +HelVM.HelMA.Automaton.Types.TokenType
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Types.TokenType

\ No newline at end of file diff --git a/docs/reports/helma/HelVM-HelMA-Automaton-WrapTokenList.html b/docs/reports/helma/HelVM-HelMA-Automaton-WrapTokenList.html index d404be0e2..3f42d3c34 100644 --- a/docs/reports/helma/HelVM-HelMA-Automaton-WrapTokenList.html +++ b/docs/reports/helma/HelVM-HelMA-Automaton-WrapTokenList.html @@ -1 +1 @@ -HelVM.HelMA.Automaton.WrapTokenList
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.WrapTokenList

Documentation

newtype WrapTokenList a #

Constructors

WrapTokenList 

Fields

Instances

Instances details
Eq a => Eq (WrapTokenList a) # 
Instance details

Defined in HelVM.HelMA.Automaton.WrapTokenList

Read a => Read (WrapTokenList [a]) # 
Instance details

Defined in HelVM.HelMA.Automaton.WrapTokenList

Show a => Show (WrapTokenList [a]) # 
Instance details

Defined in HelVM.HelMA.Automaton.WrapTokenList

\ No newline at end of file +HelVM.HelMA.Automaton.WrapTokenList
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.WrapTokenList

Documentation

newtype WrapTokenList a #

Constructors

WrapTokenList 

Fields

Instances

Instances details
Eq a => Eq (WrapTokenList a) # 
Instance details

Defined in HelVM.HelMA.Automaton.WrapTokenList

Read a => Read (WrapTokenList [a]) # 
Instance details

Defined in HelVM.HelMA.Automaton.WrapTokenList

Show a => Show (WrapTokenList [a]) # 
Instance details

Defined in HelVM.HelMA.Automaton.WrapTokenList

\ No newline at end of file diff --git a/docs/reports/helma/doc-index-A.html b/docs/reports/helma/doc-index-A.html index f345c1cc2..5a16ffe18 100644 --- a/docs/reports/helma/doc-index-A.html +++ b/docs/reports/helma/doc-index-A.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - A)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - A)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - A

AHelVM.HelMA.Automata.ETA.Token
actMWithLimit 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
AddHelVM.HelMA.Automaton.Instruction.SInstruction
addAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
AddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
addIHelVM.HelMA.Automaton.Instruction
AllOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
almHelVM.HelMA.Automaton.Combiner.CPU
ALUHelVM.HelMA.Automaton.Combiner.ALU
anyCharHelVM.HelMA.Automaton.ReadPExtra
AppHelVM.HelMA.Automata.LazyK.Lambda
app3HelVM.HelMA.Automata.LazyK.Lambda
app3SIHelVM.HelMA.Automata.LazyK.Constants
app4HelVM.HelMA.Automata.LazyK.Lambda
appKHelVM.HelMA.Automata.LazyK.Constants
appKSHelVM.HelMA.Automata.LazyK.Constants
applyHelVM.HelMA.Automata.LazyK.Reducer
appSelfAppHelVM.HelMA.Automata.LazyK.Constants
artificialInstructionHelVM.HelMA.Automaton.Combiner.CPU
AutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
AutomatonOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.AutomatonOptions
automatonOptions 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
AutoOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.AutoOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.AutoOptions
autoOptions 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automaton.API.EvalParams
3 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
4 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-All.html b/docs/reports/helma/doc-index-All.html index 1b355c2cd..be32425b4 100644 --- a/docs/reports/helma/doc-index-All.html +++ b/docs/reports/helma/doc-index-All.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index

AHelVM.HelMA.Automata.ETA.Token
actMWithLimitHelVM.HelMA.Automaton.Loop
AddHelVM.HelMA.Automaton.Instruction.SInstruction
addAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
AddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
addIHelVM.HelMA.Automaton.Instruction
ALInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
AllOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
almHelVM.HelMA.Automaton.Combiner.CPU
ALUHelVM.HelMA.Automaton.Combiner.ALU
anyCharHelVM.HelMA.Automaton.ReadPExtra
AppHelVM.HelMA.Automata.LazyK.Lambda
app3HelVM.HelMA.Automata.LazyK.Lambda
app3SIHelVM.HelMA.Automata.LazyK.Constants
app4HelVM.HelMA.Automata.LazyK.Lambda
appKHelVM.HelMA.Automata.LazyK.Constants
appKSHelVM.HelMA.Automata.LazyK.Constants
applyHelVM.HelMA.Automata.LazyK.Reducer
appSelfAppHelVM.HelMA.Automata.LazyK.Constants
AutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
AutomatonOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.AutomatonOptions
automatonOptions 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
AutoOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.AutoOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.AutoOptions
autoOptions 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automaton.API.EvalParams
3 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
4 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
BAndHelVM.HelMA.Automaton.Instruction.SInstruction
BasicOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
bCombinatorHelVM.HelMA.Automata.LazyK.Constants
BEQHelVM.HelMA.Automaton.Instruction.SInstruction
BFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
bfTypesHelVM.HelMA.Automata.BrainFuck.API.BFType
BGTHelVM.HelMA.Automaton.Instruction.SInstruction
BinariesHelVM.HelMA.Automaton.Instruction.SInstruction
binariesHelVM.HelMA.Automaton.Instruction
BinaryHelVM.HelMA.Automaton.Instruction.SInstruction
binaryHelVM.HelMA.Automaton.Instruction
BinaryInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
binaryInstructionHelVM.HelMA.Automaton.Combiner.ALU
binaryInstructionsHelVM.HelMA.Automaton.Combiner.ALU
BinaryLabelHelVM.HelMA.Automaton.Types.FormatType
BIOHelVM.HelMA.Automaton.IO.BusinessIO
BitwiseHelVM.HelMA.Automaton.Instruction.SInstruction
blAndHelVM.HelMA.Automaton.Instruction.SInstruction
blEQHelVM.HelMA.Automaton.Instruction.SInstruction
blGTHelVM.HelMA.Automaton.Instruction.SInstruction
blOrHelVM.HelMA.Automaton.Instruction.SInstruction
blXorHelVM.HelMA.Automaton.Instruction.SInstruction
BNotHelVM.HelMA.Automaton.Instruction.SInstruction
BOrHelVM.HelMA.Automaton.Instruction.SInstruction
BranchHelVM.HelMA.Automaton.Instruction.CFInstruction
BranchTestHelVM.HelMA.Automaton.Instruction.CFInstruction
breakHelVM.HelMA.Automaton.Loop
BusinessIOHelVM.HelMA.Automaton.IO.BusinessIO
BXorHelVM.HelMA.Automaton.Instruction.SInstruction
calculateLoggedHelVM.HelMA.Automaton.IO.MockIO
calculateOpHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOpsHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOutputHelVM.HelMA.Automaton.IO.MockIO
CallHelVM.HelMA.Automaton.Instruction.CFInstruction
CDynamicHelVM.HelMA.Automaton.Instruction.CFInstruction
cellHelVM.HelMA.Automaton.API.MemoryOptions
cellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
CellTypeHelVM.HelMA.Automaton.Types.CellType
cellTypesHelVM.HelMA.Automaton.Types.CellType
CentralProcessingMemoryHelVM.HelMA.Automaton.Combiner.CPU
CFInstructionHelVM.HelMA.Automaton.Instruction.CFInstruction
charPush1HelVM.HelMA.Automaton.Combiner.ALU
charToExpressionHelVM.HelMA.Automata.Zot.Expression
charToExpressionListHelVM.HelMA.Automata.Zot.Expression
charToExpressionSafeHelVM.HelMA.Automata.Zot.Expression
charToSimpleInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Function)HelVM.HelMA.Automata.FALSE.Parser
churchHelVM.HelMA.Automata.LazyK.InputEncoder
clearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
CMHelVM.HelMA.Automaton.Combiner.CPU
CommentHelVM.HelMA.Automata.FALSE.Expression
compare0HelVM.HelMA.Automata.BrainFuck.Common.Symbol
compileFlagHelVM.HelMA.Automaton.API.AutoOptions
CondHelVM.HelMA.Automata.FALSE.Expression
ConsHelVM.HelMA.Automaton.Instruction.SInstruction
consHelVM.HelMA.Automata.LazyK.InputEncoder
consIHelVM.HelMA.Automaton.Instruction
constantFoldingHelVM.HelMA.Automaton.Optimizer
continueHelVM.HelMA.Automaton.Loop
ControlMemoryHelVM.HelMA.Automaton.Combiner.CPU
controlMemoryHelVM.HelMA.Automaton.Combiner.CPU
CopyHelVM.HelMA.Automaton.Instruction.SInstruction
copyHelVM.HelMA.Automaton.Combiner.ALU
CPMHelVM.HelMA.Automaton.Combiner.CPU
createMockIOHelVM.HelMA.Automaton.IO.MockIO
CStaticHelVM.HelMA.Automaton.Instruction.CFInstruction
cStaticIHelVM.HelMA.Automaton.Instruction
currentInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
3 (Function)HelVM.HelMA.Automaton.Combiner.CPU
dCopyHelVM.HelMA.Automaton.Instruction
DecHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
defHelVM.HelMA.Automata.BrainFuck.Common.Symbol
defaultBFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
defaultCellTypeHelVM.HelMA.Automaton.Types.CellType
defaultDumpTypeHelVM.HelMA.Automaton.Types.DumpType
defaultETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
defaultFormatTypeHelVM.HelMA.Automaton.Types.FormatType
defaultIntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
defaultOptimizationLevelHelVM.HelMA.Automaton.API.OptimizationLevel
defaultRAMTypeHelVM.HelMA.Automaton.Types.RAMType
defaultStackTypeHelVM.HelMA.Automaton.Types.StackType
defaultTokenTypeHelVM.HelMA.Automaton.Types.TokenType
digitHelVM.HelMA.Automaton.ReadPExtra
DiscardHelVM.HelMA.Automaton.Instruction.SInstruction
discardHelVM.HelMA.Automaton.Combiner.ALU
discardIHelVM.HelMA.Automaton.Instruction
DivHelVM.HelMA.Automaton.Instruction.SInstruction
divIHelVM.HelMA.Automaton.Instruction
divModHelVM.HelMA.Automaton.Combiner.ALU
divModIHelVM.HelMA.Automaton.Instruction
dJumpIHelVM.HelMA.Automaton.Instruction.CFInstruction
DMarkHelVM.HelMA.Automaton.Instruction.CFInstruction
dMarkIHelVM.HelMA.Automaton.Instruction
doBinaryHelVM.HelMA.Automaton.Instruction.SInstruction
doInputChar2HelVM.HelMA.Automaton.Combiner.ALU
doInputDec2HelVM.HelMA.Automaton.Combiner.ALU
doOutputChar2HelVM.HelMA.Automaton.Combiner.ALU
dropHelVM.HelMA.Automaton.Combiner.ALU
dumpHelVM.HelMA.Automaton.Types.DumpType
dumpAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
DumpTypeHelVM.HelMA.Automaton.Types.DumpType
dumpTypeHelVM.HelMA.Automaton.API.AutoOptions
dumpTypesHelVM.HelMA.Automaton.Types.DumpType
dupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
DupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
dupIHelVM.HelMA.Automaton.Instruction
dynamicBranchHelVM.HelMA.Automaton.Combiner.CPU
dynamicCallHelVM.HelMA.Automaton.Combiner.CPU
dynamicJumpHelVM.HelMA.Automaton.Combiner.CPU
EHelVM.HelMA.Automata.ETA.Token
ElementHelVM.HelMA.Automaton.IO.BusinessIO
encodeInputHelVM.HelMA.Automata.LazyK.InputEncoder
EndHelVM.HelMA.Automaton.Instruction
end 
1 (Function)HelVM.HelMA.Automata.LazyK.InputEncoder
2 (Function)HelVM.HelMA.Automaton.Combiner
ETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
etaImplTypesHelVM.HelMA.Automata.ETA.API.ETAImplType
eval 
1 (Function)HelVM.HelMA.Automata.Rev.Evaluator
2 (Function)HelVM.HelMA.Automata.Cat.Evaluator
3 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
EvalParams 
1 (Type/Class)HelVM.HelMA.Automaton.API.EvalParams
2 (Data Constructor)HelVM.HelMA.Automaton.API.EvalParams
evalParams 
1 (Function)HelVM.HelMA.Automata.Zot.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
3 (Function)HelVM.HelMA.Automata.Rev.Evaluator
4 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
5 (Function)HelVM.HelMA.Automata.Cat.Evaluator
6 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
7 (Function)HelVM.HelMA.Automata.ETA.Evaluator
8 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalSource 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator
3 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator
5 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalWithFormatHelVM.HelMA.Automata.Zot.Automaton
ExecHelVM.HelMA.Automata.FALSE.Expression
execMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
execMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
Expression 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Data Constructor)HelVM.HelMA.Automata.Zot.Expression
3 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
ExpressionDListHelVM.HelMA.Automata.Zot.Expression
ExpressionList 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
extractPureIALHelVM.HelMA.Automaton.Instruction
EZHelVM.HelMA.Automaton.Instruction.CFInstruction
FHelVM.HelMA.Automaton.Combiner
falseHelVM.HelMA.Automata.LazyK.Constants
FastHelVM.HelMA.Automata.ETA.API.ETAImplType
FastInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
FetchHelVM.HelMA.Automata.FALSE.Expression
filterCommentsHelVM.HelMA.Automata.LazyK.Lexer
findAddressHelVM.HelMA.Automata.ETA.Addressing
findAddressForDynamicLabelHelVM.HelMA.Automaton.Combiner.CPU
findAddressForStaticLabelHelVM.HelMA.Automaton.Combiner.CPU
FlatInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
flipParseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
flipParseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
flippedApplyHelVM.HelMA.Automata.LazyK.Reducer
flippedNewMemoryHelVM.HelMA.Automaton.Combiner
flippedStoreCharHelVM.HelMA.Automaton.Combiner.RAM
flipPush1HelVM.HelMA.Automaton.Combiner.ALU
FlushHelVM.HelMA.Automata.FALSE.Expression
flushHelVM.HelMA.Automaton.IO.BusinessIO
foldlLambdaHelVM.HelMA.Automata.LazyK.Lambda
FormatTypeHelVM.HelMA.Automaton.Types.FormatType
formatType 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
formatTypesHelVM.HelMA.Automaton.Types.FormatType
FreeIOHelVM.HelMA.Automaton.IO.FreeIO
fromBoolHelVM.HelMA.Automaton.API.OptimizationLevel
fromCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
fromListHelVM.HelMA.Automaton.Combiner.RAM
fromNaturalHelVM.HelMA.Automaton.API.OptimizationLevel
FullTapeHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
genericFindAddressHelVM.HelMA.Automata.ETA.Addressing
genericLoadHelVM.HelMA.Automaton.Combiner.RAM
genericNextLabelHelVM.HelMA.Automata.ETA.Addressing
genericPush1HelVM.HelMA.Automaton.Combiner.ALU
genericStoreHelVM.HelMA.Automaton.Combiner.RAM
GTZHelVM.HelMA.Automaton.Instruction.CFInstruction
HHelVM.HelMA.Automata.ETA.Token
HalfTableHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
HalibutHelVM.HelMA.Automaton.Instruction.SInstruction
halibutHelVM.HelMA.Automaton.Combiner.ALU
halibutIHelVM.HelMA.Automaton.Instruction
I 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
IALHelVM.HelMA.Automaton.Instruction
ICFHelVM.HelMA.Automaton.Instruction
ILSHelVM.HelMA.Automaton.Instruction
IM 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Data Constructor)HelVM.HelMA.Automata.ETA.OperandParsers
implementedOptimizationLevelsHelVM.HelMA.Automaton.API.OptimizationLevel
implTypeHelVM.HelMA.Automata.ETA.SimpleParams
Inc 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
incHelVM.HelMA.Automata.BrainFuck.Common.Symbol
incrementICHelVM.HelMA.Automaton.Combiner
incrementPCHelVM.HelMA.Automaton.Combiner.CPU
incSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
IndexHelVM.HelMA.Automaton.Symbol
Input 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
3 (Type/Class)HelVM.HelMA.Automaton.API.IOTypes
InputCharHelVM.HelMA.Automaton.Instruction.IOInstruction
InputDecHelVM.HelMA.Automaton.Instruction.IOInstruction
InstHelVM.HelMA.Automata.FALSE.Expression
InstructionHelVM.HelMA.Automaton.Instruction
InstructionAddress 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
InstructionCounter 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
InstructionListHelVM.HelMA.Automaton.Instruction
InstructionMemory 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.OperandParsers
InstructionStackHelVM.HelMA.Automaton.Combiner.CPU
InstructionVectorHelVM.HelMA.Automaton.Instruction
Int16Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int32Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int64Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int8Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
intCellHelVM.HelMA.Automaton.API.MemoryOptions
intCellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
IntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
intCellTypesHelVM.HelMA.Automaton.Types.IntCellType
IntegerTypeHelVM.HelMA.Automaton.Types.IntCellType
InteractHelVM.HelMA.Automaton.API.IOTypes
interpretFreeIOToBusinessIOHelVM.HelMA.Automaton.IO.FreeIO
ioExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
ioExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
IOInstructionHelVM.HelMA.Automaton.Instruction.IOInstruction
ISHelVM.HelMA.Automaton.Combiner.CPU
isAlphaAsciiHelVM.HelMA.Automaton.ReadPExtra
isDMarkHelVM.HelMA.Automaton.Instruction
isHashHelVM.HelMA.Automata.LazyK.Lexer
isICFHelVM.HelMA.Automaton.Instruction
isJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
isMarkHelVM.HelMA.Automaton.Instruction
isNotJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
isPureIALHelVM.HelMA.Automaton.Instruction
isSMarkHelVM.HelMA.Automaton.Instruction
JmpBackHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
JmpPastHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
JumpHelVM.HelMA.Automaton.Instruction.CFInstruction
jumpBackHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
jumpPastHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
KHelVM.HelMA.Automata.LazyK.Lambda
LabelHelVM.HelMA.Automaton.Instruction.CFInstruction
LabelInstructionHelVM.HelMA.Automaton.Instruction.CFInstruction
Lambda 
1 (Type/Class)HelVM.HelMA.Automata.LazyK.Lambda
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
LAndHelVM.HelMA.Automaton.Instruction.SInstruction
LEQHelVM.HelMA.Automaton.Instruction.SInstruction
letterAsciiHelVM.HelMA.Automaton.ReadPExtra
LGTHelVM.HelMA.Automaton.Instruction.SInstruction
limitHelVM.HelMA.Automaton.API.AutoOptions
LimitMaybeHelVM.HelMA.Automaton.Loop
ListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
listRunParserHelVM.HelMA.Automaton.ReadPExtra
ListStackTypeHelVM.HelMA.Automaton.Types.StackType
LNotHelVM.HelMA.Automaton.Instruction.SInstruction
LoadHelVM.HelMA.Automaton.Instruction.LSInstruction
load 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
loadIHelVM.HelMA.Automaton.Instruction
loadOutputCharHelVM.HelMA.Automaton.Combiner.LSU
loadOutputDecHelVM.HelMA.Automaton.Combiner.LSU
LoadStoreMemoryHelVM.HelMA.Automaton.Combiner.LSU
logDumpHelVM.HelMA.Automaton.Types.DumpType
LogicalHelVM.HelMA.Automaton.Instruction.SInstruction
logInputHelVM.HelMA.Automaton.IO.FreeIO
logOutputHelVM.HelMA.Automaton.IO.FreeIO
logStrHelVM.HelMA.Automaton.IO.BusinessIO
loopMWithLimitHelVM.HelMA.Automaton.Loop
LOrHelVM.HelMA.Automaton.Instruction.SInstruction
LSInstructionHelVM.HelMA.Automaton.Instruction.LSInstruction
LSMHelVM.HelMA.Automaton.Combiner.LSU
LSUHelVM.HelMA.Automaton.Combiner.LSU
LTZHelVM.HelMA.Automaton.Instruction.CFInstruction
LXorHelVM.HelMA.Automaton.Instruction.SInstruction
ManipulationInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
manyNonEmptyHelVM.HelMA.Automaton.ReadPExtra
MapListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
matchNextJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
matchPrevJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
Memory 
1 (Type/Class)HelVM.HelMA.Automaton.Combiner
2 (Data Constructor)HelVM.HelMA.Automaton.Combiner
memoryCMHelVM.HelMA.Automaton.Combiner
MemoryOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.MemoryOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.MemoryOptions
memoryOptionsHelVM.HelMA.Automaton.API.EvalParams
memoryProgramHelVM.HelMA.Automaton.Combiner
memoryProgramCounterHelVM.HelMA.Automaton.Combiner
memoryRAMHelVM.HelMA.Automaton.Combiner
MemorySameHelVM.HelMA.Automaton.Combiner
memoryStackHelVM.HelMA.Automaton.Combiner
mInputDecIHelVM.HelMA.Automaton.Instruction
mInputIHelVM.HelMA.Automaton.Instruction
MIOHelVM.HelMA.Automaton.Instruction.LSInstruction
MockIOHelVM.HelMA.Automaton.IO.MockIO
MockIODataHelVM.HelMA.Automaton.IO.MockIO
ModHelVM.HelMA.Automaton.Instruction.SInstruction
modIHelVM.HelMA.Automaton.Instruction
Move 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automaton.Instruction.SInstruction
moveHelVM.HelMA.Automaton.Combiner.ALU
moveHeadHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadLeftHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadRightHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MoveLHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
MoveRHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
moveSafeHelVM.HelMA.Automata.WhiteSpace.OperandParsers
MulHelVM.HelMA.Automaton.Instruction.SInstruction
mulAddAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulAddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulDupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulDupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulIHelVM.HelMA.Automaton.Instruction
N 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
NegHelVM.HelMA.Automaton.Instruction.SInstruction
negationIntegralHelVM.HelMA.Automata.WhiteSpace.OperandParsers
negIHelVM.HelMA.Automaton.Instruction
newCMHelVM.HelMA.Automaton.Combiner.CPU
newMemory 
1 (Function)HelVM.HelMA.Automata.SubLeq.Automaton
2 (Function)HelVM.HelMA.Automata.ETA.Automaton
3 (Function)HelVM.HelMA.Automaton.Combiner
newTapeHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
nextHelVM.HelMA.Automata.BrainFuck.Common.Symbol
nextICHelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
nextIMHelVM.HelMA.Automata.ETA.OperandParsers
nextInstHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
nextLabelHelVM.HelMA.Automata.ETA.Addressing
nextSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
NoHelVM.HelMA.Automaton.Types.DumpType
nonEmptyRunParserHelVM.HelMA.Automaton.ReadPExtra
NoOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
notCharHelVM.HelMA.Automaton.ReadPExtra
NumberHelVM.HelMA.Automata.LazyK.Lambda
OHelVM.HelMA.Automata.ETA.Token
OneHelVM.HelMA.Automata.Zot.Expression
oneOfHelVM.HelMA.Automaton.ReadPExtra
OperandIMParserHelVM.HelMA.Automata.ETA.OperandParsers
OperandParserHelVM.HelMA.Automata.ETA.OperandParsers
OperatorTypeHelVM.HelMA.Automaton.Instruction.SInstruction
OptimizationLevelHelVM.HelMA.Automaton.API.OptimizationLevel
optimizationLevelsHelVM.HelMA.Automaton.API.OptimizationLevel
optimize 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer
2 (Function)HelVM.HelMA.Automata.ETA.Optimizer
3 (Function)HelVM.HelMA.Automaton.Optimizer
optLevelHelVM.HelMA.Automaton.API.AutoOptions
optLevelAutoOptionsHelVM.HelMA.Automaton.API.AutomatonOptions
OriginalHelVM.HelMA.Automata.ETA.API.ETAImplType
OutHelVM.HelMA.Automata.Zot.Expression
Output 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
3 (Type/Class)HelVM.HelMA.Automaton.API.IOTypes
OutputCharHelVM.HelMA.Automaton.Instruction.IOInstruction
OutputDecHelVM.HelMA.Automaton.Instruction.IOInstruction
parse 
1 (Function)HelVM.HelMA.Automata.Zot.Parser
2 (Function)HelVM.HelMA.Automata.LazyK.Parser
3 (Function)HelVM.HelMA.Automata.FALSE.Parser
4 (Function)HelVM.HelMA.Automata.WhiteSpace.Parser
5 (Function)HelVM.HelMA.Automata.ETA.Parser
parseAsciiStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseAsListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsListSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseAsVectorSafeHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseDigitStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseExtraHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseFromTLHelVM.HelMA.Automata.WhiteSpace.Parser
parseIndexHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntegerHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseLabelHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNaturalHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNumberHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLLHelVM.HelMA.Automata.ETA.OperandParsers
ParserHelVM.HelMA.Automata.WhiteSpace.OperandParsers
ParserFromTokenListHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSafe 
1 (Function)HelVM.HelMA.Automata.FALSE.Parser
2 (Function)HelVM.HelMA.Automata.ETA.Parser
parseString'HelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSymbolHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
parseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
parseWithOptimizeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseWithOptimizeSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
PickHelVM.HelMA.Automaton.Instruction.SInstruction
pop1HelVM.HelMA.Automaton.Combiner.ALU
pop2HelVM.HelMA.Automaton.Combiner.ALU
pop2ForStackHelVM.HelMA.Automaton.Combiner
popAddressHelVM.HelMA.Automaton.Combiner.CPU
PrettyHelVM.HelMA.Automaton.Types.DumpType
prevHelVM.HelMA.Automata.BrainFuck.Common.Symbol
prevInstHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
prevSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
program 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
programCounter 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
push1HelVM.HelMA.Automaton.Combiner.ALU
push1ForStackHelVM.HelMA.Automaton.Combiner
push2HelVM.HelMA.Automaton.Combiner.ALU
RHelVM.HelMA.Automata.ETA.Token
RAMHelVM.HelMA.Automaton.Combiner.RAM
ram 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
ramAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
RAMTypeHelVM.HelMA.Automaton.Types.RAMType
ramType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
ramTypesHelVM.HelMA.Automaton.Types.RAMType
RAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
readExpressionListHelVM.HelMA.Automata.Zot.Expression
readInputHelVM.HelMA.Automata.LazyK.InputEncoder
readSymbolsHelVM.HelMA.Automata.SubLeq.Lexer
readTokens 
1 (Function)HelVM.HelMA.Automata.ETA.Lexer
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
readVisibleTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
readWhiteTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
realizeHelVM.HelMA.Automata.LazyK.Automaton
realizeWithTrueHelVM.HelMA.Automata.LazyK.Automaton
reduceHelVM.HelMA.Automata.LazyK.Reducer
reduceSourceHelVM.HelMA.Automata.LazyK.Evaluator
RefHelVM.HelMA.Automata.FALSE.Expression
removeCommentHelVM.HelMA.Automata.LazyK.Lexer
ReturnHelVM.HelMA.Automaton.Instruction.CFInstruction
returnIHelVM.HelMA.Automaton.Instruction
returnStackHelVM.HelMA.Automaton.Combiner.CPU
rotIHelVM.HelMA.Automaton.Instruction
run 
1 (Function)HelVM.HelMA.Automata.LazyK.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Automaton
3 (Function)HelVM.HelMA.Automata.ETA.Automaton
4 (Function)HelVM.HelMA.Automaton.Automaton
runALIHelVM.HelMA.Automaton.Combiner.ALU
runAndDumpLogsHelVM.HelMA.Automaton.Automaton
runCFIHelVM.HelMA.Automaton.Combiner.CPU
runExpressionListHelVM.HelMA.Automata.Zot.Evaluator
runInstructionHelVM.HelMA.Automaton.Combiner
runMockIOHelVM.HelMA.Automaton.IO.MockIO
runParserHelVM.HelMA.Automaton.ReadPExtra
runSALHelVM.HelMA.Automaton.Combiner.ALU
runSLIHelVM.HelMA.Automaton.Combiner.LSU
runWithTerminatorHelVM.HelMA.Automata.LazyK.Automaton
S 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
3 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
safeExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
safeExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
SafeStackHelVM.HelMA.Automaton.Combiner.ALU
SALHelVM.HelMA.Automaton.Instruction.SInstruction
salHelVM.HelMA.Automaton.Instruction
SameHelVM.HelMA.Automaton.Loop
SAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
sCallIHelVM.HelMA.Automaton.Instruction
sCopyIHelVM.HelMA.Automaton.Instruction
SDynamicHelVM.HelMA.Automaton.Instruction.SInstruction
selfAppHelVM.HelMA.Automata.LazyK.Constants
SeqRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SeqStackTypeHelVM.HelMA.Automaton.Types.StackType
SetHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
setSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
sEZIHelVM.HelMA.Automaton.Instruction
SFHelVM.HelMA.Automaton.Combiner
showExpressionListHelVM.HelMA.Automata.Zot.Expression
showsHelVM.HelMA.Automata.SubLeq.Lexer
Simple 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
simpleAutoParamsHelVM.HelMA.Automaton.API.AutoOptions
simpleEval 
1 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
3 (Function)HelVM.HelMA.Automata.ETA.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
SimpleInstructionHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
simpleInstructionsHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
SimpleParams 
1 (Type/Class)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Data Constructor)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParams 
1 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
sInputIHelVM.HelMA.Automaton.Instruction
SInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
SIOHelVM.HelMA.Automaton.Instruction.SInstruction
sioHelVM.HelMA.Automaton.Instruction
sJumpIHelVM.HelMA.Automaton.Instruction
sJumpINHelVM.HelMA.Automaton.Instruction
SlideHelVM.HelMA.Automaton.Instruction.SInstruction
slideHelVM.HelMA.Automaton.Combiner.ALU
SListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SListStackTypeHelVM.HelMA.Automaton.Types.StackType
sLTZIHelVM.HelMA.Automaton.Instruction
SMarkHelVM.HelMA.Automaton.Instruction.CFInstruction
sMarkIHelVM.HelMA.Automaton.Instruction
sMarkINHelVM.HelMA.Automaton.Instruction
sMoveIHelVM.HelMA.Automaton.Instruction
SomeOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
SourceHelVM.HelMA.Automaton.API.IOTypes
source 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
sOutputDecIHelVM.HelMA.Automaton.Instruction
sOutputIHelVM.HelMA.Automaton.Instruction
splitAtHelVM.HelMA.Automaton.Combiner.ALU
splitByNHelVM.HelMA.Automata.WhiteSpace.OperandParsers
SRAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
sSlideIHelVM.HelMA.Automaton.Instruction
SStaticHelVM.HelMA.Automaton.Instruction.SInstruction
sStaticHelVM.HelMA.Automaton.Instruction
StackHelVM.HelMA.Automaton.Combiner.ALU
stack 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
stackAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
StackIndexHelVM.HelMA.Automaton.Instruction.SInstruction
StackTypeHelVM.HelMA.Automaton.Types.StackType
stackType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
stackTypesHelVM.HelMA.Automaton.Types.StackType
startHelVM.HelMA.Automaton.Automaton
staticBranchHelVM.HelMA.Automaton.Combiner.CPU
staticCallHelVM.HelMA.Automaton.Combiner.CPU
staticJumpHelVM.HelMA.Automaton.Combiner.CPU
Store 
1 (Data Constructor)HelVM.HelMA.Automaton.Instruction.LSInstruction
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
store 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
storeCharHelVM.HelMA.Automaton.Combiner.RAM
storeIHelVM.HelMA.Automaton.Instruction
storeInputCharHelVM.HelMA.Automaton.Combiner.LSU
storeInputDecHelVM.HelMA.Automaton.Combiner.LSU
StrHelVM.HelMA.Automata.FALSE.Expression
stringToExpressionListHelVM.HelMA.Automata.Zot.Expression
SubHelVM.HelMA.Automaton.Instruction.SInstruction
subHelVM.HelMA.Automaton.Combiner.ALU
subAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
SubClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
subIHelVM.HelMA.Automaton.Instruction
SuccHelVM.HelMA.Automata.LazyK.Lambda
succChurchHelVM.HelMA.Automata.LazyK.InputEncoder
successorHelVM.HelMA.Automata.LazyK.InputEncoder
swapIHelVM.HelMA.Automaton.Instruction
Symbol 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Common.Symbol
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
4 (Type/Class)HelVM.HelMA.Automaton.Symbol
SymbolList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
Symbols 
1 (Type/Class)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Data Constructor)HelVM.HelMA.Automata.SubLeq.Lexer
T 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
TableHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
TableDHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
testMaybeLimitHelVM.HelMA.Automaton.Loop
TextLabelHelVM.HelMA.Automaton.Types.FormatType
toCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
toCPMHelVM.HelMA.Automaton.Combiner
toIntegerHelVM.HelMA.Automata.BrainFuck.Common.Symbol
Token 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
tokenize 
1 (Function)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Lexer
3 (Function)HelVM.HelMA.Automata.ETA.Lexer
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
tokenizeVisibleHelVM.HelMA.Automata.WhiteSpace.Lexer
tokenizeWhiteHelVM.HelMA.Automata.WhiteSpace.Lexer
TokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
TokensHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
TokenSListHelVM.HelMA.Automata.WhiteSpace.Token
tokenToWhiteTokenPairHelVM.HelMA.Automata.ETA.Token
TokenTypeHelVM.HelMA.Automaton.Types.TokenType
tokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
tokenTypesHelVM.HelMA.Automaton.Types.TokenType
TokenVectorHelVM.HelMA.Automata.ETA.Token
toLSMHelVM.HelMA.Automaton.Combiner
TransferHelVM.HelMA.Automaton.Instruction
transferHelVM.HelMA.Automaton.Combiner
transferBranchHelVM.HelMA.Automaton.Combiner
TreeInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionDListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
triAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
TriClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
trueHelVM.HelMA.Automata.LazyK.Constants
UglyHelVM.HelMA.Automaton.Types.DumpType
UnaryHelVM.HelMA.Automaton.Instruction.SInstruction
unaryHelVM.HelMA.Automaton.Instruction
UnaryInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
unWhiteToken 
1 (Function)HelVM.HelMA.Automata.ETA.Token
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Token
unWrapTokenListHelVM.HelMA.Automaton.WrapTokenList
updateFromCPMHelVM.HelMA.Automaton.Combiner
updateFromLSMHelVM.HelMA.Automaton.Combiner
updatePCHelVM.HelMA.Automata.ETA.OperandParsers
updateStackHelVM.HelMA.Automaton.Combiner
VarHelVM.HelMA.Automata.LazyK.Lambda
verySimpleAutoParamsHelVM.HelMA.Automaton.API.AutoOptions
VisibleTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
VisibleTokenTypeHelVM.HelMA.Automaton.Types.TokenType
wFlushHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsBSHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsTextHelVM.HelMA.Automaton.IO.BusinessIO
wGetDecAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetLineHelVM.HelMA.Automaton.IO.BusinessIO
While 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
3 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
WhiteToken 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
whiteTokenListToTokenList 
1 (Function)HelVM.HelMA.Automata.ETA.Token
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokens 
1 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Lexer
2 (Type/Class)HelVM.HelMA.Automata.ETA.Lexer
WhiteTokenTypeHelVM.HelMA.Automaton.Types.TokenType
withDefaultRamHelVM.HelMA.Automaton.API.AutomatonOptions
WithLimitHelVM.HelMA.Automaton.Loop
wLogShowHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrLnHelVM.HelMA.Automaton.IO.BusinessIO
Word16TypeHelVM.HelMA.Automaton.Types.CellType
Word32TypeHelVM.HelMA.Automaton.Types.CellType
Word64TypeHelVM.HelMA.Automaton.Types.CellType
Word8TypeHelVM.HelMA.Automaton.Types.CellType
wPutAsCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutAsDecHelVM.HelMA.Automaton.IO.BusinessIO
wPutCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrLnHelVM.HelMA.Automaton.IO.BusinessIO
WrapTokenList 
1 (Type/Class)HelVM.HelMA.Automaton.WrapTokenList
2 (Data Constructor)HelVM.HelMA.Automaton.WrapTokenList
writeSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
ZeroHelVM.HelMA.Automata.Zot.Expression
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index

AHelVM.HelMA.Automata.ETA.Token
actMWithLimit 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
AddHelVM.HelMA.Automaton.Instruction.SInstruction
addAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
AddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
addIHelVM.HelMA.Automaton.Instruction
AllOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
almHelVM.HelMA.Automaton.Combiner.CPU
ALUHelVM.HelMA.Automaton.Combiner.ALU
anyCharHelVM.HelMA.Automaton.ReadPExtra
AppHelVM.HelMA.Automata.LazyK.Lambda
app3HelVM.HelMA.Automata.LazyK.Lambda
app3SIHelVM.HelMA.Automata.LazyK.Constants
app4HelVM.HelMA.Automata.LazyK.Lambda
appKHelVM.HelMA.Automata.LazyK.Constants
appKSHelVM.HelMA.Automata.LazyK.Constants
applyHelVM.HelMA.Automata.LazyK.Reducer
appSelfAppHelVM.HelMA.Automata.LazyK.Constants
artificialInstructionHelVM.HelMA.Automaton.Combiner.CPU
AutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
AutomatonOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.AutomatonOptions
automatonOptions 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
AutoOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.AutoOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.AutoOptions
autoOptions 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automaton.API.EvalParams
3 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
4 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
BAndHelVM.HelMA.Automaton.Instruction.SInstruction
BasicOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
bCombinatorHelVM.HelMA.Automata.LazyK.Constants
BEQHelVM.HelMA.Automaton.Instruction.SInstruction
bEzSIHelVM.HelMA.Automaton.Instruction
BFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
bfTypesHelVM.HelMA.Automata.BrainFuck.API.BFType
BGTHelVM.HelMA.Automaton.Instruction.SInstruction
bIIHelVM.HelMA.Automaton.Instruction
BinariesHelVM.HelMA.Automaton.Instruction.SInstruction
binariesHelVM.HelMA.Automaton.Instruction
BinaryHelVM.HelMA.Automaton.Instruction.SInstruction
binaryHelVM.HelMA.Automaton.Instruction
binaryInstructionHelVM.HelMA.Automaton.Combiner.ALU
binaryInstructionsHelVM.HelMA.Automaton.Combiner.ALU
BinaryLabelHelVM.HelMA.Automaton.Types.FormatType
BinaryOperationHelVM.HelMA.Automaton.Instruction.SInstruction
BIOHelVM.HelMA.Automaton.IO.BusinessIO
BitwiseHelVM.HelMA.Automaton.Instruction.SInstruction
blAndHelVM.HelMA.Automaton.Instruction.SInstruction
blEQHelVM.HelMA.Automaton.Instruction.SInstruction
blGTHelVM.HelMA.Automaton.Instruction.SInstruction
blOrHelVM.HelMA.Automaton.Instruction.SInstruction
bLtzSIHelVM.HelMA.Automaton.Instruction
blXorHelVM.HelMA.Automaton.Instruction.SInstruction
bNeIIHelVM.HelMA.Automaton.Instruction
bNeTIHelVM.HelMA.Automaton.Instruction
BNotHelVM.HelMA.Automaton.Instruction.SInstruction
BOrHelVM.HelMA.Automaton.Instruction.SInstruction
BranchHelVM.HelMA.Automaton.Instruction.CFInstruction
branchHelVM.HelMA.Automaton.Combiner.CPU
BranchTestHelVM.HelMA.Automaton.Instruction.CFInstruction
break 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
BusinessIOHelVM.HelMA.Automaton.IO.BusinessIO
BXorHelVM.HelMA.Automaton.Instruction.SInstruction
calculateLoggedHelVM.HelMA.Automaton.IO.MockIO
calculateOpHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOpsHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOutputHelVM.HelMA.Automaton.IO.MockIO
CallHelVM.HelMA.Automaton.Instruction.CFInstruction
callHelVM.HelMA.Automaton.Combiner.CPU
callSIHelVM.HelMA.Automaton.Instruction
cellHelVM.HelMA.Automaton.API.MemoryOptions
cellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
CellTypeHelVM.HelMA.Automaton.Types.CellType
cellTypesHelVM.HelMA.Automaton.Types.CellType
CentralProcessingMemoryHelVM.HelMA.Automaton.Combiner.CPU
CentralProcessingStepHelVM.HelMA.Automaton.Combiner.CPU
cfiHelVM.HelMA.Automaton.Instruction
CFInstructionHelVM.HelMA.Automaton.Instruction.CFInstruction
cfJumpIHelVM.HelMA.Automaton.Instruction.CFInstruction
cfsHelVM.HelMA.Automaton.Instruction
cftHelVM.HelMA.Automaton.Instruction
charPush1HelVM.HelMA.Automaton.Combiner.ALU
charToExpressionHelVM.HelMA.Automata.Zot.Expression
charToExpressionListHelVM.HelMA.Automata.Zot.Expression
charToExpressionSafeHelVM.HelMA.Automata.Zot.Expression
charToSimpleInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Function)HelVM.HelMA.Automata.FALSE.Parser
checkArtificialMarkHelVM.HelMA.Automaton.Instruction
checkNaturalMarkHelVM.HelMA.Automaton.Instruction
churchHelVM.HelMA.Automata.LazyK.InputEncoder
clearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
CMHelVM.HelMA.Automaton.Combiner.CPU
CommentHelVM.HelMA.Automata.FALSE.Expression
compare0HelVM.HelMA.Automata.BrainFuck.Common.Symbol
compileFlagHelVM.HelMA.Automaton.API.AutoOptions
CondHelVM.HelMA.Automata.FALSE.Expression
ConsHelVM.HelMA.Automaton.Instruction.SInstruction
consHelVM.HelMA.Automata.LazyK.InputEncoder
consIHelVM.HelMA.Automaton.Instruction
constantFoldingHelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer, HelVM.HelMA.Automaton.Optimizer
continue 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
ControlMemoryHelVM.HelMA.Automaton.Combiner.CPU
controlMemoryHelVM.HelMA.Automaton.Combiner.CPU
CopyHelVM.HelMA.Automaton.Instruction.SInstruction
copyHelVM.HelMA.Automaton.Combiner.ALU
copyIIHelVM.HelMA.Automaton.Instruction
copyTIHelVM.HelMA.Automaton.Instruction
CPMHelVM.HelMA.Automaton.Combiner.CPU
cpmPop1HelVM.HelMA.Automaton.Combiner.CPU
cpmProgramHelVM.HelMA.Automaton.Combiner.CPU
createMockIOHelVM.HelMA.Automaton.IO.MockIO
currentInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
3 (Function)HelVM.HelMA.Automaton.Combiner.CPU
DecHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
defHelVM.HelMA.Automata.BrainFuck.Common.Symbol
defaultBFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
defaultCellTypeHelVM.HelMA.Automaton.Types.CellType
defaultDumpTypeHelVM.HelMA.Automaton.Types.DumpType
defaultETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
defaultFormatTypeHelVM.HelMA.Automaton.Types.FormatType
defaultIntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
defaultOptimizationLevelHelVM.HelMA.Automaton.API.OptimizationLevel
defaultRAMTypeHelVM.HelMA.Automaton.Types.RAMType
defaultStackTypeHelVM.HelMA.Automaton.Types.StackType
defaultTokenTypeHelVM.HelMA.Automaton.Types.TokenType
digitHelVM.HelMA.Automaton.ReadPExtra
DiscardHelVM.HelMA.Automaton.Instruction.SInstruction
discardHelVM.HelMA.Automaton.Combiner.ALU
discardIHelVM.HelMA.Automaton.Instruction
DivHelVM.HelMA.Automaton.Instruction.SInstruction
divIHelVM.HelMA.Automaton.Instruction
divModHelVM.HelMA.Automaton.Combiner.ALU
divModIHelVM.HelMA.Automaton.Instruction
doBinaryHelVM.HelMA.Automaton.Instruction.SInstruction
doInputChar2HelVM.HelMA.Automaton.Combiner.ALU
doInputDec2HelVM.HelMA.Automaton.Combiner.ALU
doJumpHelVM.HelMA.Automaton.Combiner.CPU
doOutputChar2HelVM.HelMA.Automaton.Combiner.ALU
dropHelVM.HelMA.Automaton.Combiner.ALU
dumpHelVM.HelMA.Automaton.Types.DumpType
dumpAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
DumpTypeHelVM.HelMA.Automaton.Types.DumpType
dumpTypeHelVM.HelMA.Automaton.API.AutoOptions
dumpTypesHelVM.HelMA.Automaton.Types.DumpType
dupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
DupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
dupIHelVM.HelMA.Automaton.Instruction
DynamicLabelHelVM.HelMA.Automaton.Combiner.CPU
EHelVM.HelMA.Automata.ETA.Token
EitherWithLimit 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
ElementHelVM.HelMA.Automaton.IO.BusinessIO
encodeInputHelVM.HelMA.Automata.LazyK.InputEncoder
EndHelVM.HelMA.Automaton.Instruction
end 
1 (Function)HelVM.HelMA.Automata.LazyK.InputEncoder
2 (Function)HelVM.HelMA.Automaton.Combiner
ETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
etaImplTypesHelVM.HelMA.Automata.ETA.API.ETAImplType
eval 
1 (Function)HelVM.HelMA.Automata.Rev.Evaluator
2 (Function)HelVM.HelMA.Automata.Cat.Evaluator
3 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
EvalParams 
1 (Type/Class)HelVM.HelMA.Automaton.API.EvalParams
2 (Data Constructor)HelVM.HelMA.Automaton.API.EvalParams
evalParams 
1 (Function)HelVM.HelMA.Automata.Zot.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
3 (Function)HelVM.HelMA.Automata.Rev.Evaluator
4 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
5 (Function)HelVM.HelMA.Automata.Cat.Evaluator
6 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
7 (Function)HelVM.HelMA.Automata.ETA.Evaluator
8 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalSource 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator
3 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator
5 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalWithFormatHelVM.HelMA.Automata.Zot.Automaton
ExecHelVM.HelMA.Automata.FALSE.Expression
execMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
execMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
Expression 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Data Constructor)HelVM.HelMA.Automata.Zot.Expression
3 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
ExpressionDListHelVM.HelMA.Automata.Zot.Expression
ExpressionList 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
EZHelVM.HelMA.Automaton.Instruction.CFInstruction
FHelVM.HelMA.Automaton.Combiner
falseHelVM.HelMA.Automata.LazyK.Constants
FastHelVM.HelMA.Automata.ETA.API.ETAImplType
FastInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
FetchHelVM.HelMA.Automata.FALSE.Expression
filterCommentsHelVM.HelMA.Automata.LazyK.Lexer
findAddressHelVM.HelMA.Automata.ETA.Addressing
findAddressForArtificialLabelHelVM.HelMA.Automaton.Combiner.CPU
findAddressForNaturalLabelHelVM.HelMA.Automaton.Combiner.CPU
FlatInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
flipParseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
flipParseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
flippedApplyHelVM.HelMA.Automata.LazyK.Reducer
flippedNewMemoryHelVM.HelMA.Automaton.Combiner
flippedStoreCharHelVM.HelMA.Automaton.Combiner.RAM
flipPush1HelVM.HelMA.Automaton.Combiner.ALU
FlushHelVM.HelMA.Automata.FALSE.Expression
flushHelVM.HelMA.Automaton.IO.BusinessIO
foldlLambdaHelVM.HelMA.Automata.LazyK.Lambda
FormatTypeHelVM.HelMA.Automaton.Types.FormatType
formatType 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
formatTypesHelVM.HelMA.Automaton.Types.FormatType
FreeIOHelVM.HelMA.Automaton.IO.FreeIO
fromBoolHelVM.HelMA.Automaton.API.OptimizationLevel
fromCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
fromListHelVM.HelMA.Automaton.Combiner.RAM
fromNaturalHelVM.HelMA.Automaton.API.OptimizationLevel
FullTapeHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
genericFindAddressHelVM.HelMA.Automata.ETA.Addressing
genericLoadHelVM.HelMA.Automaton.Combiner.RAM
genericNextLabelHelVM.HelMA.Automata.ETA.Addressing
genericPush1HelVM.HelMA.Automaton.Combiner.ALU
genericStoreHelVM.HelMA.Automaton.Combiner.RAM
GTZHelVM.HelMA.Automaton.Instruction.CFInstruction
HHelVM.HelMA.Automata.ETA.Token
HalfTableHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
HalibutHelVM.HelMA.Automaton.Instruction.SInstruction
halibutHelVM.HelMA.Automaton.Combiner.ALU
halibutIHelVM.HelMA.Automaton.Instruction
I 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
IALHelVM.HelMA.Automaton.Instruction
ICFHelVM.HelMA.Automaton.Instruction
ILSHelVM.HelMA.Automaton.Instruction
IM 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Data Constructor)HelVM.HelMA.Automata.ETA.OperandParsers
immediateInstructionHelVM.HelMA.Automaton.Combiner.CPU
ImmediateOHelVM.HelMA.Automaton.Instruction.SInstruction
implementedOptimizationLevelsHelVM.HelMA.Automaton.API.OptimizationLevel
implTypeHelVM.HelMA.Automata.ETA.SimpleParams
Inc 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
incHelVM.HelMA.Automata.BrainFuck.Common.Symbol
incrementICHelVM.HelMA.Automaton.Combiner
incrementPCHelVM.HelMA.Automaton.Combiner.CPU
incSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
Index 
1 (Type/Class)HelVM.HelMA.Automaton.Instruction.SInstruction
2 (Type/Class)HelVM.HelMA.Automaton.Symbol
IndexedHelVM.HelMA.Automaton.Instruction.SInstruction
IndexedOperationHelVM.HelMA.Automaton.Instruction.SInstruction
IndexOperandHelVM.HelMA.Automaton.Instruction.SInstruction
Input 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
3 (Type/Class)HelVM.HelMA.Automaton.API.IOTypes
InputCharHelVM.HelMA.Automaton.Instruction.IOInstruction
InputDecHelVM.HelMA.Automaton.Instruction.IOInstruction
InstHelVM.HelMA.Automata.FALSE.Expression
InstructionHelVM.HelMA.Automaton.Instruction
InstructionAddress 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
InstructionCounter 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
InstructionListHelVM.HelMA.Automaton.Instruction
InstructionMemory 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.OperandParsers
InstructionStackHelVM.HelMA.Automaton.Combiner.CPU
InstructionVectorHelVM.HelMA.Automaton.Instruction
Int16Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int32Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int64Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int8Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
intCellHelVM.HelMA.Automaton.API.MemoryOptions
intCellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
IntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
intCellTypesHelVM.HelMA.Automaton.Types.IntCellType
IntegerTypeHelVM.HelMA.Automaton.Types.IntCellType
InteractHelVM.HelMA.Automaton.API.IOTypes
interpretFreeIOToBusinessIOHelVM.HelMA.Automaton.IO.FreeIO
ioExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
ioExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
IOInstructionHelVM.HelMA.Automaton.Instruction.IOInstruction
ISHelVM.HelMA.Automaton.Combiner.CPU
isAlphaAsciiHelVM.HelMA.Automaton.ReadPExtra
isHashHelVM.HelMA.Automata.LazyK.Lexer
isICFHelVM.HelMA.Automaton.Instruction
isJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
isNotJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
JmpBackHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
JmpPastHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
JumpHelVM.HelMA.Automaton.Instruction.CFInstruction
jumpHelVM.HelMA.Automaton.Combiner.CPU
jumpBackHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
jumpIIHelVM.HelMA.Automaton.Instruction
jumpPastHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
jumpSIHelVM.HelMA.Automaton.Instruction
jumpTIHelVM.HelMA.Automaton.Instruction
KHelVM.HelMA.Automata.LazyK.Lambda
LabelHelVM.HelMA.Automaton.Instruction.CFInstruction
LabeledHelVM.HelMA.Automaton.Instruction.CFInstruction
labeledHelVM.HelMA.Automaton.Combiner.CPU
LabeledOperationHelVM.HelMA.Automaton.Instruction.CFInstruction
LabelOperandHelVM.HelMA.Automaton.Instruction.CFInstruction
Lambda 
1 (Type/Class)HelVM.HelMA.Automata.LazyK.Lambda
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
LAndHelVM.HelMA.Automaton.Instruction.SInstruction
LArtificialHelVM.HelMA.Automaton.Instruction.CFInstruction
LEQHelVM.HelMA.Automaton.Instruction.SInstruction
letterAsciiHelVM.HelMA.Automaton.ReadPExtra
LGTHelVM.HelMA.Automaton.Instruction.SInstruction
limitHelVM.HelMA.Automaton.API.AutoOptions
LimitMaybe 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
LImmediateHelVM.HelMA.Automaton.Instruction.CFInstruction
ListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
listRunParserHelVM.HelMA.Automaton.ReadPExtra
ListStackTypeHelVM.HelMA.Automaton.Types.StackType
LNotHelVM.HelMA.Automaton.Instruction.SInstruction
LoadHelVM.HelMA.Automaton.Instruction.LSInstruction
load 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
loadIHelVM.HelMA.Automaton.Instruction
loadOutputCharHelVM.HelMA.Automaton.Combiner.LSU
loadOutputDecHelVM.HelMA.Automaton.Combiner.LSU
LoadStoreMemoryHelVM.HelMA.Automaton.Combiner.LSU
logDumpHelVM.HelMA.Automaton.Types.DumpType
LogicalHelVM.HelMA.Automaton.Instruction.SInstruction
logInputHelVM.HelMA.Automaton.IO.FreeIO
logOutputHelVM.HelMA.Automaton.IO.FreeIO
logStrHelVM.HelMA.Automaton.IO.BusinessIO
loopMWithLimitHelVM.HelMA.Automaton.Loop
LOrHelVM.HelMA.Automaton.Instruction.SInstruction
LSInstructionHelVM.HelMA.Automaton.Instruction.LSInstruction
LSMHelVM.HelMA.Automaton.Combiner.LSU
LSUHelVM.HelMA.Automaton.Combiner.LSU
LTopHelVM.HelMA.Automaton.Instruction.CFInstruction
LTZHelVM.HelMA.Automaton.Instruction.CFInstruction
LXorHelVM.HelMA.Automaton.Instruction.SInstruction
manipulationIIHelVM.HelMA.Automaton.Instruction
manyNonEmptyHelVM.HelMA.Automaton.ReadPExtra
MapListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
Mark 
1 (Type/Class)HelVM.HelMA.Automaton.Instruction.CFInstruction
2 (Data Constructor)HelVM.HelMA.Automaton.Instruction.CFInstruction
markNIHelVM.HelMA.Automaton.Instruction
markSIHelVM.HelMA.Automaton.Instruction
MArtificialHelVM.HelMA.Automaton.Instruction.CFInstruction
matchNextJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
matchPrevJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
Memory 
1 (Type/Class)HelVM.HelMA.Automaton.Combiner
2 (Data Constructor)HelVM.HelMA.Automaton.Combiner
memoryCMHelVM.HelMA.Automaton.Combiner
MemoryOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.MemoryOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.MemoryOptions
memoryOptionsHelVM.HelMA.Automaton.API.EvalParams
memoryProgramHelVM.HelMA.Automaton.Combiner
memoryProgramCounterHelVM.HelMA.Automaton.Combiner
memoryRAMHelVM.HelMA.Automaton.Combiner
MemorySameHelVM.HelMA.Automaton.Combiner
memoryStackHelVM.HelMA.Automaton.Combiner
mInputDecIHelVM.HelMA.Automaton.Instruction
mInputIHelVM.HelMA.Automaton.Instruction
MIOHelVM.HelMA.Automaton.Instruction.LSInstruction
MNaturalHelVM.HelMA.Automaton.Instruction.CFInstruction
MockIOHelVM.HelMA.Automaton.IO.MockIO
MockIODataHelVM.HelMA.Automaton.IO.MockIO
ModHelVM.HelMA.Automaton.Instruction.SInstruction
modIHelVM.HelMA.Automaton.Instruction
Move 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automaton.Instruction.SInstruction
moveHelVM.HelMA.Automaton.Combiner.ALU
moveHeadHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadLeftHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadRightHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveIIHelVM.HelMA.Automaton.Instruction
MoveLHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
MoveRHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
moveSafeHelVM.HelMA.Automata.WhiteSpace.OperandParsers
MulHelVM.HelMA.Automaton.Instruction.SInstruction
mulAddAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulAddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulDupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulDupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulIHelVM.HelMA.Automaton.Instruction
N 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
NEHelVM.HelMA.Automaton.Instruction.CFInstruction
NegHelVM.HelMA.Automaton.Instruction.SInstruction
negationIntegralHelVM.HelMA.Automata.WhiteSpace.OperandParsers
negIHelVM.HelMA.Automaton.Instruction
newCMHelVM.HelMA.Automaton.Combiner.CPU
newMemory 
1 (Function)HelVM.HelMA.Automata.SubLeq.Automaton
2 (Function)HelVM.HelMA.Automata.ETA.Automaton
3 (Function)HelVM.HelMA.Automaton.Combiner
newTapeHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
next 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Common.Symbol
2 (Function)HelVM.HelMA.Automaton.Loop
3 (Function)HelVM.HelMA.Automaton.Trampoline
nextICHelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
nextIMHelVM.HelMA.Automata.ETA.OperandParsers
nextInstHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
nextLabelHelVM.HelMA.Automata.ETA.Addressing
nextSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
NoHelVM.HelMA.Automaton.Types.DumpType
nonEmptyRunParserHelVM.HelMA.Automaton.ReadPExtra
NoOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
notCharHelVM.HelMA.Automaton.ReadPExtra
NumberHelVM.HelMA.Automata.LazyK.Lambda
OHelVM.HelMA.Automata.ETA.Token
OneHelVM.HelMA.Automata.Zot.Expression
oneOfHelVM.HelMA.Automaton.ReadPExtra
OperandIMParserHelVM.HelMA.Automata.ETA.OperandParsers
OperandParserHelVM.HelMA.Automata.ETA.OperandParsers
OperatorTypeHelVM.HelMA.Automaton.Instruction.SInstruction
OptimizationLevelHelVM.HelMA.Automaton.API.OptimizationLevel
optimizationLevelsHelVM.HelMA.Automaton.API.OptimizationLevel
optimize 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Optimizer
2 (Function)HelVM.HelMA.Automata.ETA.Optimizer
3 (Function)HelVM.HelMA.Automaton.Optimizer
optLevelHelVM.HelMA.Automaton.API.AutoOptions
optLevelAutoOptionsHelVM.HelMA.Automaton.API.AutomatonOptions
OriginalHelVM.HelMA.Automata.ETA.API.ETAImplType
OutHelVM.HelMA.Automata.Zot.Expression
Output 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
3 (Type/Class)HelVM.HelMA.Automaton.API.IOTypes
OutputCharHelVM.HelMA.Automaton.Instruction.IOInstruction
OutputDecHelVM.HelMA.Automaton.Instruction.IOInstruction
parse 
1 (Function)HelVM.HelMA.Automata.Zot.Parser
2 (Function)HelVM.HelMA.Automata.LazyK.Parser
3 (Function)HelVM.HelMA.Automata.FALSE.Parser
4 (Function)HelVM.HelMA.Automata.WhiteSpace.Parser
5 (Function)HelVM.HelMA.Automata.ETA.Parser
parseAsciiStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseAsListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsListSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseAsVectorSafeHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseDigitStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseExtraHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseFromTLHelVM.HelMA.Automata.WhiteSpace.Parser
parseIndexHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntegerHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseLabelHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNaturalHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNumberHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLLHelVM.HelMA.Automata.ETA.OperandParsers
ParserHelVM.HelMA.Automata.WhiteSpace.OperandParsers
ParserFromTokenListHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSafe 
1 (Function)HelVM.HelMA.Automata.FALSE.Parser
2 (Function)HelVM.HelMA.Automata.ETA.Parser
parseString'HelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSymbolHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
parseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
parseWithOptimizeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseWithOptimizeSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
peepholeOptimize1HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
peepholeOptimize2HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
peepholeOptimize3HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
PickHelVM.HelMA.Automaton.Instruction.SInstruction
pop1HelVM.HelMA.Automaton.Combiner.ALU
pop2HelVM.HelMA.Automaton.Combiner.ALU
pop2ForStackHelVM.HelMA.Automaton.Combiner
popAddressHelVM.HelMA.Automaton.Combiner.CPU
PrettyHelVM.HelMA.Automaton.Types.DumpType
prevHelVM.HelMA.Automata.BrainFuck.Common.Symbol
prevInstHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
prevSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
program 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
programCounter 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
push1HelVM.HelMA.Automaton.Combiner.ALU
push1ForStackHelVM.HelMA.Automaton.Combiner
push2HelVM.HelMA.Automaton.Combiner.ALU
RHelVM.HelMA.Automata.ETA.Token
RAMHelVM.HelMA.Automaton.Combiner.RAM
ram 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
ramAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
RAMTypeHelVM.HelMA.Automaton.Types.RAMType
ramType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
ramTypesHelVM.HelMA.Automaton.Types.RAMType
RAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
readExpressionListHelVM.HelMA.Automata.Zot.Expression
readInputHelVM.HelMA.Automata.LazyK.InputEncoder
readSymbolsHelVM.HelMA.Automata.SubLeq.Lexer
readTokens 
1 (Function)HelVM.HelMA.Automata.ETA.Lexer
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
readVisibleTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
readWhiteTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
realizeHelVM.HelMA.Automata.LazyK.Automaton
realizeWithTrueHelVM.HelMA.Automata.LazyK.Automaton
reduceHelVM.HelMA.Automata.LazyK.Reducer
reduceSourceHelVM.HelMA.Automata.LazyK.Evaluator
RefHelVM.HelMA.Automata.FALSE.Expression
removeCommentHelVM.HelMA.Automata.LazyK.Lexer
ReturnHelVM.HelMA.Automaton.Instruction.CFInstruction
returnIHelVM.HelMA.Automaton.Instruction
returnStackHelVM.HelMA.Automaton.Combiner.CPU
rotIHelVM.HelMA.Automaton.Instruction
run 
1 (Function)HelVM.HelMA.Automata.LazyK.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Automaton
3 (Function)HelVM.HelMA.Automata.ETA.Automaton
4 (Function)HelVM.HelMA.Automaton.Automaton
runALIHelVM.HelMA.Automaton.Combiner.ALU
runAndDumpLogsHelVM.HelMA.Automaton.Automaton
runCFIHelVM.HelMA.Automaton.Combiner.CPU
runExpressionListHelVM.HelMA.Automata.Zot.Evaluator
runInstructionHelVM.HelMA.Automaton.Combiner
runMockIOHelVM.HelMA.Automaton.IO.MockIO
runParserHelVM.HelMA.Automaton.ReadPExtra
runSALHelVM.HelMA.Automaton.Combiner.ALU
runSLIHelVM.HelMA.Automaton.Combiner.LSU
runWithTerminatorHelVM.HelMA.Automata.LazyK.Automaton
S 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
3 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
safeExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
safeExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
SafeStackHelVM.HelMA.Automaton.Combiner.ALU
salHelVM.HelMA.Automaton.Instruction
Same 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
SAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
selfAppHelVM.HelMA.Automata.LazyK.Constants
SeqRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SeqStackTypeHelVM.HelMA.Automaton.Types.StackType
SetHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
setSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
SFHelVM.HelMA.Automaton.Combiner
showExpressionListHelVM.HelMA.Automata.Zot.Expression
showsHelVM.HelMA.Automata.SubLeq.Lexer
Simple 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
simpleAutoParamsHelVM.HelMA.Automaton.API.AutoOptions
simpleEval 
1 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
3 (Function)HelVM.HelMA.Automata.ETA.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
SimpleInstructionHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
simpleInstructionsHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
SimpleParams 
1 (Type/Class)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Data Constructor)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParams 
1 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
sInputIHelVM.HelMA.Automaton.Instruction
SInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
SIOHelVM.HelMA.Automaton.Instruction.SInstruction
sioHelVM.HelMA.Automaton.Instruction
SlideHelVM.HelMA.Automaton.Instruction.SInstruction
slideHelVM.HelMA.Automaton.Combiner.ALU
slideIIHelVM.HelMA.Automaton.Instruction
SListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SListStackTypeHelVM.HelMA.Automaton.Types.StackType
SomeOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
SourceHelVM.HelMA.Automaton.API.IOTypes
source 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
sOutputDecIHelVM.HelMA.Automaton.Instruction
sOutputIHelVM.HelMA.Automaton.Instruction
splitAtHelVM.HelMA.Automaton.Combiner.ALU
splitByNHelVM.HelMA.Automata.WhiteSpace.OperandParsers
SPureHelVM.HelMA.Automaton.Instruction.SInstruction
SPureInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
SRAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
StackHelVM.HelMA.Automaton.Combiner.ALU
stack 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
stackAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
StackTypeHelVM.HelMA.Automaton.Types.StackType
stackType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
stackTypesHelVM.HelMA.Automaton.Types.StackType
startHelVM.HelMA.Automaton.Automaton
Store 
1 (Data Constructor)HelVM.HelMA.Automaton.Instruction.LSInstruction
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
store 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
storeCharHelVM.HelMA.Automaton.Combiner.RAM
storeIHelVM.HelMA.Automaton.Instruction
storeInputCharHelVM.HelMA.Automaton.Combiner.LSU
storeInputDecHelVM.HelMA.Automaton.Combiner.LSU
StrHelVM.HelMA.Automata.FALSE.Expression
stringToExpressionListHelVM.HelMA.Automata.Zot.Expression
SubHelVM.HelMA.Automaton.Instruction.SInstruction
subHelVM.HelMA.Automaton.Combiner.ALU
subAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
SubClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
subIHelVM.HelMA.Automaton.Instruction
SuccHelVM.HelMA.Automata.LazyK.Lambda
succChurchHelVM.HelMA.Automata.LazyK.InputEncoder
successorHelVM.HelMA.Automata.LazyK.InputEncoder
swapIHelVM.HelMA.Automaton.Instruction
Symbol 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Common.Symbol
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
4 (Type/Class)HelVM.HelMA.Automaton.Symbol
SymbolList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
Symbols 
1 (Type/Class)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Data Constructor)HelVM.HelMA.Automata.SubLeq.Lexer
T 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
TableHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
TableDHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
testMaybeLimit 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
TextLabelHelVM.HelMA.Automaton.Types.FormatType
toCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
toCPMHelVM.HelMA.Automaton.Combiner
toIntegerHelVM.HelMA.Automata.BrainFuck.Common.Symbol
Token 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
tokenize 
1 (Function)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Lexer
3 (Function)HelVM.HelMA.Automata.ETA.Lexer
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
tokenizeVisibleHelVM.HelMA.Automata.WhiteSpace.Lexer
tokenizeWhiteHelVM.HelMA.Automata.WhiteSpace.Lexer
TokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
TokensHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
TokenSListHelVM.HelMA.Automata.WhiteSpace.Token
tokenToWhiteTokenPairHelVM.HelMA.Automata.ETA.Token
TokenTypeHelVM.HelMA.Automaton.Types.TokenType
tokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
tokenTypesHelVM.HelMA.Automaton.Types.TokenType
TokenVectorHelVM.HelMA.Automata.ETA.Token
toLSMHelVM.HelMA.Automaton.Combiner
topInstructionHelVM.HelMA.Automaton.Combiner.CPU
TopOHelVM.HelMA.Automaton.Instruction.SInstruction
trampolineHelVM.HelMA.Automaton.Trampoline
trampolineMHelVM.HelMA.Automaton.Trampoline
trampolineMWithLimitHelVM.HelMA.Automaton.Trampoline
TreeInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionDListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
triAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
TriClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
trueHelVM.HelMA.Automata.LazyK.Constants
UglyHelVM.HelMA.Automaton.Types.DumpType
UnaryHelVM.HelMA.Automaton.Instruction.SInstruction
unaryHelVM.HelMA.Automaton.Instruction
UnaryOperationHelVM.HelMA.Automaton.Instruction.SInstruction
unWhiteToken 
1 (Function)HelVM.HelMA.Automata.ETA.Token
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Token
unWrapTokenListHelVM.HelMA.Automaton.WrapTokenList
updateFromCPMHelVM.HelMA.Automaton.Combiner
updateFromLSMHelVM.HelMA.Automaton.Combiner
updatePCHelVM.HelMA.Automata.ETA.OperandParsers
updateStackHelVM.HelMA.Automaton.Combiner
VarHelVM.HelMA.Automata.LazyK.Lambda
verySimpleAutoParamsHelVM.HelMA.Automaton.API.AutoOptions
VisibleTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
VisibleTokenTypeHelVM.HelMA.Automaton.Types.TokenType
wFlushHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsBSHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsTextHelVM.HelMA.Automaton.IO.BusinessIO
wGetDecAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetLineHelVM.HelMA.Automaton.IO.BusinessIO
While 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
3 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
WhiteToken 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
whiteTokenListToTokenList 
1 (Function)HelVM.HelMA.Automata.ETA.Token
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokens 
1 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Lexer
2 (Type/Class)HelVM.HelMA.Automata.ETA.Lexer
WhiteTokenTypeHelVM.HelMA.Automaton.Types.TokenType
withDefaultRamHelVM.HelMA.Automaton.API.AutomatonOptions
WithLimit 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
withLimitHelVM.HelMA.Automaton.Trampoline
wLogShowHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrLnHelVM.HelMA.Automaton.IO.BusinessIO
Word16TypeHelVM.HelMA.Automaton.Types.CellType
Word32TypeHelVM.HelMA.Automaton.Types.CellType
Word64TypeHelVM.HelMA.Automaton.Types.CellType
Word8TypeHelVM.HelMA.Automaton.Types.CellType
wPutAsCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutAsDecHelVM.HelMA.Automaton.IO.BusinessIO
wPutCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrLnHelVM.HelMA.Automaton.IO.BusinessIO
WrapTokenList 
1 (Type/Class)HelVM.HelMA.Automaton.WrapTokenList
2 (Data Constructor)HelVM.HelMA.Automaton.WrapTokenList
writeSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
ZeroHelVM.HelMA.Automata.Zot.Expression
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-B.html b/docs/reports/helma/doc-index-B.html index 8ddaf888a..aeda03fb0 100644 --- a/docs/reports/helma/doc-index-B.html +++ b/docs/reports/helma/doc-index-B.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - B)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - B)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - B

BAndHelVM.HelMA.Automaton.Instruction.SInstruction
BasicOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
bCombinatorHelVM.HelMA.Automata.LazyK.Constants
BEQHelVM.HelMA.Automaton.Instruction.SInstruction
bEzSIHelVM.HelMA.Automaton.Instruction
BFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
bfTypesHelVM.HelMA.Automata.BrainFuck.API.BFType
BGTHelVM.HelMA.Automaton.Instruction.SInstruction
bIIHelVM.HelMA.Automaton.Instruction
BinariesHelVM.HelMA.Automaton.Instruction.SInstruction
binariesHelVM.HelMA.Automaton.Instruction
BinaryHelVM.HelMA.Automaton.Instruction.SInstruction
binaryHelVM.HelMA.Automaton.Instruction
binaryInstructionHelVM.HelMA.Automaton.Combiner.ALU
binaryInstructionsHelVM.HelMA.Automaton.Combiner.ALU
BinaryLabelHelVM.HelMA.Automaton.Types.FormatType
BinaryOperationHelVM.HelMA.Automaton.Instruction.SInstruction
BIOHelVM.HelMA.Automaton.IO.BusinessIO
BitwiseHelVM.HelMA.Automaton.Instruction.SInstruction
blAndHelVM.HelMA.Automaton.Instruction.SInstruction
blEQHelVM.HelMA.Automaton.Instruction.SInstruction
blGTHelVM.HelMA.Automaton.Instruction.SInstruction
blOrHelVM.HelMA.Automaton.Instruction.SInstruction
bLtzSIHelVM.HelMA.Automaton.Instruction
blXorHelVM.HelMA.Automaton.Instruction.SInstruction
bNeIIHelVM.HelMA.Automaton.Instruction
bNeTIHelVM.HelMA.Automaton.Instruction
BNotHelVM.HelMA.Automaton.Instruction.SInstruction
BOrHelVM.HelMA.Automaton.Instruction.SInstruction
BranchHelVM.HelMA.Automaton.Instruction.CFInstruction
branchHelVM.HelMA.Automaton.Combiner.CPU
BranchTestHelVM.HelMA.Automaton.Instruction.CFInstruction
break 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
BusinessIOHelVM.HelMA.Automaton.IO.BusinessIO
BXorHelVM.HelMA.Automaton.Instruction.SInstruction
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-C.html b/docs/reports/helma/doc-index-C.html index 8424c7e2d..9d2286912 100644 --- a/docs/reports/helma/doc-index-C.html +++ b/docs/reports/helma/doc-index-C.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - C)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - C

calculateLoggedHelVM.HelMA.Automaton.IO.MockIO
calculateOpHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOpsHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOutputHelVM.HelMA.Automaton.IO.MockIO
CallHelVM.HelMA.Automaton.Instruction.CFInstruction
CDynamicHelVM.HelMA.Automaton.Instruction.CFInstruction
cellHelVM.HelMA.Automaton.API.MemoryOptions
cellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
CellTypeHelVM.HelMA.Automaton.Types.CellType
cellTypesHelVM.HelMA.Automaton.Types.CellType
CentralProcessingMemoryHelVM.HelMA.Automaton.Combiner.CPU
CFInstructionHelVM.HelMA.Automaton.Instruction.CFInstruction
charPush1HelVM.HelMA.Automaton.Combiner.ALU
charToExpressionHelVM.HelMA.Automata.Zot.Expression
charToExpressionListHelVM.HelMA.Automata.Zot.Expression
charToExpressionSafeHelVM.HelMA.Automata.Zot.Expression
charToSimpleInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Function)HelVM.HelMA.Automata.FALSE.Parser
churchHelVM.HelMA.Automata.LazyK.InputEncoder
clearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
CMHelVM.HelMA.Automaton.Combiner.CPU
CommentHelVM.HelMA.Automata.FALSE.Expression
compare0HelVM.HelMA.Automata.BrainFuck.Common.Symbol
compileFlagHelVM.HelMA.Automaton.API.AutoOptions
CondHelVM.HelMA.Automata.FALSE.Expression
ConsHelVM.HelMA.Automaton.Instruction.SInstruction
consHelVM.HelMA.Automata.LazyK.InputEncoder
consIHelVM.HelMA.Automaton.Instruction
constantFoldingHelVM.HelMA.Automaton.Optimizer
continueHelVM.HelMA.Automaton.Loop
ControlMemoryHelVM.HelMA.Automaton.Combiner.CPU
controlMemoryHelVM.HelMA.Automaton.Combiner.CPU
CopyHelVM.HelMA.Automaton.Instruction.SInstruction
copyHelVM.HelMA.Automaton.Combiner.ALU
CPMHelVM.HelMA.Automaton.Combiner.CPU
createMockIOHelVM.HelMA.Automaton.IO.MockIO
CStaticHelVM.HelMA.Automaton.Instruction.CFInstruction
cStaticIHelVM.HelMA.Automaton.Instruction
currentInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
3 (Function)HelVM.HelMA.Automaton.Combiner.CPU
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - C)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - C

calculateLoggedHelVM.HelMA.Automaton.IO.MockIO
calculateOpHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOpsHelVM.HelMA.Automaton.Instruction.SInstruction
calculateOutputHelVM.HelMA.Automaton.IO.MockIO
CallHelVM.HelMA.Automaton.Instruction.CFInstruction
callHelVM.HelMA.Automaton.Combiner.CPU
callSIHelVM.HelMA.Automaton.Instruction
cellHelVM.HelMA.Automaton.API.MemoryOptions
cellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
CellTypeHelVM.HelMA.Automaton.Types.CellType
cellTypesHelVM.HelMA.Automaton.Types.CellType
CentralProcessingMemoryHelVM.HelMA.Automaton.Combiner.CPU
CentralProcessingStepHelVM.HelMA.Automaton.Combiner.CPU
cfiHelVM.HelMA.Automaton.Instruction
CFInstructionHelVM.HelMA.Automaton.Instruction.CFInstruction
cfJumpIHelVM.HelMA.Automaton.Instruction.CFInstruction
cfsHelVM.HelMA.Automaton.Instruction
cftHelVM.HelMA.Automaton.Instruction
charPush1HelVM.HelMA.Automaton.Combiner.ALU
charToExpressionHelVM.HelMA.Automata.Zot.Expression
charToExpressionListHelVM.HelMA.Automata.Zot.Expression
charToExpressionSafeHelVM.HelMA.Automata.Zot.Expression
charToSimpleInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Function)HelVM.HelMA.Automata.FALSE.Parser
checkArtificialMarkHelVM.HelMA.Automaton.Instruction
checkNaturalMarkHelVM.HelMA.Automaton.Instruction
churchHelVM.HelMA.Automata.LazyK.InputEncoder
clearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
CMHelVM.HelMA.Automaton.Combiner.CPU
CommentHelVM.HelMA.Automata.FALSE.Expression
compare0HelVM.HelMA.Automata.BrainFuck.Common.Symbol
compileFlagHelVM.HelMA.Automaton.API.AutoOptions
CondHelVM.HelMA.Automata.FALSE.Expression
ConsHelVM.HelMA.Automaton.Instruction.SInstruction
consHelVM.HelMA.Automata.LazyK.InputEncoder
consIHelVM.HelMA.Automaton.Instruction
constantFoldingHelVM.HelMA.Automaton.Optimizer.ConstantFoldingOptimizer, HelVM.HelMA.Automaton.Optimizer
continue 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
ControlMemoryHelVM.HelMA.Automaton.Combiner.CPU
controlMemoryHelVM.HelMA.Automaton.Combiner.CPU
CopyHelVM.HelMA.Automaton.Instruction.SInstruction
copyHelVM.HelMA.Automaton.Combiner.ALU
copyIIHelVM.HelMA.Automaton.Instruction
copyTIHelVM.HelMA.Automaton.Instruction
CPMHelVM.HelMA.Automaton.Combiner.CPU
cpmPop1HelVM.HelMA.Automaton.Combiner.CPU
cpmProgramHelVM.HelMA.Automaton.Combiner.CPU
createMockIOHelVM.HelMA.Automaton.IO.MockIO
currentInstruction 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
3 (Function)HelVM.HelMA.Automaton.Combiner.CPU
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-D.html b/docs/reports/helma/doc-index-D.html index 609b9814d..05f09c8ac 100644 --- a/docs/reports/helma/doc-index-D.html +++ b/docs/reports/helma/doc-index-D.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - D)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - D

dCopyHelVM.HelMA.Automaton.Instruction
DecHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
defHelVM.HelMA.Automata.BrainFuck.Common.Symbol
defaultBFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
defaultCellTypeHelVM.HelMA.Automaton.Types.CellType
defaultDumpTypeHelVM.HelMA.Automaton.Types.DumpType
defaultETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
defaultFormatTypeHelVM.HelMA.Automaton.Types.FormatType
defaultIntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
defaultOptimizationLevelHelVM.HelMA.Automaton.API.OptimizationLevel
defaultRAMTypeHelVM.HelMA.Automaton.Types.RAMType
defaultStackTypeHelVM.HelMA.Automaton.Types.StackType
defaultTokenTypeHelVM.HelMA.Automaton.Types.TokenType
digitHelVM.HelMA.Automaton.ReadPExtra
DiscardHelVM.HelMA.Automaton.Instruction.SInstruction
discardHelVM.HelMA.Automaton.Combiner.ALU
discardIHelVM.HelMA.Automaton.Instruction
DivHelVM.HelMA.Automaton.Instruction.SInstruction
divIHelVM.HelMA.Automaton.Instruction
divModHelVM.HelMA.Automaton.Combiner.ALU
divModIHelVM.HelMA.Automaton.Instruction
dJumpIHelVM.HelMA.Automaton.Instruction.CFInstruction
DMarkHelVM.HelMA.Automaton.Instruction.CFInstruction
dMarkIHelVM.HelMA.Automaton.Instruction
doBinaryHelVM.HelMA.Automaton.Instruction.SInstruction
doInputChar2HelVM.HelMA.Automaton.Combiner.ALU
doInputDec2HelVM.HelMA.Automaton.Combiner.ALU
doOutputChar2HelVM.HelMA.Automaton.Combiner.ALU
dropHelVM.HelMA.Automaton.Combiner.ALU
dumpHelVM.HelMA.Automaton.Types.DumpType
dumpAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
DumpTypeHelVM.HelMA.Automaton.Types.DumpType
dumpTypeHelVM.HelMA.Automaton.API.AutoOptions
dumpTypesHelVM.HelMA.Automaton.Types.DumpType
dupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
DupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
dupIHelVM.HelMA.Automaton.Instruction
dynamicBranchHelVM.HelMA.Automaton.Combiner.CPU
dynamicCallHelVM.HelMA.Automaton.Combiner.CPU
dynamicJumpHelVM.HelMA.Automaton.Combiner.CPU
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - D)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - D

DecHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
defHelVM.HelMA.Automata.BrainFuck.Common.Symbol
defaultBFTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
defaultCellTypeHelVM.HelMA.Automaton.Types.CellType
defaultDumpTypeHelVM.HelMA.Automaton.Types.DumpType
defaultETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
defaultFormatTypeHelVM.HelMA.Automaton.Types.FormatType
defaultIntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
defaultOptimizationLevelHelVM.HelMA.Automaton.API.OptimizationLevel
defaultRAMTypeHelVM.HelMA.Automaton.Types.RAMType
defaultStackTypeHelVM.HelMA.Automaton.Types.StackType
defaultTokenTypeHelVM.HelMA.Automaton.Types.TokenType
digitHelVM.HelMA.Automaton.ReadPExtra
DiscardHelVM.HelMA.Automaton.Instruction.SInstruction
discardHelVM.HelMA.Automaton.Combiner.ALU
discardIHelVM.HelMA.Automaton.Instruction
DivHelVM.HelMA.Automaton.Instruction.SInstruction
divIHelVM.HelMA.Automaton.Instruction
divModHelVM.HelMA.Automaton.Combiner.ALU
divModIHelVM.HelMA.Automaton.Instruction
doBinaryHelVM.HelMA.Automaton.Instruction.SInstruction
doInputChar2HelVM.HelMA.Automaton.Combiner.ALU
doInputDec2HelVM.HelMA.Automaton.Combiner.ALU
doJumpHelVM.HelMA.Automaton.Combiner.CPU
doOutputChar2HelVM.HelMA.Automaton.Combiner.ALU
dropHelVM.HelMA.Automaton.Combiner.ALU
dumpHelVM.HelMA.Automaton.Types.DumpType
dumpAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
DumpTypeHelVM.HelMA.Automaton.Types.DumpType
dumpTypeHelVM.HelMA.Automaton.API.AutoOptions
dumpTypesHelVM.HelMA.Automaton.Types.DumpType
dupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
DupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
dupIHelVM.HelMA.Automaton.Instruction
DynamicLabelHelVM.HelMA.Automaton.Combiner.CPU
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-E.html b/docs/reports/helma/doc-index-E.html index 4b24f7415..74ce6bb8d 100644 --- a/docs/reports/helma/doc-index-E.html +++ b/docs/reports/helma/doc-index-E.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - E)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - E

EHelVM.HelMA.Automata.ETA.Token
ElementHelVM.HelMA.Automaton.IO.BusinessIO
encodeInputHelVM.HelMA.Automata.LazyK.InputEncoder
EndHelVM.HelMA.Automaton.Instruction
end 
1 (Function)HelVM.HelMA.Automata.LazyK.InputEncoder
2 (Function)HelVM.HelMA.Automaton.Combiner
ETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
etaImplTypesHelVM.HelMA.Automata.ETA.API.ETAImplType
eval 
1 (Function)HelVM.HelMA.Automata.Rev.Evaluator
2 (Function)HelVM.HelMA.Automata.Cat.Evaluator
3 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
EvalParams 
1 (Type/Class)HelVM.HelMA.Automaton.API.EvalParams
2 (Data Constructor)HelVM.HelMA.Automaton.API.EvalParams
evalParams 
1 (Function)HelVM.HelMA.Automata.Zot.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
3 (Function)HelVM.HelMA.Automata.Rev.Evaluator
4 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
5 (Function)HelVM.HelMA.Automata.Cat.Evaluator
6 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
7 (Function)HelVM.HelMA.Automata.ETA.Evaluator
8 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalSource 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator
3 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator
5 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalWithFormatHelVM.HelMA.Automata.Zot.Automaton
ExecHelVM.HelMA.Automata.FALSE.Expression
execMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
execMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
Expression 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Data Constructor)HelVM.HelMA.Automata.Zot.Expression
3 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
ExpressionDListHelVM.HelMA.Automata.Zot.Expression
ExpressionList 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
extractPureIALHelVM.HelMA.Automaton.Instruction
EZHelVM.HelMA.Automaton.Instruction.CFInstruction
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - E)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - E

EHelVM.HelMA.Automata.ETA.Token
EitherWithLimit 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
ElementHelVM.HelMA.Automaton.IO.BusinessIO
encodeInputHelVM.HelMA.Automata.LazyK.InputEncoder
EndHelVM.HelMA.Automaton.Instruction
end 
1 (Function)HelVM.HelMA.Automata.LazyK.InputEncoder
2 (Function)HelVM.HelMA.Automaton.Combiner
ETAImplTypeHelVM.HelMA.Automata.ETA.API.ETAImplType
etaImplTypesHelVM.HelMA.Automata.ETA.API.ETAImplType
eval 
1 (Function)HelVM.HelMA.Automata.Rev.Evaluator
2 (Function)HelVM.HelMA.Automata.Cat.Evaluator
3 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
EvalParams 
1 (Type/Class)HelVM.HelMA.Automaton.API.EvalParams
2 (Data Constructor)HelVM.HelMA.Automaton.API.EvalParams
evalParams 
1 (Function)HelVM.HelMA.Automata.Zot.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
3 (Function)HelVM.HelMA.Automata.Rev.Evaluator
4 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
5 (Function)HelVM.HelMA.Automata.Cat.Evaluator
6 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
7 (Function)HelVM.HelMA.Automata.ETA.Evaluator
8 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalSource 
1 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Evaluator
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Evaluator
3 (Function)HelVM.HelMA.Automata.LazyK.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Evaluator
5 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
evalWithFormatHelVM.HelMA.Automata.Zot.Automaton
ExecHelVM.HelMA.Automata.FALSE.Expression
execMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
execMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
Expression 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Data Constructor)HelVM.HelMA.Automata.Zot.Expression
3 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
ExpressionDListHelVM.HelMA.Automata.Zot.Expression
ExpressionList 
1 (Type/Class)HelVM.HelMA.Automata.Zot.Expression
2 (Type/Class)HelVM.HelMA.Automata.FALSE.Expression
EZHelVM.HelMA.Automaton.Instruction.CFInstruction
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-F.html b/docs/reports/helma/doc-index-F.html index 1070f064f..04a9ae925 100644 --- a/docs/reports/helma/doc-index-F.html +++ b/docs/reports/helma/doc-index-F.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - F)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - F

FHelVM.HelMA.Automaton.Combiner
falseHelVM.HelMA.Automata.LazyK.Constants
FastHelVM.HelMA.Automata.ETA.API.ETAImplType
FastInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
FetchHelVM.HelMA.Automata.FALSE.Expression
filterCommentsHelVM.HelMA.Automata.LazyK.Lexer
findAddressHelVM.HelMA.Automata.ETA.Addressing
findAddressForDynamicLabelHelVM.HelMA.Automaton.Combiner.CPU
findAddressForStaticLabelHelVM.HelMA.Automaton.Combiner.CPU
FlatInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
flipParseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
flipParseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
flippedApplyHelVM.HelMA.Automata.LazyK.Reducer
flippedNewMemoryHelVM.HelMA.Automaton.Combiner
flippedStoreCharHelVM.HelMA.Automaton.Combiner.RAM
flipPush1HelVM.HelMA.Automaton.Combiner.ALU
FlushHelVM.HelMA.Automata.FALSE.Expression
flushHelVM.HelMA.Automaton.IO.BusinessIO
foldlLambdaHelVM.HelMA.Automata.LazyK.Lambda
FormatTypeHelVM.HelMA.Automaton.Types.FormatType
formatType 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
formatTypesHelVM.HelMA.Automaton.Types.FormatType
FreeIOHelVM.HelMA.Automaton.IO.FreeIO
fromBoolHelVM.HelMA.Automaton.API.OptimizationLevel
fromCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
fromListHelVM.HelMA.Automaton.Combiner.RAM
fromNaturalHelVM.HelMA.Automaton.API.OptimizationLevel
FullTapeHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - F)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - F

FHelVM.HelMA.Automaton.Combiner
falseHelVM.HelMA.Automata.LazyK.Constants
FastHelVM.HelMA.Automata.ETA.API.ETAImplType
FastInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
FastTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
FetchHelVM.HelMA.Automata.FALSE.Expression
filterCommentsHelVM.HelMA.Automata.LazyK.Lexer
findAddressHelVM.HelMA.Automata.ETA.Addressing
findAddressForArtificialLabelHelVM.HelMA.Automaton.Combiner.CPU
findAddressForNaturalLabelHelVM.HelMA.Automaton.Combiner.CPU
FlatInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
FlatTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
flipParseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
flipParseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
flippedApplyHelVM.HelMA.Automata.LazyK.Reducer
flippedNewMemoryHelVM.HelMA.Automaton.Combiner
flippedStoreCharHelVM.HelMA.Automaton.Combiner.RAM
flipPush1HelVM.HelMA.Automaton.Combiner.ALU
FlushHelVM.HelMA.Automata.FALSE.Expression
flushHelVM.HelMA.Automaton.IO.BusinessIO
foldlLambdaHelVM.HelMA.Automata.LazyK.Lambda
FormatTypeHelVM.HelMA.Automaton.Types.FormatType
formatType 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
formatTypesHelVM.HelMA.Automaton.Types.FormatType
FreeIOHelVM.HelMA.Automaton.IO.FreeIO
fromBoolHelVM.HelMA.Automaton.API.OptimizationLevel
fromCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
fromListHelVM.HelMA.Automaton.Combiner.RAM
fromNaturalHelVM.HelMA.Automaton.API.OptimizationLevel
FullTapeHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-G.html b/docs/reports/helma/doc-index-G.html index 0bf7bcb29..697d9d536 100644 --- a/docs/reports/helma/doc-index-G.html +++ b/docs/reports/helma/doc-index-G.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - G)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - G)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-H.html b/docs/reports/helma/doc-index-H.html index 5985a6408..084799903 100644 --- a/docs/reports/helma/doc-index-H.html +++ b/docs/reports/helma/doc-index-H.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - H)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - H)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-I.html b/docs/reports/helma/doc-index-I.html index 488d0b3a3..542a767e1 100644 --- a/docs/reports/helma/doc-index-I.html +++ b/docs/reports/helma/doc-index-I.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - I)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - I

I 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
IALHelVM.HelMA.Automaton.Instruction
ICFHelVM.HelMA.Automaton.Instruction
ILSHelVM.HelMA.Automaton.Instruction
IM 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Data Constructor)HelVM.HelMA.Automata.ETA.OperandParsers
implementedOptimizationLevelsHelVM.HelMA.Automaton.API.OptimizationLevel
implTypeHelVM.HelMA.Automata.ETA.SimpleParams
Inc 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
incHelVM.HelMA.Automata.BrainFuck.Common.Symbol
incrementICHelVM.HelMA.Automaton.Combiner
incrementPCHelVM.HelMA.Automaton.Combiner.CPU
incSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
IndexHelVM.HelMA.Automaton.Symbol
Input 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
3 (Type/Class)HelVM.HelMA.Automaton.API.IOTypes
InputCharHelVM.HelMA.Automaton.Instruction.IOInstruction
InputDecHelVM.HelMA.Automaton.Instruction.IOInstruction
InstHelVM.HelMA.Automata.FALSE.Expression
InstructionHelVM.HelMA.Automaton.Instruction
InstructionAddress 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
InstructionCounter 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
InstructionListHelVM.HelMA.Automaton.Instruction
InstructionMemory 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.OperandParsers
InstructionStackHelVM.HelMA.Automaton.Combiner.CPU
InstructionVectorHelVM.HelMA.Automaton.Instruction
Int16Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int32Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int64Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int8Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
intCellHelVM.HelMA.Automaton.API.MemoryOptions
intCellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
IntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
intCellTypesHelVM.HelMA.Automaton.Types.IntCellType
IntegerTypeHelVM.HelMA.Automaton.Types.IntCellType
InteractHelVM.HelMA.Automaton.API.IOTypes
interpretFreeIOToBusinessIOHelVM.HelMA.Automaton.IO.FreeIO
ioExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
ioExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
IOInstructionHelVM.HelMA.Automaton.Instruction.IOInstruction
ISHelVM.HelMA.Automaton.Combiner.CPU
isAlphaAsciiHelVM.HelMA.Automaton.ReadPExtra
isDMarkHelVM.HelMA.Automaton.Instruction
isHashHelVM.HelMA.Automata.LazyK.Lexer
isICFHelVM.HelMA.Automaton.Instruction
isJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
isMarkHelVM.HelMA.Automaton.Instruction
isNotJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
isPureIALHelVM.HelMA.Automaton.Instruction
isSMarkHelVM.HelMA.Automaton.Instruction
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - I)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - I

I 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
IALHelVM.HelMA.Automaton.Instruction
ICFHelVM.HelMA.Automaton.Instruction
ILSHelVM.HelMA.Automaton.Instruction
IM 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Data Constructor)HelVM.HelMA.Automata.ETA.OperandParsers
immediateInstructionHelVM.HelMA.Automaton.Combiner.CPU
ImmediateOHelVM.HelMA.Automaton.Instruction.SInstruction
implementedOptimizationLevelsHelVM.HelMA.Automaton.API.OptimizationLevel
implTypeHelVM.HelMA.Automata.ETA.SimpleParams
Inc 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
incHelVM.HelMA.Automata.BrainFuck.Common.Symbol
incrementICHelVM.HelMA.Automaton.Combiner
incrementPCHelVM.HelMA.Automaton.Combiner.CPU
incSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
Index 
1 (Type/Class)HelVM.HelMA.Automaton.Instruction.SInstruction
2 (Type/Class)HelVM.HelMA.Automaton.Symbol
IndexedHelVM.HelMA.Automaton.Instruction.SInstruction
IndexedOperationHelVM.HelMA.Automaton.Instruction.SInstruction
IndexOperandHelVM.HelMA.Automaton.Instruction.SInstruction
Input 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
3 (Type/Class)HelVM.HelMA.Automaton.API.IOTypes
InputCharHelVM.HelMA.Automaton.Instruction.IOInstruction
InputDecHelVM.HelMA.Automaton.Instruction.IOInstruction
InstHelVM.HelMA.Automata.FALSE.Expression
InstructionHelVM.HelMA.Automaton.Instruction
InstructionAddress 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
InstructionCounter 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Combiner.CPU
InstructionListHelVM.HelMA.Automaton.Instruction
InstructionMemory 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.InstructionUnit
2 (Type/Class)HelVM.HelMA.Automata.ETA.OperandParsers
InstructionStackHelVM.HelMA.Automaton.Combiner.CPU
InstructionVectorHelVM.HelMA.Automaton.Instruction
Int16Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int32Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int64Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
Int8Type 
1 (Data Constructor)HelVM.HelMA.Automaton.Types.CellType
2 (Data Constructor)HelVM.HelMA.Automaton.Types.IntCellType
intCellHelVM.HelMA.Automaton.API.MemoryOptions
intCellAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
IntCellTypeHelVM.HelMA.Automaton.Types.IntCellType
intCellTypesHelVM.HelMA.Automaton.Types.IntCellType
IntegerTypeHelVM.HelMA.Automaton.Types.IntCellType
InteractHelVM.HelMA.Automaton.API.IOTypes
interpretFreeIOToBusinessIOHelVM.HelMA.Automaton.IO.FreeIO
ioExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
ioExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
IOInstructionHelVM.HelMA.Automaton.Instruction.IOInstruction
ISHelVM.HelMA.Automaton.Combiner.CPU
isAlphaAsciiHelVM.HelMA.Automaton.ReadPExtra
isHashHelVM.HelMA.Automata.LazyK.Lexer
isICFHelVM.HelMA.Automaton.Instruction
isJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
isNotJumpHelVM.HelMA.Automaton.Instruction.CFInstruction
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-J.html b/docs/reports/helma/doc-index-J.html index cbcdcc11b..c0ccd2ee0 100644 --- a/docs/reports/helma/doc-index-J.html +++ b/docs/reports/helma/doc-index-J.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - J)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - J)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-K.html b/docs/reports/helma/doc-index-K.html index 6b70b6a76..9686a0e4c 100644 --- a/docs/reports/helma/doc-index-K.html +++ b/docs/reports/helma/doc-index-K.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - K)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - K)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-L.html b/docs/reports/helma/doc-index-L.html index 094081a45..958e01c43 100644 --- a/docs/reports/helma/doc-index-L.html +++ b/docs/reports/helma/doc-index-L.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - L)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - L

LabelHelVM.HelMA.Automaton.Instruction.CFInstruction
LabelInstructionHelVM.HelMA.Automaton.Instruction.CFInstruction
Lambda 
1 (Type/Class)HelVM.HelMA.Automata.LazyK.Lambda
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
LAndHelVM.HelMA.Automaton.Instruction.SInstruction
LEQHelVM.HelMA.Automaton.Instruction.SInstruction
letterAsciiHelVM.HelMA.Automaton.ReadPExtra
LGTHelVM.HelMA.Automaton.Instruction.SInstruction
limitHelVM.HelMA.Automaton.API.AutoOptions
LimitMaybeHelVM.HelMA.Automaton.Loop
ListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
listRunParserHelVM.HelMA.Automaton.ReadPExtra
ListStackTypeHelVM.HelMA.Automaton.Types.StackType
LNotHelVM.HelMA.Automaton.Instruction.SInstruction
LoadHelVM.HelMA.Automaton.Instruction.LSInstruction
load 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
loadIHelVM.HelMA.Automaton.Instruction
loadOutputCharHelVM.HelMA.Automaton.Combiner.LSU
loadOutputDecHelVM.HelMA.Automaton.Combiner.LSU
LoadStoreMemoryHelVM.HelMA.Automaton.Combiner.LSU
logDumpHelVM.HelMA.Automaton.Types.DumpType
LogicalHelVM.HelMA.Automaton.Instruction.SInstruction
logInputHelVM.HelMA.Automaton.IO.FreeIO
logOutputHelVM.HelMA.Automaton.IO.FreeIO
logStrHelVM.HelMA.Automaton.IO.BusinessIO
loopMWithLimitHelVM.HelMA.Automaton.Loop
LOrHelVM.HelMA.Automaton.Instruction.SInstruction
LSInstructionHelVM.HelMA.Automaton.Instruction.LSInstruction
LSMHelVM.HelMA.Automaton.Combiner.LSU
LSUHelVM.HelMA.Automaton.Combiner.LSU
LTZHelVM.HelMA.Automaton.Instruction.CFInstruction
LXorHelVM.HelMA.Automaton.Instruction.SInstruction
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - L)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - L

LabelHelVM.HelMA.Automaton.Instruction.CFInstruction
LabeledHelVM.HelMA.Automaton.Instruction.CFInstruction
labeledHelVM.HelMA.Automaton.Combiner.CPU
LabeledOperationHelVM.HelMA.Automaton.Instruction.CFInstruction
LabelOperandHelVM.HelMA.Automaton.Instruction.CFInstruction
Lambda 
1 (Type/Class)HelVM.HelMA.Automata.LazyK.Lambda
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
LAndHelVM.HelMA.Automaton.Instruction.SInstruction
LArtificialHelVM.HelMA.Automaton.Instruction.CFInstruction
LEQHelVM.HelMA.Automaton.Instruction.SInstruction
letterAsciiHelVM.HelMA.Automaton.ReadPExtra
LGTHelVM.HelMA.Automaton.Instruction.SInstruction
limitHelVM.HelMA.Automaton.API.AutoOptions
LimitMaybe 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
LImmediateHelVM.HelMA.Automaton.Instruction.CFInstruction
ListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
listRunParserHelVM.HelMA.Automaton.ReadPExtra
ListStackTypeHelVM.HelMA.Automaton.Types.StackType
LNotHelVM.HelMA.Automaton.Instruction.SInstruction
LoadHelVM.HelMA.Automaton.Instruction.LSInstruction
load 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
loadIHelVM.HelMA.Automaton.Instruction
loadOutputCharHelVM.HelMA.Automaton.Combiner.LSU
loadOutputDecHelVM.HelMA.Automaton.Combiner.LSU
LoadStoreMemoryHelVM.HelMA.Automaton.Combiner.LSU
logDumpHelVM.HelMA.Automaton.Types.DumpType
LogicalHelVM.HelMA.Automaton.Instruction.SInstruction
logInputHelVM.HelMA.Automaton.IO.FreeIO
logOutputHelVM.HelMA.Automaton.IO.FreeIO
logStrHelVM.HelMA.Automaton.IO.BusinessIO
loopMWithLimitHelVM.HelMA.Automaton.Loop
LOrHelVM.HelMA.Automaton.Instruction.SInstruction
LSInstructionHelVM.HelMA.Automaton.Instruction.LSInstruction
LSMHelVM.HelMA.Automaton.Combiner.LSU
LSUHelVM.HelMA.Automaton.Combiner.LSU
LTopHelVM.HelMA.Automaton.Instruction.CFInstruction
LTZHelVM.HelMA.Automaton.Instruction.CFInstruction
LXorHelVM.HelMA.Automaton.Instruction.SInstruction
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-M.html b/docs/reports/helma/doc-index-M.html index 9712f26cc..6bbb10e4b 100644 --- a/docs/reports/helma/doc-index-M.html +++ b/docs/reports/helma/doc-index-M.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - M)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - M

ManipulationInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
manyNonEmptyHelVM.HelMA.Automaton.ReadPExtra
MapListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
matchNextJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
matchPrevJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
Memory 
1 (Type/Class)HelVM.HelMA.Automaton.Combiner
2 (Data Constructor)HelVM.HelMA.Automaton.Combiner
memoryCMHelVM.HelMA.Automaton.Combiner
MemoryOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.MemoryOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.MemoryOptions
memoryOptionsHelVM.HelMA.Automaton.API.EvalParams
memoryProgramHelVM.HelMA.Automaton.Combiner
memoryProgramCounterHelVM.HelMA.Automaton.Combiner
memoryRAMHelVM.HelMA.Automaton.Combiner
MemorySameHelVM.HelMA.Automaton.Combiner
memoryStackHelVM.HelMA.Automaton.Combiner
mInputDecIHelVM.HelMA.Automaton.Instruction
mInputIHelVM.HelMA.Automaton.Instruction
MIOHelVM.HelMA.Automaton.Instruction.LSInstruction
MockIOHelVM.HelMA.Automaton.IO.MockIO
MockIODataHelVM.HelMA.Automaton.IO.MockIO
ModHelVM.HelMA.Automaton.Instruction.SInstruction
modIHelVM.HelMA.Automaton.Instruction
Move 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automaton.Instruction.SInstruction
moveHelVM.HelMA.Automaton.Combiner.ALU
moveHeadHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadLeftHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadRightHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MoveLHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
MoveRHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
moveSafeHelVM.HelMA.Automata.WhiteSpace.OperandParsers
MulHelVM.HelMA.Automaton.Instruction.SInstruction
mulAddAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulAddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulDupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulDupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulIHelVM.HelMA.Automaton.Instruction
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - M)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - M

manipulationIIHelVM.HelMA.Automaton.Instruction
manyNonEmptyHelVM.HelMA.Automaton.ReadPExtra
MapListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
Mark 
1 (Type/Class)HelVM.HelMA.Automaton.Instruction.CFInstruction
2 (Data Constructor)HelVM.HelMA.Automaton.Instruction.CFInstruction
markNIHelVM.HelMA.Automaton.Instruction
markSIHelVM.HelMA.Automaton.Instruction
MArtificialHelVM.HelMA.Automaton.Instruction.CFInstruction
matchNextJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
matchPrevJmpHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
Memory 
1 (Type/Class)HelVM.HelMA.Automaton.Combiner
2 (Data Constructor)HelVM.HelMA.Automaton.Combiner
memoryCMHelVM.HelMA.Automaton.Combiner
MemoryOptions 
1 (Type/Class)HelVM.HelMA.Automaton.API.MemoryOptions
2 (Data Constructor)HelVM.HelMA.Automaton.API.MemoryOptions
memoryOptionsHelVM.HelMA.Automaton.API.EvalParams
memoryProgramHelVM.HelMA.Automaton.Combiner
memoryProgramCounterHelVM.HelMA.Automaton.Combiner
memoryRAMHelVM.HelMA.Automaton.Combiner
MemorySameHelVM.HelMA.Automaton.Combiner
memoryStackHelVM.HelMA.Automaton.Combiner
mInputDecIHelVM.HelMA.Automaton.Instruction
mInputIHelVM.HelMA.Automaton.Instruction
MIOHelVM.HelMA.Automaton.Instruction.LSInstruction
MNaturalHelVM.HelMA.Automaton.Instruction.CFInstruction
MockIOHelVM.HelMA.Automaton.IO.MockIO
MockIODataHelVM.HelMA.Automaton.IO.MockIO
ModHelVM.HelMA.Automaton.Instruction.SInstruction
modIHelVM.HelMA.Automaton.Instruction
Move 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automaton.Instruction.SInstruction
moveHelVM.HelMA.Automaton.Combiner.ALU
moveHeadHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadLeftHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveHeadRightHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
moveIIHelVM.HelMA.Automaton.Instruction
MoveLHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
MoveRHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
moveSafeHelVM.HelMA.Automata.WhiteSpace.OperandParsers
MulHelVM.HelMA.Automaton.Instruction.SInstruction
mulAddAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulAddClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulDupAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
MulDupClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
mulIHelVM.HelMA.Automaton.Instruction
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-N.html b/docs/reports/helma/doc-index-N.html index f4ff642f8..79b7df6a5 100644 --- a/docs/reports/helma/doc-index-N.html +++ b/docs/reports/helma/doc-index-N.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - N)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - N)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-O.html b/docs/reports/helma/doc-index-O.html index 57cf68a86..ae6b4282f 100644 --- a/docs/reports/helma/doc-index-O.html +++ b/docs/reports/helma/doc-index-O.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - O)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - O)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-P.html b/docs/reports/helma/doc-index-P.html index 552a2d1d4..2de53ba08 100644 --- a/docs/reports/helma/doc-index-P.html +++ b/docs/reports/helma/doc-index-P.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - P)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - P

parse 
1 (Function)HelVM.HelMA.Automata.Zot.Parser
2 (Function)HelVM.HelMA.Automata.LazyK.Parser
3 (Function)HelVM.HelMA.Automata.FALSE.Parser
4 (Function)HelVM.HelMA.Automata.WhiteSpace.Parser
5 (Function)HelVM.HelMA.Automata.ETA.Parser
parseAsciiStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseAsListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsListSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseAsVectorSafeHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseDigitStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseExtraHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseFromTLHelVM.HelMA.Automata.WhiteSpace.Parser
parseIndexHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntegerHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseLabelHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNaturalHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNumberHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLLHelVM.HelMA.Automata.ETA.OperandParsers
ParserHelVM.HelMA.Automata.WhiteSpace.OperandParsers
ParserFromTokenListHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSafe 
1 (Function)HelVM.HelMA.Automata.FALSE.Parser
2 (Function)HelVM.HelMA.Automata.ETA.Parser
parseString'HelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSymbolHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
parseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
parseWithOptimizeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseWithOptimizeSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
PickHelVM.HelMA.Automaton.Instruction.SInstruction
pop1HelVM.HelMA.Automaton.Combiner.ALU
pop2HelVM.HelMA.Automaton.Combiner.ALU
pop2ForStackHelVM.HelMA.Automaton.Combiner
popAddressHelVM.HelMA.Automaton.Combiner.CPU
PrettyHelVM.HelMA.Automaton.Types.DumpType
prevHelVM.HelMA.Automata.BrainFuck.Common.Symbol
prevInstHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
prevSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
program 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
programCounter 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
push1HelVM.HelMA.Automaton.Combiner.ALU
push1ForStackHelVM.HelMA.Automaton.Combiner
push2HelVM.HelMA.Automaton.Combiner.ALU
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - P)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - P

parse 
1 (Function)HelVM.HelMA.Automata.Zot.Parser
2 (Function)HelVM.HelMA.Automata.LazyK.Parser
3 (Function)HelVM.HelMA.Automata.FALSE.Parser
4 (Function)HelVM.HelMA.Automata.WhiteSpace.Parser
5 (Function)HelVM.HelMA.Automata.ETA.Parser
parseAsciiStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseAsListHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsListSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseAsVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseAsVectorSafeHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Parser
parseDigitStringHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseExtraHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseFromTLHelVM.HelMA.Automata.WhiteSpace.Parser
parseIndexHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseIntegerHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseLabelHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNaturalHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseNumberHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLHelVM.HelMA.Automata.ETA.OperandParsers
parseNumberFromTLLHelVM.HelMA.Automata.ETA.OperandParsers
ParserHelVM.HelMA.Automata.WhiteSpace.OperandParsers
ParserFromTokenListHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSafe 
1 (Function)HelVM.HelMA.Automata.FALSE.Parser
2 (Function)HelVM.HelMA.Automata.ETA.Parser
parseString'HelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseSymbolHelVM.HelMA.Automata.WhiteSpace.OperandParsers
parseVisibleHelVM.HelMA.Automata.WhiteSpace.Parser
parseWhiteHelVM.HelMA.Automata.WhiteSpace.Parser
parseWithOptimizeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
parseWithOptimizeSafeHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Parser
peepholeOptimize1HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
peepholeOptimize2HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
peepholeOptimize3HelVM.HelMA.Automaton.Optimizer.PeepholeOptimizer
PickHelVM.HelMA.Automaton.Instruction.SInstruction
pop1HelVM.HelMA.Automaton.Combiner.ALU
pop2HelVM.HelMA.Automaton.Combiner.ALU
pop2ForStackHelVM.HelMA.Automaton.Combiner
popAddressHelVM.HelMA.Automaton.Combiner.CPU
PrettyHelVM.HelMA.Automaton.Types.DumpType
prevHelVM.HelMA.Automata.BrainFuck.Common.Symbol
prevInstHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
prevSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
program 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
programCounter 
1 (Function)HelVM.HelMA.Automata.ETA.OperandParsers
2 (Function)HelVM.HelMA.Automaton.Combiner.CPU
push1HelVM.HelMA.Automaton.Combiner.ALU
push1ForStackHelVM.HelMA.Automaton.Combiner
push2HelVM.HelMA.Automaton.Combiner.ALU
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-R.html b/docs/reports/helma/doc-index-R.html index ce8923cfc..0224d3e38 100644 --- a/docs/reports/helma/doc-index-R.html +++ b/docs/reports/helma/doc-index-R.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - R)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - R

RHelVM.HelMA.Automata.ETA.Token
RAMHelVM.HelMA.Automaton.Combiner.RAM
ram 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
ramAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
RAMTypeHelVM.HelMA.Automaton.Types.RAMType
ramType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
ramTypesHelVM.HelMA.Automaton.Types.RAMType
RAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
readExpressionListHelVM.HelMA.Automata.Zot.Expression
readInputHelVM.HelMA.Automata.LazyK.InputEncoder
readSymbolsHelVM.HelMA.Automata.SubLeq.Lexer
readTokens 
1 (Function)HelVM.HelMA.Automata.ETA.Lexer
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
readVisibleTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
readWhiteTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
realizeHelVM.HelMA.Automata.LazyK.Automaton
realizeWithTrueHelVM.HelMA.Automata.LazyK.Automaton
reduceHelVM.HelMA.Automata.LazyK.Reducer
reduceSourceHelVM.HelMA.Automata.LazyK.Evaluator
RefHelVM.HelMA.Automata.FALSE.Expression
removeCommentHelVM.HelMA.Automata.LazyK.Lexer
ReturnHelVM.HelMA.Automaton.Instruction.CFInstruction
returnIHelVM.HelMA.Automaton.Instruction
returnStackHelVM.HelMA.Automaton.Combiner.CPU
rotIHelVM.HelMA.Automaton.Instruction
run 
1 (Function)HelVM.HelMA.Automata.LazyK.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Automaton
3 (Function)HelVM.HelMA.Automata.ETA.Automaton
4 (Function)HelVM.HelMA.Automaton.Automaton
runALIHelVM.HelMA.Automaton.Combiner.ALU
runAndDumpLogsHelVM.HelMA.Automaton.Automaton
runCFIHelVM.HelMA.Automaton.Combiner.CPU
runExpressionListHelVM.HelMA.Automata.Zot.Evaluator
runInstructionHelVM.HelMA.Automaton.Combiner
runMockIOHelVM.HelMA.Automaton.IO.MockIO
runParserHelVM.HelMA.Automaton.ReadPExtra
runSALHelVM.HelMA.Automaton.Combiner.ALU
runSLIHelVM.HelMA.Automaton.Combiner.LSU
runWithTerminatorHelVM.HelMA.Automata.LazyK.Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - R)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - R

RHelVM.HelMA.Automata.ETA.Token
RAMHelVM.HelMA.Automaton.Combiner.RAM
ram 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
ramAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
RAMTypeHelVM.HelMA.Automaton.Types.RAMType
ramType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
ramTypesHelVM.HelMA.Automaton.Types.RAMType
RAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
readExpressionListHelVM.HelMA.Automata.Zot.Expression
readInputHelVM.HelMA.Automata.LazyK.InputEncoder
readSymbolsHelVM.HelMA.Automata.SubLeq.Lexer
readTokens 
1 (Function)HelVM.HelMA.Automata.ETA.Lexer
2 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
readVisibleTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
readWhiteTokensHelVM.HelMA.Automata.WhiteSpace.Lexer
realizeHelVM.HelMA.Automata.LazyK.Automaton
realizeWithTrueHelVM.HelMA.Automata.LazyK.Automaton
reduceHelVM.HelMA.Automata.LazyK.Reducer
reduceSourceHelVM.HelMA.Automata.LazyK.Evaluator
RefHelVM.HelMA.Automata.FALSE.Expression
removeCommentHelVM.HelMA.Automata.LazyK.Lexer
ReturnHelVM.HelMA.Automaton.Instruction.CFInstruction
returnIHelVM.HelMA.Automaton.Instruction
returnStackHelVM.HelMA.Automaton.Combiner.CPU
rotIHelVM.HelMA.Automaton.Instruction
run 
1 (Function)HelVM.HelMA.Automata.LazyK.Automaton
2 (Function)HelVM.HelMA.Automata.SubLeq.Automaton
3 (Function)HelVM.HelMA.Automata.ETA.Automaton
4 (Function)HelVM.HelMA.Automaton.Automaton
runALIHelVM.HelMA.Automaton.Combiner.ALU
runAndDumpLogsHelVM.HelMA.Automaton.Automaton
runCFIHelVM.HelMA.Automaton.Combiner.CPU
runExpressionListHelVM.HelMA.Automata.Zot.Evaluator
runInstructionHelVM.HelMA.Automaton.Combiner
runMockIOHelVM.HelMA.Automaton.IO.MockIO
runParserHelVM.HelMA.Automaton.ReadPExtra
runSALHelVM.HelMA.Automaton.Combiner.ALU
runSLIHelVM.HelMA.Automaton.Combiner.LSU
runWithTerminatorHelVM.HelMA.Automata.LazyK.Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-S.html b/docs/reports/helma/doc-index-S.html index 7455410c4..99e956e6c 100644 --- a/docs/reports/helma/doc-index-S.html +++ b/docs/reports/helma/doc-index-S.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - S)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - S

S 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
3 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
safeExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
safeExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
SafeStackHelVM.HelMA.Automaton.Combiner.ALU
SALHelVM.HelMA.Automaton.Instruction.SInstruction
salHelVM.HelMA.Automaton.Instruction
SameHelVM.HelMA.Automaton.Loop
SAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
sCallIHelVM.HelMA.Automaton.Instruction
sCopyIHelVM.HelMA.Automaton.Instruction
SDynamicHelVM.HelMA.Automaton.Instruction.SInstruction
selfAppHelVM.HelMA.Automata.LazyK.Constants
SeqRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SeqStackTypeHelVM.HelMA.Automaton.Types.StackType
SetHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
setSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
sEZIHelVM.HelMA.Automaton.Instruction
SFHelVM.HelMA.Automaton.Combiner
showExpressionListHelVM.HelMA.Automata.Zot.Expression
showsHelVM.HelMA.Automata.SubLeq.Lexer
Simple 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
simpleAutoParamsHelVM.HelMA.Automaton.API.AutoOptions
simpleEval 
1 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
3 (Function)HelVM.HelMA.Automata.ETA.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
SimpleInstructionHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
simpleInstructionsHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
SimpleParams 
1 (Type/Class)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Data Constructor)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParams 
1 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
sInputIHelVM.HelMA.Automaton.Instruction
SInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
SIOHelVM.HelMA.Automaton.Instruction.SInstruction
sioHelVM.HelMA.Automaton.Instruction
sJumpIHelVM.HelMA.Automaton.Instruction
sJumpINHelVM.HelMA.Automaton.Instruction
SlideHelVM.HelMA.Automaton.Instruction.SInstruction
slideHelVM.HelMA.Automaton.Combiner.ALU
SListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SListStackTypeHelVM.HelMA.Automaton.Types.StackType
sLTZIHelVM.HelMA.Automaton.Instruction
SMarkHelVM.HelMA.Automaton.Instruction.CFInstruction
sMarkIHelVM.HelMA.Automaton.Instruction
sMarkINHelVM.HelMA.Automaton.Instruction
sMoveIHelVM.HelMA.Automaton.Instruction
SomeOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
SourceHelVM.HelMA.Automaton.API.IOTypes
source 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
sOutputDecIHelVM.HelMA.Automaton.Instruction
sOutputIHelVM.HelMA.Automaton.Instruction
splitAtHelVM.HelMA.Automaton.Combiner.ALU
splitByNHelVM.HelMA.Automata.WhiteSpace.OperandParsers
SRAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
sSlideIHelVM.HelMA.Automaton.Instruction
SStaticHelVM.HelMA.Automaton.Instruction.SInstruction
sStaticHelVM.HelMA.Automaton.Instruction
StackHelVM.HelMA.Automaton.Combiner.ALU
stack 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
stackAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
StackIndexHelVM.HelMA.Automaton.Instruction.SInstruction
StackTypeHelVM.HelMA.Automaton.Types.StackType
stackType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
stackTypesHelVM.HelMA.Automaton.Types.StackType
startHelVM.HelMA.Automaton.Automaton
staticBranchHelVM.HelMA.Automaton.Combiner.CPU
staticCallHelVM.HelMA.Automaton.Combiner.CPU
staticJumpHelVM.HelMA.Automaton.Combiner.CPU
Store 
1 (Data Constructor)HelVM.HelMA.Automaton.Instruction.LSInstruction
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
store 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
storeCharHelVM.HelMA.Automaton.Combiner.RAM
storeIHelVM.HelMA.Automaton.Instruction
storeInputCharHelVM.HelMA.Automaton.Combiner.LSU
storeInputDecHelVM.HelMA.Automaton.Combiner.LSU
StrHelVM.HelMA.Automata.FALSE.Expression
stringToExpressionListHelVM.HelMA.Automata.Zot.Expression
SubHelVM.HelMA.Automaton.Instruction.SInstruction
subHelVM.HelMA.Automaton.Combiner.ALU
subAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
SubClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
subIHelVM.HelMA.Automaton.Instruction
SuccHelVM.HelMA.Automata.LazyK.Lambda
succChurchHelVM.HelMA.Automata.LazyK.InputEncoder
successorHelVM.HelMA.Automata.LazyK.InputEncoder
swapIHelVM.HelMA.Automaton.Instruction
Symbol 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Common.Symbol
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
4 (Type/Class)HelVM.HelMA.Automaton.Symbol
SymbolList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
Symbols 
1 (Type/Class)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Data Constructor)HelVM.HelMA.Automata.SubLeq.Lexer
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - S)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - S

S 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.LazyK.Lambda
3 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
safeExecMockIOBatchHelVM.HelMA.Automaton.IO.MockIO
safeExecMockIOWithInputHelVM.HelMA.Automaton.IO.MockIO
SafeStackHelVM.HelMA.Automaton.Combiner.ALU
salHelVM.HelMA.Automaton.Instruction
Same 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
SAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
selfAppHelVM.HelMA.Automata.LazyK.Constants
SeqRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SeqStackTypeHelVM.HelMA.Automaton.Types.StackType
SetHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
setSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
SFHelVM.HelMA.Automaton.Combiner
showExpressionListHelVM.HelMA.Automata.Zot.Expression
showsHelVM.HelMA.Automata.SubLeq.Lexer
Simple 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
simpleAutoParamsHelVM.HelMA.Automaton.API.AutoOptions
simpleEval 
1 (Function)HelVM.HelMA.Automata.SubLeq.Evaluator
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Evaluator
3 (Function)HelVM.HelMA.Automata.ETA.Evaluator
4 (Function)HelVM.HelMA.Automata.BrainFuck.Evaluator
SimpleInstructionHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
simpleInstructionsHelVM.HelMA.Automata.BrainFuck.Common.SimpleInstruction
SimpleParams 
1 (Type/Class)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Data Constructor)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParams 
1 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
2 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithDefaultsAndWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithVisibleTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
simpleParamsWithWhiteTokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
sInputIHelVM.HelMA.Automaton.Instruction
SInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
SIOHelVM.HelMA.Automaton.Instruction.SInstruction
sioHelVM.HelMA.Automaton.Instruction
SlideHelVM.HelMA.Automaton.Instruction.SInstruction
slideHelVM.HelMA.Automaton.Combiner.ALU
slideIIHelVM.HelMA.Automaton.Instruction
SListRAMTypeHelVM.HelMA.Automaton.Types.RAMType
SListStackTypeHelVM.HelMA.Automaton.Types.StackType
SomeOptimizationsHelVM.HelMA.Automaton.API.OptimizationLevel
SourceHelVM.HelMA.Automaton.API.IOTypes
source 
1 (Function)HelVM.HelMA.Automaton.API.EvalParams
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
sOutputDecIHelVM.HelMA.Automaton.Instruction
sOutputIHelVM.HelMA.Automaton.Instruction
splitAtHelVM.HelMA.Automaton.Combiner.ALU
splitByNHelVM.HelMA.Automata.WhiteSpace.OperandParsers
SPureHelVM.HelMA.Automaton.Instruction.SInstruction
SPureInstructionHelVM.HelMA.Automaton.Instruction.SInstruction
SRAutomatonIOHelVM.HelMA.Automaton.IO.AutomatonIO
StackHelVM.HelMA.Automaton.Combiner.ALU
stack 
1 (Function)HelVM.HelMA.Automaton.Combiner.LSU
2 (Function)HelVM.HelMA.Automaton.API.MemoryOptions
stackAutoOptionsHelVM.HelMA.Automaton.API.EvalParams
StackTypeHelVM.HelMA.Automaton.Types.StackType
stackType 
1 (Function)HelVM.HelMA.Automaton.API.AutomatonOptions
2 (Function)HelVM.HelMA.Automata.ETA.SimpleParams
3 (Function)HelVM.HelMA.Automata.WhiteSpace.SimpleParams
stackTypesHelVM.HelMA.Automaton.Types.StackType
startHelVM.HelMA.Automaton.Automaton
Store 
1 (Data Constructor)HelVM.HelMA.Automaton.Instruction.LSInstruction
2 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
store 
1 (Function)HelVM.HelMA.Automaton.Combiner.RAM
2 (Function)HelVM.HelMA.Automaton.Combiner.LSU
storeCharHelVM.HelMA.Automaton.Combiner.RAM
storeIHelVM.HelMA.Automaton.Instruction
storeInputCharHelVM.HelMA.Automaton.Combiner.LSU
storeInputDecHelVM.HelMA.Automaton.Combiner.LSU
StrHelVM.HelMA.Automata.FALSE.Expression
stringToExpressionListHelVM.HelMA.Automata.Zot.Expression
SubHelVM.HelMA.Automaton.Instruction.SInstruction
subHelVM.HelMA.Automaton.Combiner.ALU
subAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
SubClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
subIHelVM.HelMA.Automaton.Instruction
SuccHelVM.HelMA.Automata.LazyK.Lambda
succChurchHelVM.HelMA.Automata.LazyK.InputEncoder
successorHelVM.HelMA.Automata.LazyK.InputEncoder
swapIHelVM.HelMA.Automaton.Instruction
Symbol 
1 (Type/Class)HelVM.HelMA.Automata.BrainFuck.Common.Symbol
2 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
3 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
4 (Type/Class)HelVM.HelMA.Automaton.Symbol
SymbolList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Symbol
2 (Type/Class)HelVM.HelMA.Automata.SubLeq.Symbol
3 (Type/Class)HelVM.HelMA.Automaton.Symbol
Symbols 
1 (Type/Class)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Data Constructor)HelVM.HelMA.Automata.SubLeq.Lexer
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-T.html b/docs/reports/helma/doc-index-T.html index 87489155f..407398ce1 100644 --- a/docs/reports/helma/doc-index-T.html +++ b/docs/reports/helma/doc-index-T.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - T)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - T

T 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
TableHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
TableDHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
testMaybeLimitHelVM.HelMA.Automaton.Loop
TextLabelHelVM.HelMA.Automaton.Types.FormatType
toCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
toCPMHelVM.HelMA.Automaton.Combiner
toIntegerHelVM.HelMA.Automata.BrainFuck.Common.Symbol
Token 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
tokenize 
1 (Function)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Lexer
3 (Function)HelVM.HelMA.Automata.ETA.Lexer
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
tokenizeVisibleHelVM.HelMA.Automata.WhiteSpace.Lexer
tokenizeWhiteHelVM.HelMA.Automata.WhiteSpace.Lexer
TokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
TokensHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
TokenSListHelVM.HelMA.Automata.WhiteSpace.Token
tokenToWhiteTokenPairHelVM.HelMA.Automata.ETA.Token
TokenTypeHelVM.HelMA.Automaton.Types.TokenType
tokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
tokenTypesHelVM.HelMA.Automaton.Types.TokenType
TokenVectorHelVM.HelMA.Automata.ETA.Token
toLSMHelVM.HelMA.Automaton.Combiner
TransferHelVM.HelMA.Automaton.Instruction
transferHelVM.HelMA.Automaton.Combiner
transferBranchHelVM.HelMA.Automaton.Combiner
TreeInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionDListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
triAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
TriClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
trueHelVM.HelMA.Automata.LazyK.Constants
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - T)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - T

T 
1 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
TableHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
TableDHelVM.HelMA.Automata.BrainFuck.Impl.Flat.TableOfInstructions
testMaybeLimit 
1 (Function)HelVM.HelMA.Automaton.Loop
2 (Function)HelVM.HelMA.Automaton.Trampoline
TextLabelHelVM.HelMA.Automaton.Types.FormatType
toCharHelVM.HelMA.Automata.BrainFuck.Common.Symbol
toCPMHelVM.HelMA.Automaton.Combiner
toIntegerHelVM.HelMA.Automata.BrainFuck.Common.Symbol
Token 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
tokenize 
1 (Function)HelVM.HelMA.Automata.SubLeq.Lexer
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Lexer
3 (Function)HelVM.HelMA.Automata.ETA.Lexer
4 (Function)HelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
tokenizeVisibleHelVM.HelMA.Automata.WhiteSpace.Lexer
tokenizeWhiteHelVM.HelMA.Automata.WhiteSpace.Lexer
TokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
TokensHelVM.HelMA.Automata.BrainFuck.Impl.Flat.Parser
TokenSListHelVM.HelMA.Automata.WhiteSpace.Token
tokenToWhiteTokenPairHelVM.HelMA.Automata.ETA.Token
TokenTypeHelVM.HelMA.Automaton.Types.TokenType
tokenTypeHelVM.HelMA.Automata.WhiteSpace.SimpleParams
tokenTypesHelVM.HelMA.Automaton.Types.TokenType
TokenVectorHelVM.HelMA.Automata.ETA.Token
toLSMHelVM.HelMA.Automaton.Combiner
topInstructionHelVM.HelMA.Automaton.Combiner.CPU
TopOHelVM.HelMA.Automaton.Instruction.SInstruction
trampolineHelVM.HelMA.Automaton.Trampoline
trampolineMHelVM.HelMA.Automaton.Trampoline
trampolineMWithLimitHelVM.HelMA.Automaton.Trampoline
TreeInstructionHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionDListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionListHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeInstructionVectorHelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
TreeTypeHelVM.HelMA.Automata.BrainFuck.API.BFType
triAndClearSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
TriClrHelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
trueHelVM.HelMA.Automata.LazyK.Constants
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-U.html b/docs/reports/helma/doc-index-U.html index f099a0422..44f2129be 100644 --- a/docs/reports/helma/doc-index-U.html +++ b/docs/reports/helma/doc-index-U.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - U)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - U)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-V.html b/docs/reports/helma/doc-index-V.html index ddad0056a..c42beb7a7 100644 --- a/docs/reports/helma/doc-index-V.html +++ b/docs/reports/helma/doc-index-V.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - V)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - V)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-W.html b/docs/reports/helma/doc-index-W.html index caac69dd7..1214703cb 100644 --- a/docs/reports/helma/doc-index-W.html +++ b/docs/reports/helma/doc-index-W.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - W)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - W

wFlushHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsBSHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsTextHelVM.HelMA.Automaton.IO.BusinessIO
wGetDecAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetLineHelVM.HelMA.Automaton.IO.BusinessIO
While 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
3 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
WhiteToken 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
whiteTokenListToTokenList 
1 (Function)HelVM.HelMA.Automata.ETA.Token
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokens 
1 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Lexer
2 (Type/Class)HelVM.HelMA.Automata.ETA.Lexer
WhiteTokenTypeHelVM.HelMA.Automaton.Types.TokenType
withDefaultRamHelVM.HelMA.Automaton.API.AutomatonOptions
WithLimitHelVM.HelMA.Automaton.Loop
wLogShowHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrLnHelVM.HelMA.Automaton.IO.BusinessIO
Word16TypeHelVM.HelMA.Automaton.Types.CellType
Word32TypeHelVM.HelMA.Automaton.Types.CellType
Word64TypeHelVM.HelMA.Automaton.Types.CellType
Word8TypeHelVM.HelMA.Automaton.Types.CellType
wPutAsCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutAsDecHelVM.HelMA.Automaton.IO.BusinessIO
wPutCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrLnHelVM.HelMA.Automaton.IO.BusinessIO
WrapTokenList 
1 (Type/Class)HelVM.HelMA.Automaton.WrapTokenList
2 (Data Constructor)HelVM.HelMA.Automaton.WrapTokenList
writeSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - W)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Index - W

wFlushHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharHelVM.HelMA.Automaton.IO.BusinessIO
wGetCharAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsBSHelVM.HelMA.Automaton.IO.BusinessIO
wGetContentsTextHelVM.HelMA.Automaton.IO.BusinessIO
wGetDecAsHelVM.HelMA.Automaton.IO.BusinessIO
wGetLineHelVM.HelMA.Automaton.IO.BusinessIO
While 
1 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Fast.Instruction
2 (Data Constructor)HelVM.HelMA.Automata.BrainFuck.Impl.Tree.Instruction
3 (Data Constructor)HelVM.HelMA.Automata.FALSE.Expression
WhiteToken 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Data Constructor)HelVM.HelMA.Automata.ETA.Token
3 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
4 (Data Constructor)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokenList 
1 (Type/Class)HelVM.HelMA.Automata.ETA.Token
2 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Token
whiteTokenListToTokenList 
1 (Function)HelVM.HelMA.Automata.ETA.Token
2 (Function)HelVM.HelMA.Automata.WhiteSpace.Token
WhiteTokens 
1 (Type/Class)HelVM.HelMA.Automata.WhiteSpace.Lexer
2 (Type/Class)HelVM.HelMA.Automata.ETA.Lexer
WhiteTokenTypeHelVM.HelMA.Automaton.Types.TokenType
withDefaultRamHelVM.HelMA.Automaton.API.AutomatonOptions
WithLimit 
1 (Type/Class)HelVM.HelMA.Automaton.Loop
2 (Type/Class)HelVM.HelMA.Automaton.Trampoline
withLimitHelVM.HelMA.Automaton.Trampoline
wLogShowHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrHelVM.HelMA.Automaton.IO.BusinessIO
wLogStrLnHelVM.HelMA.Automaton.IO.BusinessIO
Word16TypeHelVM.HelMA.Automaton.Types.CellType
Word32TypeHelVM.HelMA.Automaton.Types.CellType
Word64TypeHelVM.HelMA.Automaton.Types.CellType
Word8TypeHelVM.HelMA.Automaton.Types.CellType
wPutAsCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutAsDecHelVM.HelMA.Automaton.IO.BusinessIO
wPutCharHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrHelVM.HelMA.Automaton.IO.BusinessIO
wPutStrLnHelVM.HelMA.Automaton.IO.BusinessIO
WrapTokenList 
1 (Type/Class)HelVM.HelMA.Automaton.WrapTokenList
2 (Data Constructor)HelVM.HelMA.Automaton.WrapTokenList
writeSymbolHelVM.HelMA.Automata.BrainFuck.Common.TapeOfSymbols
\ No newline at end of file diff --git a/docs/reports/helma/doc-index-Z.html b/docs/reports/helma/doc-index-Z.html index 982ac6037..15fd48bbf 100644 --- a/docs/reports/helma/doc-index-Z.html +++ b/docs/reports/helma/doc-index-Z.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - Z)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index - Z)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/doc-index.html b/docs/reports/helma/doc-index.html index 45d2811b0..1f59ab491 100644 --- a/docs/reports/helma/doc-index.html +++ b/docs/reports/helma/doc-index.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index)
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton (Index)
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
\ No newline at end of file diff --git a/docs/reports/helma/helma.haddock b/docs/reports/helma/helma.haddock index 4b11badaa4b2e2fa355c33a2b339dfc1da10471e..fa2de409f6de9a4bddad8b4194e927d4a44e37ca 100644 GIT binary patch delta 11712 zcma*t2Ur!?x(48XX04e`6k`W_ED=yQMyv?f#kdm%Y)Qsu{1Hm8-vzxj6jCMgAxg4|!YzAAvR`4y@2DXFm!1rJW*a>!l-Cz&c3!Djl zyM4hAxETBpJOYow6Yvx~1J6NE&GZ7jK_Ac;^aK6D05A{?VnPOkAz&yN28M$XU?dpj zhNFQ4#(=S49QXo!3C1(koT3HF`~0VI(SJJl3VaP_fSF(xm<{HDxnLfc4;FxhU=dgh zmVl*9^<^L%EC(x?8Y{sn@C{fU4A+3QU>#TwHh_&_6L1a{i1fMlaM8UN>;wD30dNrf z01kn};0QPhj)CLg1ULy!fz#j&I1A2!^WXxw2re<9m%$Yuyb7*?>)-~s32uQO!B0%h zpTRHSSMVFS&Af95+y(c*eei&(^^ggB1RjGYOzo#kooC>=rWRDEr^Urypf~6P`htF- zKN!H&9mv!h1O|g4O#Pw2iSu`dHyp>shF^d$!FVtMOazm_WH1Fx1=E1D+&|KeSjfc) z=dQoo7qJS(Z@_9Mat&Au)`9h41K0>Qfz4nG*b2S{+rW149rzyXV4`+{U0^rZ1NMS_ zV80I@00+Sj;1D!!$k%&Vlpb0=URDxdbkQE8r@)#x%Wd zk@MD@USG3kJk{(u=xH;(nC87fAJ7-{1O34OFc1s^gTW9m6bu8ynHD3!NH7YF1`Zel z#)5I+3m^Ovj0Y2#mJ`7wFd0k%Q^7Pa9ef481~b4+CVCc_4d#HkU>=yyv|0cbf<<64 zSYnfpS}jF!8S`#7SPoV&tyh9o;2W?StO0AmI)-~s32rg%egr>(pTRHSSMVFt{x-M+?t**ZK6n5gG94a) z$KVO$>+lrCXW%*0v8Rja#dPWo`hdR72mL^Q=EDJCAoI~6Fc=JBIu8ZIz;G~v`FJE4 z1xAAtM8uab`OnZXY0jxq;bzeb&M!rJn#H1=jG})wi%oJ4@<;K%IJJu%H1;`G@or{` zhE7`X7_-D6XJhdXjq^@miNBg9TR1&Rd}NlK?EFyT12dq!Q={ZR&4BLC{F0rGi;fjA z#|#|eEDjiKma?44z(1O$5}fgYJ&e;%@lwfV>AyR@N{unjIRT|VGRs6b>7_fGWo9_r zOAj^6)^a+Qag4*xwKAcBj>|9_zCmO7qrOdJ`6JxV80T`_W#2c;@dlKQGs}&2c9s2; zaoed@?yqL~PR@{WosARD<#JQa3SFH3<^N&qb##Sk=3D8`tO|cN?mO07ea(v8?5+O^ ztW;E8Hp#HMd6QG(m1%YCk?zgBZaTk&2KsK~n_%YF;;Qm^aN*IUg@7bDF$Z;B;OmFT2Hoc^f!~ zOEn3rbim*nr&qR*tjFea^O^b7d}8J+Vxg+efl@6(D@PlA8};f^x{vCw`l-GuuYe_j zutZ?x8*15WORP{B2V;$Ms!};$oxy6T8lr}&;cAo`p+>6FYOETg95r1{Qq$B#HC0Ve zQ`C4hS$(O#P~+5BYNnc@zE-o;95q|bRZGr|arD{`96jeTwToPJ-d)4}a`wa7P`P#B+s)O1*Y^5|>~&?npUWG- z7e~LrKDD2hIIMn9htxsm^D2$1-cfheJ#}9_P!H83^;kVoPt`N^T=mqwbZ^~9_tpJ$ z1E)uosIdP}%e=mMJ^P$WZ+n_lO(rTdNIQCz9-)Wnp?ahqqlfDudbA#_$Ld03^}m~m zgIf&;w{X>;h>Y=?|DnzwbpgS3{U+tx!<;YvRHtLrD&_eGGH=fddtxglrDkSjbWg}i zN=wb0<&3FX&6w?Ms9M38&_9ot_v z_zIC;s+Z|(yUDa(-k>+? zP1^tWldJWMhUn2PBUa7N(f zEPEb`?F_AUgs8wJeOX`8SM@c0UEk0*^)3CQE|7oXD$l;GFFEH!JjJWGAu@l`KWp=6 zjay&7pG8kKtFJfsUN>)#-)!qmNz3R_F~ytJEiEyV%-i~o7O+SyEb>N;;`~*6pp6I4 zvud8e8eYEEJk*c$W1ahfmbKBcP>qee(g*s9HlOGR&aLX6&hALFr}c7muDJM&Og`uG zjd9*4Ska$nWyDi~r}~+Gu6tU&tlm~1tFP71>TmtaO02Ig)>pv2l(%ev#s8eiHChLT z@-}}vhFc@7kyc*885Qa&Q&9@r`TE=I^SIok-hHuqh?wwqHCOdoG<&5c$ zQM;7y>wI(lI;AJZXYqi{&R6+HvxEe1W@Z{+ngYgJxAVYo)cy`o=2sdevfXy3ktSM7`q)sMW^g=ZjZ%bPMld>Cl3!t><xVKAIMkfq}1{h4&yf;#uNq4mgmY(24_TFYIeHJMv(4nEmsdt+fMXQpk?Cdkw)@-t z?7ns%dw@OA_5=AUou+j>0d@au^3%&J9XRNqifgz%+8$+(v`5&EJ;ru{msQxqma+|X zZ=3uK^GX*}xQj9sCfJkhN%lm0iapg9UQ}S|XlH4?mUTZh_(|rKg~^_2&$8#)v+X(d zT>EzuSg;iqtayOPHQ!!fFSHlgi|r-$QriXcs+{L_J%RNj`A5IZ&bF7^xgY4DwG&^z zW&ApmA9?cDtnpLir<}Zsd_Oe*74}MdmA%?tV}E0>wb$9}?G5%udz0;-esg|o&CMN!_NJ{ zytcAT_&8o>r@hM-P#=T(@bISwKVjwVk?bP5cH4XGz4m_lfW6N?XuA&D`75w+EEW!E zINIcAue^nGu6{@G%_wR8U>~***+=Z7wgqI;snF0SFd~lgVBE5Qw12X5 zKQOO7<~59rHuz~QZxgIG-p{=m)r0_s1M`bJH-zQ1dLOF;ccsIT5=j=|4@dA-{?7f-&# zxdyogyA;3!BR>?PdEv(V=G7SD;(w_776tTs|WDo6wA;BOQ}nliXZnIH>v z2Y&~jfzNrHm9r_TT?vB*8azRR#KEkkoT`o5hgmcp6Es1b$l7X>I2jsKL|(Uz)!N42 zoH>muePYaz>Y3s!NVCN`;#}56^H@JMUt9o7LZzm+}Mgq4-FAEItvj zr$y+g$oor0>6!Rk?8)EsqST8m7NdIOL$<4!(MQUcxKS~quax_V{lx*028x5k!Qv2c zD0KeWv`V4kwMX)rmqw&!UQcAm$0R2DO-k?v1JwiaLTH`foz#x&X!Xvpdr#qlxdat zjksD|!|4rN*Sv#|E}%>o#YzoaakSJs;uxtJD~=PtkoqsBJifeq zOpvOHQqGw%Ny<*omgRg^=qpUn*WwIurZ`KSEzS|=iu1(z;sSA@xJX>gzRfR%SYxTk zub{Y`EiQ+&LR<-bw2D8f^1C9|SS_v**Fst+t`|43K}zyLV-w1TB!o&LLM0iYAt9k$ z5P}TJ3YCO~hNOjt#D#|Bg@y!%hAoky;Y^Ee`v>E=tl)%neNsFnHK(O~Mm#H?6VHnm z#Ear3@iJ6bqiMPc&;$88ccwaA|#hV zgy=GekX;55!pk7)$%r zLW~$p$Pt4HL1Hi=Nem`LiNS;{F_;i01{2=Q1QX)KU_zc4Ob8T%35jAbAyNz`WQxIr zP%)VJ)eVbOF_;i51`~3{5IK8=_zdKWAqGz7AqHZ`5Cb`5h+HW{j7?I;S0lv0i;)mx zi?~(%7Ru=^gtnn9=eZEVd9IpV2piQhxoA?_4?yX0fHh(ObykZAf7B29ln zrs+=zHT?;xravLp^e5z+{)AxDpO9?&6QWIjLbmBo$3>)@{)BkbpO9}>R|q((DKszc8tObW5Oda`iz0%~8VX5g4Z0%Y%vghP9;`u#J!=qh&l-f_vj!pgbj$VK zE!TRtLJaCQkb}Avf>5`C*FkQ%BD>{^?53Z!53>=Bx(y_wZbCHbCS;>-g>clZkdE>K zBJxo;As}_rLlF_Fn~;&Z2_dPQkdnFyF{zt4CuR9f5Zg;cQtFnQ8#nc_II(gQB2zaZ zGj$U}Q#Ths$t1+$-0oIb2hp=CTcFo;Y7zAR_1umm?f5 zr@nBx?Fh$hM?Ow1OSOZ^IQrA1}ADRSe6^d)adLqdGqP{yPo zIVaw)<-=e^$U%sZgAgGHAwmv9gdBtj+Ke`YgAl<7l-VN1ts+9@2stbfgu@c4wn0N8 zX5%|4e=qWjAg)Ku9BCkDjx=^#++C!Bs5z35HAfP{=1AHv9uN^XM-uYpNRq%=N#blE za*i^PIY$`?oude;a}*(Vjw0mFQH0<*ijX`<5#9?$5whnfIwzjT_p_0@z!QxOkuIW4 z$e|n2Wf4hqBf2VHV;j?T5#OlB@?C07xT|eUxSwqzbDPNbt%=NSB6FL_+@|UVFV)nz zDc)lL*pz<61pOrbEdCc=uQqxxE#;EmN6Jv<90cF{g7}=#5*_0UC$n~*m6Err9TM(JY z(pF3mvi(@vCTk; zRV@A*AddEm_4(ztBXyqVek3hFl9rw2pmdhsbZ5DSbe3QC$FkJNved_Nm_C-4rRf6qP?|2niiAH{ zC{1`jR#KAd&{{RaYu2q`AOZMi~I0rffW>@;CfMHa0+I0@} z%ZN`&PfJcpbz(bL$Zp;FezB$r^}@pICL|zvcz)dmbrTwRz4hzW^=A8$8yQ8+nCK#H;=6d0y@|2u z-i&x>M@rcQf2on_)I{B;V_JHFHlCCeZ(Ja4AN zrzWL$PmaeHdOS|S%&7J${7s7ChWydNWB*t8l=O}{AG~xzd~$MbWe1PdCC1xP^mtSk z50|3$l_w!zEsmygH=bT0CE*bHu z3Ek|(wD)+xG)7Hhu&h+?XD!+mOiE42@TTxS#kDAqkes*%s0Eh%X0Rh9@G5(7vu#Ppa1{> delta 10572 zcma*s2Xxg&x(D!2n$g&R>BZC#46#jIumNM!0|tVF4FpI+lFhy~wpsiFhS+99UUv7= zdl$X;-c9cvLa(9soY!T=e=|8`DrxLj5N}{x|05T2HSIc+W8MW$Y|$J z)O-w4tqMPyrTG^dPlaD?q6&AwU2qTF2M@qQ@Q8WmF?a%=f@k12@Ep8g{9l5uis=Tr zgC3wK=mmO%KADd8z5{!}Ua$}B2M2&V z&U>FH@G%zypMa;}8Tbu62QR=&&{Z?tKzGms^aQ;?Z_tOS*q8C?2l|5nU?3O-27@7B zC>RzDhXWUk03*RDFdB>jV}V;RcNx#SQ@Hr=wc7J!9d z5m?LwF9A!zGLQk5gB4&USOr#tH34ufSO?aF4PYbK1U3WrSnishko{Z?IRFlVL*Ott z0*-=XOz3g&JvaeQf>TVT)8Gs^3(kS_OxOi*kqN&9E`uxJD!2x&d*BUl6WjtnFqMB~ zs{90g2Dh22zkpwvh&$jexCibt)gFL{;1PJtL_Pse!87n1cn)5Gmzts}va7?zZlF8p z0eXU7pf~6P`htF-KNtW80=KzOa8%SNE=G+8W58H24vYsAz(ggCpQ5I0lY`@4*Rh5}ab{o(5;YS#S=V2N%Faa0y%nSHM+p4P0m5y8&*3 zTMoHp^Cfxezu>w0FF{wsbOYT%4<@=N=mmO%KAut>MPM;lV#q_WOHo_~GQe`Mf{9xRR)N)E4Ok1-f%RYm*a$X(&0q`I3bujmOw%1; zC)fpcgYST658G@n*a!B51K=Py1P(LJkAS1#7&s2T2Pc>hPl8iSi__o?ILov=2hKCC zE`W>7N0-25aK!`=eSDRRA72C4!42k@*lw#y(}Aw$Iw>|gC1MXd7<)(I)s(&GD(H+GZs zBm1fS#C~jN7tq2VEqu#8Rx{L_EoLhme`|qzz^}9?{Ds|By|lZj?y8sSp?a#`s-Nns z`lyj=s2ZV$C|3P?t8G-9xWx{&U2Rp{)E2cVP_^4ynWHh&rl{spD?* z3bo&^_WxKZf6h)fsf}*gcVg;RNFmDmNOjXM)pPYsJykDMcm11sqPptGs)x?oL;u-A zjIbg`n7_iWL{=ZoAJqAvu9$x{Z@wpcW7LD(7XIbS49iiUKc?B+$th{+shtzjlRKuQ zjc|wiSL7e=djGeqQSKT4GS+DK2|LF14e)E*SNGHX^#DCk57LA65Is~6)5Eo^N9d7y zlpd|e=&^d79G^trUZ@vopWn~U z)~{B?7K7!81?IN-w(pG|ce>XD{W_Lhte5DedYR79%k?U~La)@T^%}iSuhr}I2E9>l z(wp@by;X11+w~5;Q}5Edb;&Eb@2c%+ULHk7*n`nD3N_kAJ_JAjXO-fZA1^D6(?JKOPM{Od~rz~I;MW}c88?& zb{!Mb$Udb{YXMEd(4=t12i(nr-IzNWA18~UccrT=3kdasP$^S^t8zrR0d{-CZ3>U@K$6R98dPx@z_ zHNmo~vX?U%o7;1&#NTq^i|UUXkS&=2(^&7X%{ z#LX`5I=QJ6Qpr5lZl}7?mc7`~`yE@&R?oJP< zr_;;n?fh|tm->Z%u3z_qJ&uwC6zXjc%dy$azo>E8$>LS=40FahW1P{>C}*TI!f~D9 z&NyehlL!295&Ep2+2=xg>L2=?jXq2GPj#j{)0`R3OlOue+nM8dzbd?1fNpA_o1jXi z_^Z3fS?pvu%bcao5@)%y!tn+_5+3aj}wm93I?T#R`ZrAXbPs8?Ee4GA8E6Tse+3W0c_B#ihgU%u6 zuye#Y>Kt>9JKsAeoRd!eKVP)h!L2{vbjv=4ceDBK{f*u)WFE3p&S~eobIv*IoN+EV z7aebqvl89Bhi-J`lJ<4?tI9!TyskSxIJcae&JE{B=O@PtWLLRME64a&UToj}!xkUP zQ7B>VIuD%t&OPU$^T;tEtHO<|@-irVl6mgDaJrk9PFK^-{B8z&7md9uS7i{9 zR}a(E^fJ9oAJfq#0#Kn=!^G=SGtL0_c0^3! zh*+)}ZzdQ4D>lYh@!u=&OrdVWCn;%%Rn`M537r6_n zlqluQHw(=Iv&bwq4#=Fv7UQtRqEUGiKe%K!l`U>?of>}DW;d`#V67EqrCDXxn6+k| zS#MUG4Q8X+WHy^EW~T=4BM_=-Lm)rCVSgX zY*Lq`RPx$m_L_ZWzd2wInnT9xb#br3lMg??pmmw*UlN(a=7>3Jj+x`;dy{j<9atl# zaP`A{luwwGMnKCJXj!vH6PurVUT;?}$NUiVx+Zf^)G2e?oG}XEL5UxW(7teuncVML zbIu5;Z-x4NHJ)+(d2_)CZrNIm->I2s@uO3A$0qY1j?_hS$y_!HTr}>)T8;D9+{jm^ zD~3Pl@Dp_Csa1ggUT&D1=9c-vWEY5jG1U4~`ixqCPJiLUtG-~Yzk>e)e`6>fv;heq z5hQ`O;P2eAYR6c~;J*PMPi?ga9Y6}@B~2ZL>OW-OuW_2sdgh&loihTH{5WHf+K07MKZAIZ>Qsx##MZ^Uw^;(M)j`>qWC! zZ#74p3$1zLd~pG!h2kP{F`G**5toX~AZ3Wl#TDX8ah14Q^sM1YZnaiiC$1MaK-q9^ z+3no45jC_)+|1@tTg0u<+6HBld1$+ocZfSJ+GXvw=)0`x9y>VnPx{ZNj&oH$^}Wa^B)>Yr#r*0dv_v{3HK)Zh;#paGPCPHV|EyOrFI`8O zZiw!(dR09I)E%BFpfHL8GKvCp7iGF9_4lRxKzt}Z5+93CM2xfmJr#MpRFIyDzlqPq z7i=N*5?WWpuKaqtP>^*=X1Za<>Mr&WdqV0Z_7>ft^^4^#OapkPFb#xmM*Z@hBII(p z2#pX&ilfBQ;uvu(Ta?C$hMop8Y(;>|eXNvCr=ul4y zTEsIYX)#+$@h_;9;$KiHwM6EZvZd8BXo-}8GA$QZh%3caY#CZDt`XO=Z>e?AS}$%8 zH;S7eZO$W;Eu!12L1-OY?co`l_KN$&{o(=fpm>Nas}4gtA|4gpI}KWT)MZ(EMQZpJ z2(NQZye{4lZ;H3rx9JD*NAV}|XSSTW4e1vVaZ5Qu-cpXxPdP$AsoFmR<-{DsztTkU;ATEToNL(x~Vg1!oXe|>nq-MFeLTXk*k6gz6tyQvM zwJca8t`*mb>%|S?MiJ4IzqMIJ_~dUPee$;uKlxk8pZqNZQ2rJYD1QqPls~^9K^Y;G zzl9Xa-!jOd{FQs={kYHR6v}j3JR_bJ&xz;73*trbl6YCXB3>1*iPyy&qT8c!s3$=E z$}<7#j(8VZ_r&|+1M#8w2oj>O074cPKnTME2x(XVAr1>5*5WO-+XWlQnp~iYl~pHdk7|^ZNY@NEtrtE z1=DTq;a55ekz0sD<`$w5x`hx@w-7??7D9Lx5kd&wLI}xQs9Zlo2?1OvJr)tcg%UEj zO0u+)EUiQc*2Udj;)m6zV^Ic|DLTp!+klRHNg1ZPBBn}pbu+`-JR8vDy_Q?Nq zHT+LUDt>1{k(NlqQ6^U$0o6zm31Fl`1Qk%SyDl5oQiNr(d@ zKqpaED9C5BVPn<6<5RouOS&JYo7MF-i z#bsiKxLjP}6yw(`3hy?mTgW7kqTW-mwVV*50(pI*H+6FC=kUiEQgpV}{>0=E- z{8)o_iwGcV5?({pl+#~RPJB(myky*M zI)p5<4qXs0ikBSzY1E<1GINEkt0dC2B-50$QP;wGsB7U2)U|Nz>k`7wx`ec|F5MJw zi9d)xia)XMsh^>BTl_`*RlEa<-=b9K$vv65FFp_-ijTy{Y(4b^T2IAiqFcUspr;=7 z;D^BaswcEWxt!IPOIv+HwpyPgTvd{;S|UlvN|Lfte_kh=kh4aU1g(UmwE-b&Z6H7N zhDs7wOC$+iNs?C&N%ksTG$e^&NitZH5SAo`rP16`LqZJOh{lQtV&5l8Vx^{WmWX9z zq#Pq(pBO?$`+?MaKv>#DO@fw49t5{dWM7)dn3~A0G$CZU9OOU?X>P1F9TLAXVG-!Y z5)$25nk^#JjU|M-u{4j3lg-4*X5t7DZ=7r;PDURm+lr%p9$A0`7)OYJ;|LjW93cdb zqs1b}z+A@Y<7Bs*Dn!CfEs>B6Hzh>FO$pg>Q$jf0Od%a^rVtM|le_a~gp{}$tr3wE zH=}iizrD=~QE_uZR@|I6ib#u_%k{E3AvFF_4)up}7+Xl!Eu_;Hw1t!9ecd6S=gQdgxn;QpzbKQD>x)N)-iu7E79JMf zCOk5sZ9TwqXg85pAm_CPY<^3X7=TrfTKLh={6fs#T6mObCk) zOAL=nNQh6YmhoPv+E(5IvGHw^+Q($ZOzxnsN>$Ap-6(4osgu((EXz*~ex0-09hVy6 zzLR#fR&MS);meqm#H231aq%h1ojSMYZFNk^(W{Q`*y$UmW&7mBq=NO6Q{q# z=?(k}e3YXGEmhN`zw7!JnHvUlOvcg!JZ}QC0?~I&l}|CnInIwYl} zH;;BZf7{wU_ibc;r%h^7{FmMd9aGYiQ#vQP<^S2i-TBYc#*v?gJLO*ui+l4ykW-QG TRUvbO?zMjn$(Z-=Dc=7J5wXU% diff --git a/docs/reports/helma/index.html b/docs/reports/helma/index.html index bb28992a3..89f28da17 100644 --- a/docs/reports/helma/index.html +++ b/docs/reports/helma/index.html @@ -1 +1 @@ -helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton

Please see the README on GitHub at https://github.com/helvm/helma#readme

Modules

\ No newline at end of file +helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton
helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

helma-0.8.4.5: HELMA - Haskellish Esoteric Limited Minimal Automaton

Please see the README on GitHub at https://github.com/helvm/helma#readme

Modules

\ No newline at end of file diff --git a/docs/reports/hlint.html b/docs/reports/hlint.html index 278ab9c5c..81e1de0f8 100644 --- a/docs/reports/hlint.html +++ b/docs/reports/hlint.html @@ -161,12 +161,15 @@

All hints

All files

@@ -177,7 +180,7 @@ - a tool to suggest improvements to your Haskell code.

-
+
dist-newstyle/src/helio-157a2fc26d319c83/hs/test/HelVM/HelIO/Collections/MapListSpec.hs:50:11-112: Suggestion: Reduce duplication
Found
it "mapListToList . fromIntIndexedList"
@@ -192,6 +195,24 @@
 
 
+
+hs/src/HelVM/HelMA/Automaton/Optimizer/PeepholeOptimizer.hs:25:1-40: Warning: Eta reduce
+Found
+
peepholeOptimize3 il = map (\ i -> i) il
+Perhaps
+
peepholeOptimize3 = map (\ i -> i)
+ +
+ +
+hs/src/HelVM/HelMA/Automaton/Optimizer/PeepholeOptimizer.hs:25:29-36: Warning: Use id
+Found
+
\ i -> i
+Perhaps
+
id
+ +
+