Skip to content

matcool/tack-lang

Repository files navigation

tack

very silly toy language

fn main(): i32 { return 42; }

Roadmap

  • functions
  • variables
  • floats
  • if statements
  • else statements
  • else if
  • while statements
  • for loops
  • string
  • structs
  • structs as function args
  • pointers
  • import
  • arrays
  • struct literals
     struct Point { x: i32;	y: i32; } fn main(): i32 { let point: Point = Point { x: 10, y: 20 }; return point.x; }
  • struct methods
     struct Point { x: i32;	y: i32; fn dist_squared(self): i32 { return self.x * self.x + self.y * self.y; } } fn main(): i32 { let point: Point = Point { x: 10, y: 20 }; return point.dist_squared(); }
  • standard library
  • error handling (Result?, try expr?)
  • block expressions, yield statements
  • basic generics
     // not sure on syntax still fn add<T>(a: T, b: T): T { return a + b; } fn main(): i32 { // also not sure return add<i32>(1, 2); }

About

toy language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •