├── .github └── workflows │ └── scala.yml ├── .gitignore ├── .scalafmt.conf ├── README.md ├── experiments ├── 01.txt ├── 02.txt └── 03.txt ├── lib ├── jgraphx-sources.jar └── jgraphx.jar ├── mrsc-core └── src │ ├── main │ └── scala │ │ └── mrsc │ │ └── core │ │ ├── generator.scala │ │ ├── graphs.scala │ │ ├── package.scala │ │ └── rules.scala │ └── test │ └── scala │ └── mrsc │ └── core │ └── test │ ├── DebugInfo.scala │ ├── GraphGeneratorSpec.scala │ ├── GraphOperationsSpec.scala │ └── GraphSpec.scala ├── mrsc-counters └── src │ └── main │ └── scala │ └── mrsc │ └── counters │ ├── demo.scala │ ├── language.scala │ ├── package.scala │ ├── proof.scala │ ├── protocols.scala │ └── rules.scala ├── mrsc-pfp └── src │ ├── main │ └── scala │ │ └── mrsc │ │ └── pfp │ │ ├── evaluation.scala │ │ ├── he.scala │ │ ├── io.scala │ │ ├── msg.scala │ │ ├── package.scala │ │ ├── parser.scala │ │ ├── residuation.scala │ │ ├── semantics.scala │ │ ├── shows.scala │ │ ├── syntax.scala │ │ ├── traits.scala │ │ ├── transformers.scala │ │ └── util.scala │ └── test │ └── scala │ └── mrsc │ └── pfp │ └── test │ ├── DeforestationSuite.scala │ ├── EvaluationSuite.scala │ ├── MRSCSuite.scala │ ├── ParserSuite.scala │ ├── SimpleSupercompilationSuite.scala │ ├── SyntaxSuite.scala │ ├── TicksEvaluationSuite.scala │ └── TicksNormalizationSuite.scala ├── mrsc-samples └── src │ └── main │ └── scala │ ├── PFP01Syntax.scala │ ├── PFP02Parsing.scala │ ├── PFP03EvalStep.scala │ ├── PFP04Deforestation.scala │ ├── PFP05Repl.scala │ ├── PFP06LetSuperlinear.scala │ ├── PFP07SimpleChecker.scala │ ├── PFP08MultiRuns.scala │ ├── PFP09MultiRuns.scala │ ├── PFP10MultiRuns.scala │ ├── PFP11MultiRuns.scala │ └── misc.scala ├── notes └── 001_2level.md ├── pfp ├── app1.pfp ├── app2.pfp ├── app3.pfp ├── app4.pfp ├── arrays │ └── defs.pfp ├── defs │ ├── list.pfp │ └── nat.pfp ├── exp1.pfp ├── he1.pfp ├── he4.pfp ├── nats │ ├── 01.pfp │ ├── 02.pfp │ └── 03.pfp ├── s001 │ ├── fin2.pfp │ ├── fin2a.pfp │ └── fin2b.pfp └── syntax │ └── 01.pfp ├── project ├── build.properties └── plugins.sbt ├── proofs.md └── research └── 2013.04.18.txt /.github/workflows/scala.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/.github/workflows/scala.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/README.md -------------------------------------------------------------------------------- /experiments/01.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/experiments/01.txt -------------------------------------------------------------------------------- /experiments/02.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/experiments/02.txt -------------------------------------------------------------------------------- /experiments/03.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/experiments/03.txt -------------------------------------------------------------------------------- /lib/jgraphx-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/lib/jgraphx-sources.jar -------------------------------------------------------------------------------- /lib/jgraphx.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/lib/jgraphx.jar -------------------------------------------------------------------------------- /mrsc-core/src/main/scala/mrsc/core/generator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/main/scala/mrsc/core/generator.scala -------------------------------------------------------------------------------- /mrsc-core/src/main/scala/mrsc/core/graphs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/main/scala/mrsc/core/graphs.scala -------------------------------------------------------------------------------- /mrsc-core/src/main/scala/mrsc/core/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/main/scala/mrsc/core/package.scala -------------------------------------------------------------------------------- /mrsc-core/src/main/scala/mrsc/core/rules.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/main/scala/mrsc/core/rules.scala -------------------------------------------------------------------------------- /mrsc-core/src/test/scala/mrsc/core/test/DebugInfo.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/test/scala/mrsc/core/test/DebugInfo.scala -------------------------------------------------------------------------------- /mrsc-core/src/test/scala/mrsc/core/test/GraphGeneratorSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/test/scala/mrsc/core/test/GraphGeneratorSpec.scala -------------------------------------------------------------------------------- /mrsc-core/src/test/scala/mrsc/core/test/GraphOperationsSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/test/scala/mrsc/core/test/GraphOperationsSpec.scala -------------------------------------------------------------------------------- /mrsc-core/src/test/scala/mrsc/core/test/GraphSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-core/src/test/scala/mrsc/core/test/GraphSpec.scala -------------------------------------------------------------------------------- /mrsc-counters/src/main/scala/mrsc/counters/demo.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-counters/src/main/scala/mrsc/counters/demo.scala -------------------------------------------------------------------------------- /mrsc-counters/src/main/scala/mrsc/counters/language.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-counters/src/main/scala/mrsc/counters/language.scala -------------------------------------------------------------------------------- /mrsc-counters/src/main/scala/mrsc/counters/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-counters/src/main/scala/mrsc/counters/package.scala -------------------------------------------------------------------------------- /mrsc-counters/src/main/scala/mrsc/counters/proof.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-counters/src/main/scala/mrsc/counters/proof.scala -------------------------------------------------------------------------------- /mrsc-counters/src/main/scala/mrsc/counters/protocols.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-counters/src/main/scala/mrsc/counters/protocols.scala -------------------------------------------------------------------------------- /mrsc-counters/src/main/scala/mrsc/counters/rules.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-counters/src/main/scala/mrsc/counters/rules.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/evaluation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/evaluation.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/he.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/he.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/io.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/io.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/msg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/msg.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/package.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/parser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/parser.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/residuation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/residuation.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/semantics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/semantics.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/shows.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/shows.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/syntax.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/syntax.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/traits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/traits.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/transformers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/transformers.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/main/scala/mrsc/pfp/util.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/main/scala/mrsc/pfp/util.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/DeforestationSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/DeforestationSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/EvaluationSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/EvaluationSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/MRSCSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/MRSCSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/ParserSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/ParserSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/SimpleSupercompilationSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/SimpleSupercompilationSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/SyntaxSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/SyntaxSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/TicksEvaluationSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/TicksEvaluationSuite.scala -------------------------------------------------------------------------------- /mrsc-pfp/src/test/scala/mrsc/pfp/test/TicksNormalizationSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-pfp/src/test/scala/mrsc/pfp/test/TicksNormalizationSuite.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP01Syntax.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP01Syntax.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP02Parsing.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP02Parsing.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP03EvalStep.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP03EvalStep.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP04Deforestation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP04Deforestation.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP05Repl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP05Repl.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP06LetSuperlinear.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP06LetSuperlinear.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP07SimpleChecker.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP07SimpleChecker.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP08MultiRuns.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP08MultiRuns.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP09MultiRuns.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP09MultiRuns.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP10MultiRuns.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP10MultiRuns.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/PFP11MultiRuns.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/PFP11MultiRuns.scala -------------------------------------------------------------------------------- /mrsc-samples/src/main/scala/misc.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/mrsc-samples/src/main/scala/misc.scala -------------------------------------------------------------------------------- /notes/001_2level.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/notes/001_2level.md -------------------------------------------------------------------------------- /pfp/app1.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/app1.pfp -------------------------------------------------------------------------------- /pfp/app2.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/app2.pfp -------------------------------------------------------------------------------- /pfp/app3.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/app3.pfp -------------------------------------------------------------------------------- /pfp/app4.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/app4.pfp -------------------------------------------------------------------------------- /pfp/arrays/defs.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/arrays/defs.pfp -------------------------------------------------------------------------------- /pfp/defs/list.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/defs/list.pfp -------------------------------------------------------------------------------- /pfp/defs/nat.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/defs/nat.pfp -------------------------------------------------------------------------------- /pfp/exp1.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/exp1.pfp -------------------------------------------------------------------------------- /pfp/he1.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/he1.pfp -------------------------------------------------------------------------------- /pfp/he4.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/he4.pfp -------------------------------------------------------------------------------- /pfp/nats/01.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/nats/01.pfp -------------------------------------------------------------------------------- /pfp/nats/02.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/nats/02.pfp -------------------------------------------------------------------------------- /pfp/nats/03.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/nats/03.pfp -------------------------------------------------------------------------------- /pfp/s001/fin2.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/s001/fin2.pfp -------------------------------------------------------------------------------- /pfp/s001/fin2a.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/s001/fin2a.pfp -------------------------------------------------------------------------------- /pfp/s001/fin2b.pfp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/pfp/s001/fin2b.pfp -------------------------------------------------------------------------------- /pfp/syntax/01.pfp: -------------------------------------------------------------------------------- 1 | letrec f = f in f; -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.5.5 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /proofs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/proofs.md -------------------------------------------------------------------------------- /research/2013.04.18.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilya-klyuchnikov/mrsc/HEAD/research/2013.04.18.txt --------------------------------------------------------------------------------