SkillAgentSearch skills...

Mango

Mango is a small, dynamically-typed scripting language that executes under a stack-based virtual machine. Mango is the first programming language that I've made, and it is also my first serious attempt at a project in Rust.

Install / Use

/learn @Tamiyo/Mango
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Mango Programming Language

What is Mango?

Mango is a fun scripting language that I am developing in Rust.

Mango is the first programming language that I have ever made, (and I am also newish to Rust), so there will most likely be imperfections within the code. Nonetheless, Mango has been a very fun project to work on! To see technical details, see the technical readme.

A Lox Clone!

Mango derives heavily from the Lox language in Crafting Interpreters by Bob Nystrom. I have been following this book very closely during my implementation, with a few minor tweaks here and there to add more functionality to areas that I thought needed improvement.

Currently Mango has completed up until Chapter 30 of Crafting Interpreters with a few little additions along the way.

The Future of Mango

Mango's journey has been a long one. This project started over a year ago from writing this README in 2019 when I began to look into language creation. I took some classes at my school, fell in love with the idea of making a programming language, and dove into a few theorical textbooks on the subject.

As much as I like working on the language, I don't know if I want to spend an exuberant amount of time optimizing it for consumer use at this time. I have a lot to learn about language creation before I can mold Mango into something "useful" to code in.

I don't know what will happen with Mango, I do find working on programming languages to be an extremely fun pastime, so who knows? Maybe one day I'll make Mango into a full fledged programming language that I can feel comfortable using on a day-to-day basis.

Oh yeah... I made a Trello Board for Mango, so if I do start to begin working on Mango again you can see my progress there.

Acknowledgements

Mango also takes HEAVY inspiration from Darksecond's Lox Implementation. I am somewhat new to Rust and using Darksecond's implementation to help me understand the "Rust way of doing things" on many occasions and was a very helpful resource. It also helped provide a solid framework to build upon while converting the C based Crafting Interpreters code into Rust.

I do not take any credit for original design on any parts of the language except those of which were not defined in Darksecond's Lox Implementation or Crafting Interpreters.

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1y ago
Forks0

Languages

Rust

Security Score

55/100

Audited on Mar 19, 2025

No findings