Skip to content
An interpreter for the Monkey programming language written in Haskell
Branch: master
Clone or download
Latest commit 12da8d9 Sep 27, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Add an example for hash Mar 5, 2017
lib Implement evaluators for hash processing Mar 5, 2017
repl Use Kleisli fish operator Mar 6, 2017
src Implement mki, the main interpreter Mar 5, 2017
test
.gitignore Initial commit Feb 4, 2017
CHANGELOG.md Initial commit Feb 4, 2017
LICENSE Initial commit Feb 4, 2017
README.md Update README.md Mar 5, 2017
Setup.hs Initial commit Feb 4, 2017
monkey-hs.cabal New github handle name Sep 27, 2017
stack.yaml

README.md

monkey-hs

An interpreter for the Monkey programming language written in Haskell

The Monkey Programming Language

The official Monkey logo

What's Monkey?

Monkey is a programming language designed for learning about interpreter implementation, used in a book, Writing An Interpreter In Go.

Why Haskell?

The original implementation in the book is written in Go. Go is a great language, but I personally find Haskell more attractive than Go. Haskell is well-known for its efficiency in writing compiler too.

Most importantly, writing Haskell makes me productive and happy.

Instruction

Build, test and install

$ stack build
$ stack test
$ stack install # will install binaries in $PATH

REPL

$ mkrepl
$ stack exec mkrepl # without install

Interpreter

$ mki examples/map-reduce.mk
$ stack exec mki examples/hash.mk # without install

License

BSD3

You can’t perform that action at this time.