Skip to content

An interpreter for Monkey with parser combinator written in Haskell

License

Notifications You must be signed in to change notification settings

hatashiro/monkey-hs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

An interpreter for Monkey with parser combinator written in Haskell

Topics

Resources

License

Stars

Watchers

Forks