├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── examples ├── Curried.nr ├── FieldMut.nr ├── Fields.nr ├── Game2048.nr ├── LoopFib.nr ├── Pattern.nr ├── PolyFunc.nr ├── RecFib.nr ├── RecordOpt.nr ├── Reference.nr └── Trivial.nr ├── src ├── analyze │ ├── check.rs │ ├── diagnostic.rs │ ├── mod.rs │ └── unify.rs ├── backend │ ├── codegen_c.rs │ ├── interp.rs │ ├── lowering.rs │ ├── mod.rs │ └── tac.rs ├── core │ ├── closure.rs │ ├── cps.rs │ ├── cps_trans.rs │ ├── inline.rs │ ├── mod.rs │ ├── optimize.rs │ ├── parser.rs │ ├── pattern.rs │ ├── printer.rs │ └── rename.rs ├── driver │ ├── cli.rs │ ├── command.rs │ └── mod.rs ├── lib.rs ├── main.rs ├── syntax │ ├── ast.rs │ ├── lexer.rs │ ├── mod.rs │ ├── parser.rs │ ├── prim.rs │ └── rename.rs └── utils │ ├── env_map.rs │ ├── ident.rs │ ├── intern.rs │ ├── mod.rs │ └── padding.rs └── tests ├── examples.rs └── game2048.rs /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | Cargo.lock 3 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/README.md -------------------------------------------------------------------------------- /examples/Curried.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/Curried.nr -------------------------------------------------------------------------------- /examples/FieldMut.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/FieldMut.nr -------------------------------------------------------------------------------- /examples/Fields.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/Fields.nr -------------------------------------------------------------------------------- /examples/Game2048.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/Game2048.nr -------------------------------------------------------------------------------- /examples/LoopFib.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/LoopFib.nr -------------------------------------------------------------------------------- /examples/Pattern.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/Pattern.nr -------------------------------------------------------------------------------- /examples/PolyFunc.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/PolyFunc.nr -------------------------------------------------------------------------------- /examples/RecFib.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/RecFib.nr -------------------------------------------------------------------------------- /examples/RecordOpt.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/RecordOpt.nr -------------------------------------------------------------------------------- /examples/Reference.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/Reference.nr -------------------------------------------------------------------------------- /examples/Trivial.nr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/examples/Trivial.nr -------------------------------------------------------------------------------- /src/analyze/check.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/analyze/check.rs -------------------------------------------------------------------------------- /src/analyze/diagnostic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/analyze/diagnostic.rs -------------------------------------------------------------------------------- /src/analyze/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/analyze/mod.rs -------------------------------------------------------------------------------- /src/analyze/unify.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/analyze/unify.rs -------------------------------------------------------------------------------- /src/backend/codegen_c.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/backend/codegen_c.rs -------------------------------------------------------------------------------- /src/backend/interp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/backend/interp.rs -------------------------------------------------------------------------------- /src/backend/lowering.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/backend/lowering.rs -------------------------------------------------------------------------------- /src/backend/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/backend/mod.rs -------------------------------------------------------------------------------- /src/backend/tac.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/backend/tac.rs -------------------------------------------------------------------------------- /src/core/closure.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/closure.rs -------------------------------------------------------------------------------- /src/core/cps.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/cps.rs -------------------------------------------------------------------------------- /src/core/cps_trans.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/cps_trans.rs -------------------------------------------------------------------------------- /src/core/inline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/inline.rs -------------------------------------------------------------------------------- /src/core/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/mod.rs -------------------------------------------------------------------------------- /src/core/optimize.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/optimize.rs -------------------------------------------------------------------------------- /src/core/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/parser.rs -------------------------------------------------------------------------------- /src/core/pattern.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/pattern.rs -------------------------------------------------------------------------------- /src/core/printer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/printer.rs -------------------------------------------------------------------------------- /src/core/rename.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/core/rename.rs -------------------------------------------------------------------------------- /src/driver/cli.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/driver/cli.rs -------------------------------------------------------------------------------- /src/driver/command.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/driver/command.rs -------------------------------------------------------------------------------- /src/driver/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/driver/mod.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/syntax/ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/syntax/ast.rs -------------------------------------------------------------------------------- /src/syntax/lexer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/syntax/lexer.rs -------------------------------------------------------------------------------- /src/syntax/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/syntax/mod.rs -------------------------------------------------------------------------------- /src/syntax/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/syntax/parser.rs -------------------------------------------------------------------------------- /src/syntax/prim.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/syntax/prim.rs -------------------------------------------------------------------------------- /src/syntax/rename.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/syntax/rename.rs -------------------------------------------------------------------------------- /src/utils/env_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/utils/env_map.rs -------------------------------------------------------------------------------- /src/utils/ident.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/utils/ident.rs -------------------------------------------------------------------------------- /src/utils/intern.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/utils/intern.rs -------------------------------------------------------------------------------- /src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/utils/mod.rs -------------------------------------------------------------------------------- /src/utils/padding.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/src/utils/padding.rs -------------------------------------------------------------------------------- /tests/examples.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/tests/examples.rs -------------------------------------------------------------------------------- /tests/game2048.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonPing/norem-lang/HEAD/tests/game2048.rs --------------------------------------------------------------------------------