[HN Gopher] The Mouse Programming Language on CP/M
___________________________________________________________________
The Mouse Programming Language on CP/M
Author : harryvederci
Score : 57 points
Date : 2024-08-30 13:13 UTC (3 days ago)
(HTM) web link (techtinkering.com)
(TXT) w3m dump (techtinkering.com)
| actionfromafar wrote:
| This is a cool little language, seemingly deserving ports to
| other CPUs than Z80.
| zabzonk wrote:
| 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 wrote:
| 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_ wrote:
| 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 wrote:
| 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.
| whartung wrote:
| 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.
| pgris2 wrote:
| 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
| 082349872349872 wrote:
| That 2k would've cost ~$130 in early 1975, roughly $750 in 2024
| dollars.
|
| We have the EEs to thank for making the price of bloat
| inconsequential.
|
| https://jcmit.net/memoryprice.htm
|
| https://www.minneapolisfed.org/about-us/monetary-policy/infl...
| hggh wrote:
| (2020)
| IamDaedalus wrote:
| 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
| mikewarot wrote:
| 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. ;-)
| ChuckMcM wrote:
| 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.
___________________________________________________________________
(page generated 2024-09-02 23:01 UTC)