59 lines
720 B
Plaintext
59 lines
720 B
Plaintext
module math
|
|
|
|
export struct vec2 {
|
|
x: i32
|
|
y: i32
|
|
}
|
|
|
|
export struct vec3 {
|
|
x: i32
|
|
y: i32
|
|
z: i32
|
|
}
|
|
|
|
export struct color {
|
|
r: i32
|
|
g: i32
|
|
b: i32
|
|
a: i32
|
|
}
|
|
|
|
export struct example {
|
|
b: color
|
|
}
|
|
|
|
export enum message {
|
|
quit: {}
|
|
move: color
|
|
}
|
|
|
|
export func add(a: i32 b: i32): i32
|
|
{
|
|
let message: message = enum message::move {
|
|
r = 23
|
|
g = 46
|
|
b = 56
|
|
}
|
|
|
|
match message {
|
|
quit q {}
|
|
move m {
|
|
m.r = 23
|
|
m.g = 23
|
|
m.b = 23
|
|
}
|
|
}
|
|
|
|
let color: color = {
|
|
r = 23
|
|
g = 23
|
|
b = 23
|
|
}
|
|
|
|
return add_internal(a b)
|
|
}
|
|
|
|
func add_internal(a: i32 b: i32): i32
|
|
{
|
|
return a + b
|
|
} |