April 14, 2026
Retro squeak, big shriek
The Mouse Programming Language on CP/M
Tiny 2K ‘Mouse’ language has fans cheering, skeptics squinting
TLDR: Mouse, a 1975 mini language that fits in 2 kilobytes and runs on CP/M, resurfaced with big features packed tiny. Comments split between love and caution: fans praise the charm and minimalism, while skeptics flag complexity and readability—classic nostalgia versus practicality debate.
Retro hearts just squeaked. The community is buzzing over Mouse, a teeny-tiny programming language from 1975 that runs on CP/M (think vintage computer vibes) and clocks in at only 2 kilobytes. One side is pure joy—PaulHoule bursts in with “I love this!”—while the practical crowd nods and winces, with ardline warning that “the devil’s in the operational complexity,” even if it looks manageable. Cred-checkers joined the party: shrubble flexed credentials by pointing to the author’s respected Pascal book link, and tomhow dropped a throwback link to an earlier thread, sparking a “we’ve been here before” energy.
The drama? Nostalgia vs. readability. Fans adore the single-character commands and the fact that this tiny tool can handle arrays, functions, and recursion—features you usually see in bigger languages. Skeptics squint at punctuation-salad code and wonder if it’s fun for “Hello, World!” but pain for anything bigger. Jokes popped up around the demo: exclamation marks become newlines, and the “Hello, Word!” typo turned into a mini-meme—“Mouse speaks typo.” The vibe is part museum exhibit, part weekend puzzle: is Mouse a teaching gem or just retro flair? Either way, it’s got everyone pressing that “!” and grinning.
Key Points
- •Mouse is an interpreted, stack-oriented language by Peter Grogono (circa 1975), designed to be small yet powerful for microcomputers.
- •Compared to Forth, Mouse interprets mostly single-character tokens and relies more on variables than stack manipulation.
- •A CP/M implementation of Mouse on the Walnut Creek CD is approximately 2 KB in size.
- •A “Hello, World!” example demonstrates loop control with ( ) and ^, variable use with c:/c., string output with quotes, and program termination with $.
- •The instruction set includes arithmetic, I/O, comparisons, conditionals ([ ]), loops (( )), local/global variables (lower/upper case), and memory operations (: store, . fetch).