├── .dockerignore ├── .github └── workflows │ └── build-push-docker-image.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── README.md ├── compiler ├── Cargo.toml ├── Makefile.toml └── src │ ├── ast.rs │ ├── backend │ ├── codegen.rs │ ├── memory.rs │ ├── mod.rs │ └── name_mangling.rs │ ├── common │ ├── dump.rs │ ├── mod.rs │ ├── name_context.rs │ ├── ref_path.rs │ ├── runtime.rs │ ├── sym.rs │ ├── type_context.rs │ └── unique_name.rs │ ├── frontend │ ├── grammar.pest │ ├── mod.rs │ └── tests.rs │ ├── lib.rs │ ├── main.rs │ ├── midend │ ├── middle_ir.rs │ ├── mod.rs │ └── typed_ast.rs │ └── vis.rs ├── document ├── object-model.svg ├── pipeline.svg ├── slides.pdf └── types.svg ├── example ├── accept │ ├── advisor.mag │ ├── mat.mag │ └── qs.mag └── test │ ├── demo.mag │ ├── full.mag │ └── simple.mag ├── runtime ├── Cargo.toml ├── Makefile.toml └── src │ ├── alloc.rs │ ├── aux.rs │ ├── console.rs │ ├── lib.rs │ ├── panic.rs │ ├── std │ ├── array.rs │ ├── io.rs │ ├── mod.rs │ └── string.rs │ └── types │ ├── array.rs │ ├── boolean.rs │ ├── closure.rs │ ├── comparison.rs │ ├── conversion.rs │ ├── enumeration.rs │ ├── float.rs │ ├── int.rs │ ├── mod.rs │ ├── string.rs │ └── tuple.rs └── testsuite ├── advisor ├── advisor-tester ├── advisor.mag ├── matrix-mul ├── matrix-mul-tester ├── matrix-mul.mag ├── quicksort ├── quicksort-tester ├── quicksort.mag └── test-all.sh /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/workflows/build-push-docker-image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/.github/workflows/build-push-docker-image.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/README.md -------------------------------------------------------------------------------- /compiler/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/Cargo.toml -------------------------------------------------------------------------------- /compiler/Makefile.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/Makefile.toml -------------------------------------------------------------------------------- /compiler/src/ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/ast.rs -------------------------------------------------------------------------------- /compiler/src/backend/codegen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/backend/codegen.rs -------------------------------------------------------------------------------- /compiler/src/backend/memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/backend/memory.rs -------------------------------------------------------------------------------- /compiler/src/backend/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/backend/mod.rs -------------------------------------------------------------------------------- /compiler/src/backend/name_mangling.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/backend/name_mangling.rs -------------------------------------------------------------------------------- /compiler/src/common/dump.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/dump.rs -------------------------------------------------------------------------------- /compiler/src/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/mod.rs -------------------------------------------------------------------------------- /compiler/src/common/name_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/name_context.rs -------------------------------------------------------------------------------- /compiler/src/common/ref_path.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/ref_path.rs -------------------------------------------------------------------------------- /compiler/src/common/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/runtime.rs -------------------------------------------------------------------------------- /compiler/src/common/sym.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/sym.rs -------------------------------------------------------------------------------- /compiler/src/common/type_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/type_context.rs -------------------------------------------------------------------------------- /compiler/src/common/unique_name.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/common/unique_name.rs -------------------------------------------------------------------------------- /compiler/src/frontend/grammar.pest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/frontend/grammar.pest -------------------------------------------------------------------------------- /compiler/src/frontend/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/frontend/mod.rs -------------------------------------------------------------------------------- /compiler/src/frontend/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/frontend/tests.rs -------------------------------------------------------------------------------- /compiler/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/lib.rs -------------------------------------------------------------------------------- /compiler/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/main.rs -------------------------------------------------------------------------------- /compiler/src/midend/middle_ir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/midend/middle_ir.rs -------------------------------------------------------------------------------- /compiler/src/midend/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/midend/mod.rs -------------------------------------------------------------------------------- /compiler/src/midend/typed_ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/midend/typed_ast.rs -------------------------------------------------------------------------------- /compiler/src/vis.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/compiler/src/vis.rs -------------------------------------------------------------------------------- /document/object-model.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/document/object-model.svg -------------------------------------------------------------------------------- /document/pipeline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/document/pipeline.svg -------------------------------------------------------------------------------- /document/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/document/slides.pdf -------------------------------------------------------------------------------- /document/types.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/document/types.svg -------------------------------------------------------------------------------- /example/accept/advisor.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/example/accept/advisor.mag -------------------------------------------------------------------------------- /example/accept/mat.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/example/accept/mat.mag -------------------------------------------------------------------------------- /example/accept/qs.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/example/accept/qs.mag -------------------------------------------------------------------------------- /example/test/demo.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/example/test/demo.mag -------------------------------------------------------------------------------- /example/test/full.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/example/test/full.mag -------------------------------------------------------------------------------- /example/test/simple.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/example/test/simple.mag -------------------------------------------------------------------------------- /runtime/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/Cargo.toml -------------------------------------------------------------------------------- /runtime/Makefile.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/Makefile.toml -------------------------------------------------------------------------------- /runtime/src/alloc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/alloc.rs -------------------------------------------------------------------------------- /runtime/src/aux.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/aux.rs -------------------------------------------------------------------------------- /runtime/src/console.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/console.rs -------------------------------------------------------------------------------- /runtime/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/lib.rs -------------------------------------------------------------------------------- /runtime/src/panic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/panic.rs -------------------------------------------------------------------------------- /runtime/src/std/array.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/std/array.rs -------------------------------------------------------------------------------- /runtime/src/std/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/std/io.rs -------------------------------------------------------------------------------- /runtime/src/std/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/std/mod.rs -------------------------------------------------------------------------------- /runtime/src/std/string.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/std/string.rs -------------------------------------------------------------------------------- /runtime/src/types/array.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/array.rs -------------------------------------------------------------------------------- /runtime/src/types/boolean.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/boolean.rs -------------------------------------------------------------------------------- /runtime/src/types/closure.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/closure.rs -------------------------------------------------------------------------------- /runtime/src/types/comparison.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/comparison.rs -------------------------------------------------------------------------------- /runtime/src/types/conversion.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/conversion.rs -------------------------------------------------------------------------------- /runtime/src/types/enumeration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/enumeration.rs -------------------------------------------------------------------------------- /runtime/src/types/float.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/float.rs -------------------------------------------------------------------------------- /runtime/src/types/int.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/int.rs -------------------------------------------------------------------------------- /runtime/src/types/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/mod.rs -------------------------------------------------------------------------------- /runtime/src/types/string.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/string.rs -------------------------------------------------------------------------------- /runtime/src/types/tuple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/runtime/src/types/tuple.rs -------------------------------------------------------------------------------- /testsuite/advisor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/advisor -------------------------------------------------------------------------------- /testsuite/advisor-tester: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/advisor-tester -------------------------------------------------------------------------------- /testsuite/advisor.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/advisor.mag -------------------------------------------------------------------------------- /testsuite/matrix-mul: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/matrix-mul -------------------------------------------------------------------------------- /testsuite/matrix-mul-tester: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/matrix-mul-tester -------------------------------------------------------------------------------- /testsuite/matrix-mul.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/matrix-mul.mag -------------------------------------------------------------------------------- /testsuite/quicksort: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/quicksort -------------------------------------------------------------------------------- /testsuite/quicksort-tester: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/quicksort-tester -------------------------------------------------------------------------------- /testsuite/quicksort.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/quicksort.mag -------------------------------------------------------------------------------- /testsuite/test-all.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/permui/calocom/HEAD/testsuite/test-all.sh --------------------------------------------------------------------------------