Experimental statically-typed compiled programming language made with LLVM and Rust. https://ed-lang.org/
Go to file
2024-05-07 08:27:27 +02:00
.github chore: update deps 2024-05-05 11:39:59 +02:00
.vscode progress 2024-01-15 07:44:11 +01:00
bin/edlangc version 2024-04-09 13:00:38 +02:00
edb chore: update deps 2024-05-05 11:39:59 +02:00
lib feat: function call checks 2024-05-07 08:27:27 +02:00
programs upd 2024-02-19 21:09:35 +01:00
.clangd ok 2024-01-20 16:44:34 +01:00
.gitattributes gitattributes 2024-02-17 17:33:39 +01:00
.gitignore progress 2024-03-27 12:08:48 +01:00
build.rs initial 2023-03-25 16:21:26 +01:00
Cargo.lock feat: function call checks 2024-05-07 08:27:27 +02:00
Cargo.toml codegen for impl methods 2024-05-05 15:09:24 +02:00
CHANGELOG.md chore: update changelog 2024-03-13 12:32:10 +01:00
cliff.toml don't use defautl scope in other changelog 2024-03-13 12:32:52 +01:00
LICENSE initial 2023-03-25 16:21:26 +01:00
README.md version 2024-04-09 13:00:38 +02:00
release.toml feat: Properly version all crates 2024-02-13 07:26:10 +01:00

edlang

An experimental statically-typed compiled programming language made with LLVM and Rust.

Syntax is subject to change any time right now. It has a rusty style for now.

pub fn main() -> i32 {
    let b: i32 = factorial(4);
    return b;
}

pub fn factorial(n: i32) -> i32 {
    if n == 1 {
        return n;
    } else {
        return n * factorial(n - 1);
    }
}

mod hello {
  pub fn world(ptr: *const u8) -> u8 {
    return *ptr;
  }
}

edb: The edlang builder

edb is a tool like cargo but for edlang:

edlang builder

Usage: edlang <COMMAND>

Commands:
  new    Initialize a project
  build  Build a project
  help   Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Dependencies

  • Rust
  • LLVM 18