blob: ffdbdb5d73c0d6f6137e65eed61d9c0964c47d6c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# Tunk
**Tunk** is a
- strongly and dynamically typed
- pure functional
- interpreted
- general use
programming language. Tunk is a hobby project written for educational purposes, and is inspired by languages such as Elm and Haskell.
## Running Tunk
Build the `tunk` interpreter with `cargo`:
cargo build --release
Run `tunk` on a source file:
target/release/tunk run samples/sample1.tunk
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>>
|