lemonlang 0.0.4

an experimental, modern, purely safe, programming language.
// extern fn printf(fmt: str, ...): i32 = {};
extern fn printf(fmt: str, ...) = {};

fn println(value: i32) = printf("%d\n", value);

fn min(a: i32, b: i32): i32 = {
  if (a < b) return a;
  return b;
}

fn max(a: i32, b: i32): i32 = {
  if (a > b) return a;
  return b;
}

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

fn fibonacci(n: i32): i32 = {
  if (n <= 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

fn main() = {
  let value = fibonacci(40);
  println(value);

  let value = factorial(10);
  println(value);

  let value = min(10, 20);
  println(value);

  let value = max(10, 20);
  println(value);
}