fibonacci(n: int) = {
a: int = 0
b: int = 1
for(i: int = 0, n) {
println(string(a))
temp : int = a + b
a = b
b = temp
}
}
main = {
fibonacci(5)
}
sum(begin: int, end: int) = int {
if(begin <= end){
begin + sum(begin+1, end)
} else {
0
}
}
main = {
println(string(sum(1,10)))
}
sub(x:int, y:int) = int(x-y)
@test
testSub = bool{
sub(10,20) == -10
}
sum(x:int,y:int) = int{
x + y
}
@test
testSum = bool{
sum(4,6) == 10
}
main = {
runGlobalTests()
}
class Point{
x:double
y:double
new(x:double,y:double) = {
this.x = x
this.y = y
}
getProduct = double(this.x*y)
}
operator +(a:Point, b:Point) = Point {
Point(a.x + b.x,a.y + b.y)
}
string(pt: Point) = string("Point(" + string(pt.x) + ", " + string(pt.y) + ")")
main = {
a := Point(1.5,2.5)
b := Point(3.5,4.5)
c := a + b
println(string(c))
println(string(c.getProduct()))
}