aboutsummaryrefslogtreecommitdiffstats
path: root/tests/fun.tdy
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fun.tdy')
-rw-r--r--tests/fun.tdy73
1 files changed, 0 insertions, 73 deletions
diff --git a/tests/fun.tdy b/tests/fun.tdy
deleted file mode 100644
index 6457c78..0000000
--- a/tests/fun.tdy
+++ /dev/null
@@ -1,73 +0,0 @@
-// Simplest
-f := fn {}
-f()
-
-// Simple param
-f2 := fn a: int {}
-f2(1)
-
-// Return value
-f3 := fn -> int {
- ret 3
-}
-f3() <=> 3
-
-// Combined
-f4 := fn a: int -> int {
- ret a + a
-}
-f4(2) <=> 4
-
-// Multiple arguments
-adder := fn a: int, b: int -> int {
- ret a + b
-}
-adder(1, 2) <=> 3
-
-// calls inside calls
-adder(f3(), f3() + 1) <=> 7
-
-// Passing functions
-h := fn -> int {
- ret 1
-}
-g := fn f: fn -> int -> int{
- ret f()
-}
-g(h) <=> 1
-
-// multiple returns
-q := fn i: int -> int {
- if i == 1 {
- ret 2
- } else {
- ret 3
- }
-}
-q(1) <=> 2
-q(0) <=> 3
-
-// mixing function and value types
-f5 := fn a: fn -> int, b: int -> int {
- ret a() + b
-}
-f5_inner := fn -> int {
- ret 1
-}
-f5(f5_inner, 2) <=> 3
-
-// precedence
-f6 := fn a: int, b: int -> int {
- ret a + b
-}
-1 + f6(2, 3) <=> 6
-
-// factorial := fn n: int -> int {
-// if n <= 1 {
-// ret 1
-// }
-// ret n * factorial(n - 1)
-// }
-// factorial(5) <=> 120
-// factorial(6) <=> 720
-// factorial(12) <=> 479001600