Less confusing branches #1
13
assets/examples/loops.rhea
Normal file
13
assets/examples/loops.rhea
Normal file
|
@ -0,0 +1,13 @@
|
|||
func main(){
|
||||
var i = 0;
|
||||
loop {
|
||||
match i {
|
||||
10 -> break;
|
||||
}
|
||||
i = i + 1;
|
||||
}
|
||||
loop {}
|
||||
}
|
||||
|
||||
|
||||
|
9
assets/examples/match.rhea
Normal file
9
assets/examples/match.rhea
Normal file
|
@ -0,0 +1,9 @@
|
|||
var std = import "std";
|
||||
var print = std.print;
|
||||
|
||||
func main() {
|
||||
match 2 {
|
||||
1 -> { print("One") }
|
||||
2 -> { print("Two") }
|
||||
}
|
||||
}
|
|
@ -3,4 +3,7 @@
|
|||
const C = 299_792_458;
|
||||
|
||||
const pi = 3.141592653589793;
|
||||
const tau = 6.283185307179586;
|
||||
const π = pi;
|
||||
|
||||
const tau = 6.283185307179586;
|
||||
const 𝜏 = tau;
|
|
@ -1 +1,24 @@
|
|||
var constants = include "constants";
|
||||
var constants = include "constants";
|
||||
|
||||
func square_root(value){
|
||||
match value{
|
||||
0..1 -> return value;
|
||||
value -> {
|
||||
var y = x;
|
||||
var z = (y + (x/y)) / 2;
|
||||
// NOTE: not finalized syntax
|
||||
while abs(y - z) >= 0.00001{
|
||||
y = z
|
||||
z = (y + (x/y)) / 2
|
||||
}
|
||||
return z;
|
||||
}
|
||||
}
|
||||
}
|
||||
var sqrt = square_root;
|
||||
var √ = square_root;
|
||||
|
||||
func absolute_value(value){
|
||||
|
||||
}
|
||||
var abs = absolute_value;
|
|
@ -1 +1,6 @@
|
|||
var log = include "log";
|
||||
var log = include "log";
|
||||
|
||||
func print(value) {
|
||||
// TODO: define an api for output
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,25 @@
|
|||
func error(){}
|
||||
func warn(){}
|
||||
func info(){}
|
||||
func debug(){}
|
||||
func trace(){}
|
||||
var io = include "io";
|
||||
var print = io.print;
|
||||
|
||||
// TODO: include time in the log
|
||||
|
||||
|
||||
func error(value){
|
||||
print("error " + value)
|
||||
}
|
||||
|
||||
func warn(value){
|
||||
print("warn " + value)
|
||||
}
|
||||
|
||||
func info(value){
|
||||
print("info " + value)
|
||||
}
|
||||
|
||||
func debug(value){
|
||||
print("debug " + value)
|
||||
}
|
||||
|
||||
func trace(value){
|
||||
print("trace " + value)
|
||||
}
|
|
@ -1,2 +1,4 @@
|
|||
var io = include "std.io";
|
||||
var math = include "math"
|
||||
var io = include "io";
|
||||
var math = include "math";
|
||||
|
||||
var print = io.print;
|
|
@ -58,6 +58,7 @@ pub enum Token {
|
|||
#[token("const")] Const,
|
||||
#[token("var")] Var,
|
||||
#[token("func")] Func,
|
||||
// Modules aren't real here ondra just variables with imported functions
|
||||
#[token("module")] Module,
|
||||
|
||||
#[regex(
|
||||
|
|
Loading…
Reference in a new issue