aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md12
-rw-r--r--samples/sample1.tunk3
2 files changed, 13 insertions, 2 deletions
diff --git a/README.md b/README.md
index 401671e..ffdbdb5 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
- interpreted
- general use
-programming language. Tunk is a hobby project written for educational purposes.
+programming language. Tunk is a hobby project written for educational purposes, and is inspired by languages such as Elm and Haskell.
## Running Tunk
@@ -23,6 +23,16 @@ Run `tunk` REPL:
target/release/tunk repl
+## TODO
+
+- 𝛂-conversion to avoid variable name collisions in recursive functions
+- A pipeline operator (`argument |> function`)
+- A function composition operator (`inner >> outer`)
+- tail call recursion optimization
+- more primitives: `list`, `tuple`
+- list/monad operations `map`, `filter`, `reduce`
+- an effect system for handling IO etc.
+
## Author
Jan Tuomi, <<jans.tuomi@gmail.com>>
diff --git a/samples/sample1.tunk b/samples/sample1.tunk
index 168421b..26e934d 100644
--- a/samples/sample1.tunk
+++ b/samples/sample1.tunk
@@ -1,8 +1,9 @@
+rec n = triangle (int.sub n 1);
triangle n = int.eq? n 1
1
(int.add
n
- (triangle (int.sub n 1)));
+ (rec n));
triangle 500;