Declaration based compilation units.

This commit is contained in:
2023-09-02 20:22:08 -07:00
parent 04c78c35e0
commit b1f9e02253
26 changed files with 254 additions and 305 deletions

View File

@ -1,17 +0,0 @@
/* fibonacci sequence */
/**
* fib(n): calculate the fibonacci sequence.
* @input n the number to calculate fibonacci for
* @result the value of the fibonacci sequence for the number
*/
fib = { n in
if n == 0 // if n is zero, return zero
then 0
else if n == 1 // if n is one, return one
then 1
else fib(n - 1) + fib(n - 2)
}
// result of fib(20)
result = fib(20)
println(result)

View File

@ -1,5 +1,5 @@
/* fibonacci sequence */
fib = { n in
fn fib(n) {
if n == 0
then 0
else if n == 1
@ -7,5 +7,7 @@ fib = { n in
else fib(n - 1) + fib(n - 2)
}
result = fib(20)
println(result)
fn main() {
result = fib(20)
println(result)
}

View File

@ -1,53 +1,55 @@
three = 3
two = 2
fn main() {
three = 3
two = 2
calculateSimple = { in
(50 + three) * two
calculateSimple = { in
(50 + three) * two
}
calculateComplex = { in
three + two + 50
}
multiply = { a, b in
a * b
}
// calculates the result
calculateSimpleResult = calculateSimple()
calculateComplexResult = calculateComplex()
multiplyResult = multiply(50, 50)
list = [10, 20, 30]
trueValue = true
falseValue = false
invert = { value in
!value
}
notEqual = { a, b in
a != b
}
equal = { a, b in
a == b
}
results = [
calculateSimpleResult,
calculateComplexResult,
multiplyResult,
list,
trueValue,
falseValue,
invert(true),
invert(false),
equal(5, 5),
equal(5, 6),
notEqual(5, 5),
notEqual(5, 6)
]
println("results:")
println(results)
}
calculateComplex = { in
three + two + 50
}
multiply = { a, b in
a * b
}
// calculates the result
calculateSimpleResult = calculateSimple()
calculateComplexResult = calculateComplex()
multiplyResult = multiply(50, 50)
list = [10, 20, 30]
trueValue = true
falseValue = false
invert = { value in
!value
}
notEqual = { a, b in
a != b
}
equal = { a, b in
a == b
}
results = [
calculateSimpleResult,
calculateComplexResult,
multiplyResult,
list,
trueValue,
falseValue,
invert(true),
invert(false),
equal(5, 5),
equal(5, 6),
notEqual(5, 5),
notEqual(5, 6)
]
println("results:")
println(results)