Skip to content

tahu-lang/tahu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tahu Programming Language

Quick Examples

Hello World

fn main() {
    println("Hello, World!")
}

Variables and Types

fn main() {
    // Immutable variable
    val name: string = "Tahu"

    // Mutable variable
    var age: int = 5
    age = 6 // Reassigning a mutable variable

    var port: int = 8080
    var is_running: bool = true
    
    // Type inference
    var message = "Server running on port ${port}"
    print(message)
}

Data Types

Primitive

i8;
i16;
i32;
i64;
isize;

u8;
u16;
u32;
u64;
usize;

f32;
f64;

char;
bool;
unit;

Composite

array

var arr = [1, 2, 3];

arr[0];

struct

struct Person {
    name: string
    age: int
}

var person = Person {
    name: "Tahu",
    age: 5
}

Control Flow

If-Else

fn main() {
    var condition = true;
    if condition {
        println("Condition is true")
    } else {
        println("Condition is false")
    }
}

While Loop

fn main() {
    var i = 0
    while i < 5 {
        println(i)
        i += 1
    }
}

Functions

Function Definition

fn add(a: int, b: int) int {
    return a + b
}

// fn with public visibility can access cross file
// math.tahu
pub fn sub(a: int, b: int) int {
    return a - b
}

// main.tahu
import math

fn main() {
    var result = sub(3, 4)
    print(result)
}

Function Calling

fn main() {
    var result = add(3, 4)
    print(result)
}

Extern Function

extern fn prints(msg: string, len: usize) unit;

fn print(msg: string) unit {
    prints(msg, msg.len)
}

Installation

TODO

Getting Started

TODO

About

Tahu programming language for general purpose easy to learning

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages