lemonlang 0.0.4

an experimental, modern, purely safe, programming language.
fn compute(r0: u32, r1: u32): u32 = {
  l0: r2 = add r0, r1
      r3 = cmp_gt r2, 100
      jmp_if r3, l1, l2

  l1: r4 = sub r2, 50
      free r2
      ret r4

  l2: ret r2
}

fn allocate_data(): *i32 = {
  l0: r0 = alloc 12
      store r0, 0, 10
      store r0, 4, 20
      store r0, 8, 30
      ret r0
}

fn access_data(ptr: *i32): i32 = {
  l0: r1 = load ptr, 4
      ret r1
}


fn multiply(a: i32, b: i32): i32 = {
  l0: r0 = mul a, b
      ret r0
}

fn main(): i32 = {
  l0: r0 = multiply 6, 7
      ret r0
}