Skip to content

jantuomi/tunk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/recursion.tunk

Run tunk REPL:

target/release/tunk repl

TODO

  • 𝛂-conversion to avoid variable name collisions in recursive functions
  • anonymous function syntax (\x y -> x)
  • 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>

About

A small functional language interpreter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages