Edlang is 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.

This project is early in development and a work in progress.

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;

Source code

Repository: edg-l/edlang

Releases: on github

Cargo docs

Getting Started

Here starts your journey with Edlang, we will show you how to:

  • Install Edlang
  • Use edb to create your first project.


Currently, you can install edlang by using edb, you can download the latest version here: releases

Note: The url here may be outdated.

wget https://github.com/edg-l/edlang/releases/download/v0.0.1-alpha.17/edb
chmod +x ./edb
mv edb /usr/local/bin/

Or you can install it from source:

cargo install --git https://github.com/edg-l/edlang edb