Settings

Theme

The Mouse Programming Language on CP/M

techtinkering.com

67 points by harryvederci a year ago · 14 comments

Reader

whartung a year ago

I actually own the book for this language. Found it in an obscure corner of the local technical bookstore. It was not placed with all of the other computer books.

Just picked it up because of my fascination with programming languages.

ChuckMcM a year ago

Nice! Takes me down memory lane when my very first computer was a "Digital Group" Z-80 system I built from a kit with 10K of RAM! (8K memory board + 2K on the CPU board). Mouse was a faster and more compact than Tiny BASIC. It was also slightly less brain bending than Forth :-). I'll have to put it on my emulated IMSAI 8080.

It is fun to note the number of models of small languages that emerged from the early days of computing which would all fit in the L1 cache of a current processor. But they could also be used as an interesting way of doing GPU/APU macros. When I worked at Intel I implemented a simple interpreter like this to drive the compute element of the 82786 graphics chip that Intel had produced. As that 'engine' didn't have much stack support my interpreter was more like Mouse than Forth. It let me write simple exerciser tests for the chip like "fill a window region with a pattern" or "do cookie cutter blits between two regions."

I also find it fun when students learn a language like this and suddenly internalize the difference between "programming" and "computation". We joke you can write Fortran in any language but that joke is funny for me because it expressed the difference between someone who was programming by 'pattern matching' and people who were programming by 'expressing computation through language elements.' (yeah it sounds kind of snooty but it isn't, it is the difference between algorithms which can be expressed in any language vs using the statements of known programming language to similarly express that algorihm in a different language). The more ways you learn to express something I feel like the better you understand what is part of the algorithm vs what is part of the language syntax.

actionfromafar a year ago

This is a cool little language, seemingly deserving ports to other CPUs than Z80.

mikewarot a year ago

It seems like forth, with a lot of chopping to get the size down, and greatly simplify parsing.

However... it doesn't have stack manipulation, a dictionary, or the ability to handle strings in any fashion.

It's a cute little language, you can solve a lot of problems with it, but it's not the Forth you're looking for. ;-)

  • dented42 a year ago

    You’re right, it definitely doesn’t smell quite right. But it’s definitely related and very cute. I love seeing these kinds of minimalist ideas experimented in novel (to me) ways.

pgris2 a year ago

Honestly, a port to a modern architecture, with more standard looking characters (like using # for comments instead of ~ and \n for newline instead of ! ) would be pretty interesting... It's amazing what that people used to be able to do with such limitations. 2k! I can barely make a CRUD app fit in 2G

IamDaedalus a year ago

oh cool mouse! I wrote a very small interpreter (incomplete) for a build what you want capstone project. almost everyone wrote a website or some web app but I chose to write this in C and it was one of the projects I had a lot of fun on I'll actually go back and complete it

zabzonk a year ago

don't see why you would you would use this over FORTH, which is IMHO much more readable and widely available on CP/M - or you can easily write your own.

  • flohofwoe a year ago

    Maybe the implementation is smaller than a typical FORTH?

    For instance the FORTH implementation I'm somewhat familiar with (on the KC85 8-bit home computer) was an 8 KByte ROM module, which was packed to the brim - and it wasn't a luxurious FORTH by any means. This Mouse compiler seems to fit into 2 KBytes.

    • _a_a_a_ a year ago

      Can't remember but have read you can bootstrap a forth interpreter from an amazingly low number of bytes. Maybe more of theoretical interest than practical but still.

  • MarkusQ a year ago

    IIRC they were roughly contemporaneous (forth was around longer, but mostly as something Chuck played with and most people didn't learn about until much later). In those days you couldn't just google for alternatives or hop on something like HN to see what other people were working on. So you wound up with all sorts of local variants on the same idea, and it was only years later (if ever) that people learned that they were working on similar ideas, unless 1) somebody published, 2) hallway chatter at a conference, 3) somebody knew somebody who knew somebody and you found out serendipitously. Very different vibe.

hggh a year ago

(2020)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection