Hysen Labs
Open-source project
flaneur2020/pua-lang avatar
flaneur2020

pua-lang

GitHub describes it as a dialect of The Monkey Programming Language. The repository metadata lists Rust as its primary language. The metadata lists the MIT license. This article stays within the project description and details documented in the GitHub repository README.

3,311 stars126 forksRustMIT
01
DEEP OPEN-SOURCE ANALYSIS

flaneur2020/pua-lang: What's pua-lang?

GitHub describes it as a dialect of The Monkey Programming Language. The repository metadata lists Rust as its primary language. The metadata lists the MIT license. This article stays within the project description and details documented in the GitHub repository README.

02
DEEP OPEN-SOURCE ANALYSIS

Repository scope

GitHub describes it as a dialect of The Monkey Programming Language. The repository metadata lists Rust as its primary language. The metadata lists the MIT license. The README describes the project this way: pua-lang is a dialect of The Monkey Programming Language, intended to mirror the inspirational babble of Alibaba managers ("Aba-aba"). The name "pua" refers to the manipulative way Alibaba treats its employees -- much like how pickup artists treat their trophies.

03
DEEP OPEN-SOURCE ANALYSIS

What's pua-lang?

The README section "What's pua-lang?" states: This implementation is a fork of rs-monkey-lang. Monkey is a programming language designed to learn interpreters. It comes from Writing An Interpreter In Go.

04
DEEP OPEN-SOURCE ANALYSIS

with wasm playground

The README section "with wasm playground" states: We are aware that the output streams don't quite work. Rust doesn't really have I/O redirection and wasm32-unknown-unknown has no I/O by default.

05
DEEP OPEN-SOURCE ANALYSIS

Summary

The README section "Summary" states: - Everything Monkey has: - C-like syntax - variable bindings - integers and booleans - a string data structure - an array data structure - a hash data structure - arithmetic expressions - built-in functions - first-class and higher-order functions • closures - Unicode identifiers (UAX 31, XID) plus monetary extensions ( [¥$ ] ) and an overly-lax definition of Emojis. - Rust-compatible double-quoted string syntax. - Ridiculous naming for the Aba-aba. Comparison with Monkey:

06
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

The repository README is the source for this review. It does not replace a local installation or an independent test.

07
DEEP OPEN-SOURCE ANALYSIS

Official sources

08
Community notes

Community notes