concrete
concrete copied to clipboard
Concrete is a simple programming language specifically crafted for creating highly scalable systems that are reliable, efficient, and easy to maintain.
It includes the option --check for running linear checker algorithms which will run only for variables of a type named "Linear". It includes 3 linearExamples in example path. This examples...
closes #75 Adds support for simple literal constants: ```rust mod Example { const foo: i32 = 10; const var: i64 = 5; fn main() -> i32 { let vix: i32...
``` mod LinearExampleStub { struct Linear { x: i32, y: i32, } fn main() -> i32 { let mut xy: Linear = Linear { x: 0, y: 1, }; //...
Right now we resolve types by name in a simple way, it probably needs enhancing and be done in a non stringly way. Related code: https://github.com/lambdaclass/concrete/blob/771662e8343e246cfee4bcbd935fd1374d90c324/crates/concrete_codegen_mlir/src/codegen.rs#L53-L81
When invoking the `bulid` command with any of the options to output an intermediate artifact, e.g. AST, IR, etc the path to the output file should be printed.
On linux use `ld.so --list-diagnostics` and parse the results to find the system dirs to pass to the linker. The output looks like this on my gentoo: ``` ... path.prefix="/usr"...
Inspired by MIRI
https://polly.llvm.org/docs/Architecture.html#polly-in-the-llvm-pass-pipeline