Experimental statically-typed compiled programming language made with LLVM and Rust. https://ed-lang.org/
Go to file
2024-04-09 12:57:57 +02:00
.github fix: fix tests 2024-03-13 12:24:40 +01:00
.vscode progress 2024-01-15 07:44:11 +01:00
bin/edlangc chore: bump version 2024-03-13 12:24:59 +01:00
edb feat: add aliases for new and build 2024-03-27 12:46:27 +01:00
lib llvm 18 2024-04-09 12:57:57 +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 llvm 18 2024-04-09 12:57:57 +02:00
Cargo.toml feat: initial work on edb, the edlang project manager 2024-03-11 09:36:49 +01: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 progress 2024-03-27 12:08:48 +01: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 17