All Projects → hatashiro → monkey-rs

hatashiro / monkey-rs

Licence: MIT license
An interpreter for the Monkey programming language written in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to monkey-rs

monkey
The Monkey Programming Language & Interpreter written in PHP.
Stars: ✭ 21 (-22.22%)
Mutual labels:  interpreter, monkey-programming-language
nj
NJ is a simple script engine in golang with Lua-like syntax.
Stars: ✭ 19 (-29.63%)
Mutual labels:  interpreter
minima
A fast, byte-code interpreted language
Stars: ✭ 43 (+59.26%)
Mutual labels:  interpreter
pawn-3.2-plus
Pawn scripting language with runtime fixes and improvements
Stars: ✭ 14 (-48.15%)
Mutual labels:  interpreter
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (+111.11%)
Mutual labels:  interpreter
MUA-Interpreter
MUA is a functional language for teaching use in Principles of Programming Languages course.
Stars: ✭ 16 (-40.74%)
Mutual labels:  interpreter
xstate
State machines and statecharts for the modern web.
Stars: ✭ 21,286 (+78737.04%)
Mutual labels:  interpreter
g2d
Craft beautiful geometric art using code.
Stars: ✭ 40 (+48.15%)
Mutual labels:  interpreter
LambdaCore
An interpreted language written in Rust inspired by the Lisp family of languages.
Stars: ✭ 56 (+107.41%)
Mutual labels:  interpreter
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+188.89%)
Mutual labels:  interpreter
xin
Xin (신/心) is a flexible functional programming language with a tiny core, inspired by Lisp and CSP
Stars: ✭ 20 (-25.93%)
Mutual labels:  interpreter
Garam-Interpreter
"훈민정음은 디자인이다" 가람은 튜링 완전 프로그래밍 언어입니다.
Stars: ✭ 23 (-14.81%)
Mutual labels:  interpreter
ol
Otus Lisp (Ol in short) is a purely* functional dialect of Lisp.
Stars: ✭ 157 (+481.48%)
Mutual labels:  interpreter
clover2
Clover2 can be used as shell. The completion is powerfull like IDE. Also clover2 is a Ruby-like compiler language with static type like Java. This is high performnace. Please see the wiki for details
Stars: ✭ 100 (+270.37%)
Mutual labels:  interpreter
nopforth
A dialect of the Forth programming language
Stars: ✭ 22 (-18.52%)
Mutual labels:  interpreter
whilelang
A small programming language created with ANTLR and Scala
Stars: ✭ 29 (+7.41%)
Mutual labels:  interpreter
bfloader
🧠 Brainfuck IDE and interpreter in 512 bytes. (boot sector)
Stars: ✭ 41 (+51.85%)
Mutual labels:  interpreter
foth
Tutorial-style FORTH implementation written in golang
Stars: ✭ 50 (+85.19%)
Mutual labels:  interpreter
Arduino-FVM
Byte Token Threaded Forth Virtual Machine (FVM) for Arduino
Stars: ✭ 35 (+29.63%)
Mutual labels:  interpreter
prolog
The only reasonable scripting engine for Go.
Stars: ✭ 408 (+1411.11%)
Mutual labels:  interpreter

monkey-rs Build Status

A compiler for the Monkey programming language written in Rust

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.

Again, why?

Some people may already know that I've written a Monkey interpreter in Haskell. Why do I rewrite a similar thing in another language? Does it really mean anything?

Well, I've recently started learning Rust, and thought rewriting what I've already made would be a nice start to learn a new language. Also, the transition may not be so difficult as Rust adopted many language concepts from Haskell, such as pattern match, error handling, and trait (known as type class in Haskell).

Let me see if I can do it well ✌️

Screenshot

Compiler error messages

REPL

Instruction

Build, test and install:

cargo build --all
cargo test --all
cargo install

Run REPL and scripts:

monkey repl
monkey run examples/map-reduce.mk

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].