Skip to content

pauldix/monkey-rust

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 

Monkey Rust

This is a Rust implementation of Thorsten Ball's Monkey programming language from his excellent book Writing An Interpreter in Go. I built it as a fun way to learn the basics of Rust. An interpreter is great for this because you only use the standard library and don't yet have to worry about threads, network programming or a bunch of other complicated stuff. I attempted to keep the structure as close to Thorsten's Go implementation as possible, which means it might not be the best way to structure things in Rust (I'm still learning). Although I did pull in a few Rust idioms like results and error handling. I've written up more details on my learning process, and other stuff in my post Rust can be difficult to learn and frustrating, but it's also the most exciting thing in software development in a long time.

About

My first foray into learning Rust: an implementation of Thorsten Ball's Monkey programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages