├── .gitignore ├── README.md ├── bench └── src │ └── main │ └── scala │ ├── ComparisonBenchmark.scala │ ├── FFMBenchmark.scala │ └── InterpreterBenchmark.scala ├── example.in ├── hs_err_pid31620.log ├── hs_err_pid32029.log ├── project ├── build.properties └── plugins.sbt ├── run.sh └── src ├── main ├── java │ ├── Foo.java │ └── de │ │ └── szeiger │ │ └── interact │ │ ├── codegen │ │ └── LocalClassLoader.java │ │ └── stc2 │ │ └── MetaClass.java └── scala │ ├── Analyzer.scala │ ├── BitOps.scala │ ├── CleanEmbedded.scala │ ├── Colors.scala │ ├── Compiler.scala │ ├── CreateWiring.scala │ ├── Curry.scala │ ├── Debug.scala │ ├── ExecutionMetrics.scala │ ├── ExpandRules.scala │ ├── Global.scala │ ├── Inline.scala │ ├── Main.scala │ ├── NormalizeCondition.scala │ ├── Parser.scala │ ├── PlanRules.scala │ ├── Prepare.scala │ ├── ResolveEmbedded.scala │ ├── Runtime.scala │ ├── SymCounts.scala │ ├── ast │ ├── AST.scala │ ├── Symbols.scala │ └── Transform.scala │ ├── codegen │ ├── AbstractCodeGen.scala │ ├── BoxOps.scala │ ├── ClassWriter.scala │ ├── ParSupport.scala │ └── dsl │ │ ├── Acc.scala │ │ ├── DSL.scala │ │ ├── Desc.scala │ │ └── TypedDSL.scala │ ├── mt │ ├── CodeGen.scala │ ├── Interpreter.scala │ └── workers │ │ └── Workers.scala │ ├── offheap │ ├── Allocator.scala │ └── MemoryDebugger.scala │ ├── stc1 │ ├── CodeGen.scala │ ├── GenStaticReduce.scala │ ├── Interpreter.scala │ └── PTOps.scala │ ├── stc2 │ ├── CodeGen.scala │ ├── GenStaticReduce.scala │ ├── Interpreter.scala │ └── PTOps.scala │ └── sti │ └── Interpreter.scala └── test ├── resources ├── ack.check ├── ack.in ├── diverging.check ├── diverging.in ├── embedded.check ├── embedded.in ├── fib.check ├── fib.in ├── inlining.check ├── inlining.in ├── lists.check ├── lists.in ├── par-mult.check ├── par-mult.in ├── seq-def.check └── seq-def.in └── scala ├── BitOpsTest.scala ├── LongBitOpsTest.scala ├── MainTest.scala ├── TestUtils.scala └── WorkersTest.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/README.md -------------------------------------------------------------------------------- /bench/src/main/scala/ComparisonBenchmark.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/bench/src/main/scala/ComparisonBenchmark.scala -------------------------------------------------------------------------------- /bench/src/main/scala/FFMBenchmark.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/bench/src/main/scala/FFMBenchmark.scala -------------------------------------------------------------------------------- /bench/src/main/scala/InterpreterBenchmark.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/bench/src/main/scala/InterpreterBenchmark.scala -------------------------------------------------------------------------------- /example.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/example.in -------------------------------------------------------------------------------- /hs_err_pid31620.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/hs_err_pid31620.log -------------------------------------------------------------------------------- /hs_err_pid32029.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/hs_err_pid32029.log -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.9.8 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/run.sh -------------------------------------------------------------------------------- /src/main/java/Foo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/java/Foo.java -------------------------------------------------------------------------------- /src/main/java/de/szeiger/interact/codegen/LocalClassLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/java/de/szeiger/interact/codegen/LocalClassLoader.java -------------------------------------------------------------------------------- /src/main/java/de/szeiger/interact/stc2/MetaClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/java/de/szeiger/interact/stc2/MetaClass.java -------------------------------------------------------------------------------- /src/main/scala/Analyzer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Analyzer.scala -------------------------------------------------------------------------------- /src/main/scala/BitOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/BitOps.scala -------------------------------------------------------------------------------- /src/main/scala/CleanEmbedded.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/CleanEmbedded.scala -------------------------------------------------------------------------------- /src/main/scala/Colors.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Colors.scala -------------------------------------------------------------------------------- /src/main/scala/Compiler.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Compiler.scala -------------------------------------------------------------------------------- /src/main/scala/CreateWiring.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/CreateWiring.scala -------------------------------------------------------------------------------- /src/main/scala/Curry.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Curry.scala -------------------------------------------------------------------------------- /src/main/scala/Debug.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Debug.scala -------------------------------------------------------------------------------- /src/main/scala/ExecutionMetrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/ExecutionMetrics.scala -------------------------------------------------------------------------------- /src/main/scala/ExpandRules.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/ExpandRules.scala -------------------------------------------------------------------------------- /src/main/scala/Global.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Global.scala -------------------------------------------------------------------------------- /src/main/scala/Inline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Inline.scala -------------------------------------------------------------------------------- /src/main/scala/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Main.scala -------------------------------------------------------------------------------- /src/main/scala/NormalizeCondition.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/NormalizeCondition.scala -------------------------------------------------------------------------------- /src/main/scala/Parser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Parser.scala -------------------------------------------------------------------------------- /src/main/scala/PlanRules.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/PlanRules.scala -------------------------------------------------------------------------------- /src/main/scala/Prepare.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Prepare.scala -------------------------------------------------------------------------------- /src/main/scala/ResolveEmbedded.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/ResolveEmbedded.scala -------------------------------------------------------------------------------- /src/main/scala/Runtime.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/Runtime.scala -------------------------------------------------------------------------------- /src/main/scala/SymCounts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/SymCounts.scala -------------------------------------------------------------------------------- /src/main/scala/ast/AST.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/ast/AST.scala -------------------------------------------------------------------------------- /src/main/scala/ast/Symbols.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/ast/Symbols.scala -------------------------------------------------------------------------------- /src/main/scala/ast/Transform.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/ast/Transform.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/AbstractCodeGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/AbstractCodeGen.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/BoxOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/BoxOps.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/ClassWriter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/ClassWriter.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/ParSupport.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/ParSupport.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/dsl/Acc.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/dsl/Acc.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/dsl/DSL.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/dsl/DSL.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/dsl/Desc.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/dsl/Desc.scala -------------------------------------------------------------------------------- /src/main/scala/codegen/dsl/TypedDSL.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/codegen/dsl/TypedDSL.scala -------------------------------------------------------------------------------- /src/main/scala/mt/CodeGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/mt/CodeGen.scala -------------------------------------------------------------------------------- /src/main/scala/mt/Interpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/mt/Interpreter.scala -------------------------------------------------------------------------------- /src/main/scala/mt/workers/Workers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/mt/workers/Workers.scala -------------------------------------------------------------------------------- /src/main/scala/offheap/Allocator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/offheap/Allocator.scala -------------------------------------------------------------------------------- /src/main/scala/offheap/MemoryDebugger.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/offheap/MemoryDebugger.scala -------------------------------------------------------------------------------- /src/main/scala/stc1/CodeGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc1/CodeGen.scala -------------------------------------------------------------------------------- /src/main/scala/stc1/GenStaticReduce.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc1/GenStaticReduce.scala -------------------------------------------------------------------------------- /src/main/scala/stc1/Interpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc1/Interpreter.scala -------------------------------------------------------------------------------- /src/main/scala/stc1/PTOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc1/PTOps.scala -------------------------------------------------------------------------------- /src/main/scala/stc2/CodeGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc2/CodeGen.scala -------------------------------------------------------------------------------- /src/main/scala/stc2/GenStaticReduce.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc2/GenStaticReduce.scala -------------------------------------------------------------------------------- /src/main/scala/stc2/Interpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc2/Interpreter.scala -------------------------------------------------------------------------------- /src/main/scala/stc2/PTOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/stc2/PTOps.scala -------------------------------------------------------------------------------- /src/main/scala/sti/Interpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/main/scala/sti/Interpreter.scala -------------------------------------------------------------------------------- /src/test/resources/ack.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/ack.check -------------------------------------------------------------------------------- /src/test/resources/ack.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/ack.in -------------------------------------------------------------------------------- /src/test/resources/diverging.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/diverging.check -------------------------------------------------------------------------------- /src/test/resources/diverging.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/diverging.in -------------------------------------------------------------------------------- /src/test/resources/embedded.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/embedded.check -------------------------------------------------------------------------------- /src/test/resources/embedded.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/embedded.in -------------------------------------------------------------------------------- /src/test/resources/fib.check: -------------------------------------------------------------------------------- 1 | res = 89n 2 | -------------------------------------------------------------------------------- /src/test/resources/fib.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/fib.in -------------------------------------------------------------------------------- /src/test/resources/inlining.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/inlining.check -------------------------------------------------------------------------------- /src/test/resources/inlining.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/inlining.in -------------------------------------------------------------------------------- /src/test/resources/lists.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/lists.check -------------------------------------------------------------------------------- /src/test/resources/lists.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/lists.in -------------------------------------------------------------------------------- /src/test/resources/par-mult.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/par-mult.check -------------------------------------------------------------------------------- /src/test/resources/par-mult.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/par-mult.in -------------------------------------------------------------------------------- /src/test/resources/seq-def.check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/seq-def.check -------------------------------------------------------------------------------- /src/test/resources/seq-def.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/resources/seq-def.in -------------------------------------------------------------------------------- /src/test/scala/BitOpsTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/scala/BitOpsTest.scala -------------------------------------------------------------------------------- /src/test/scala/LongBitOpsTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/scala/LongBitOpsTest.scala -------------------------------------------------------------------------------- /src/test/scala/MainTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/scala/MainTest.scala -------------------------------------------------------------------------------- /src/test/scala/TestUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/scala/TestUtils.scala -------------------------------------------------------------------------------- /src/test/scala/WorkersTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szeiger/interact/HEAD/src/test/scala/WorkersTest.scala --------------------------------------------------------------------------------