Top
Best
New

Posted by tosh 15 hours ago

I made a programming language with M&Ms(mufeedvh.com)
80 points | 35 comments
xnorswap 4 minutes ago|
I can't see it explained, why/where is 000000 defined as newline?
mufeedvh 12 hours ago||
Author of this silly project here!

Sharing a bit of backstory on why I decided to work on this; Firstly, “for fun” but primarily because I felt like I started losing the childlike wonder/whimsy I once had with programming.

So I started this new hobby where I ask myself “can I hack on this?” upon getting/seeing something.

For instance, I got this new Aula F75 keyboard (really good keyboard for the price btw, it sounds good too!) and it only has dedicated control software for Windows. So I downloaded the driver files, software executable, and manual sheet and reverse engineered the full protocol/packets and rebuilt it for my Mac. Then played snake with the backlights. Fun.

Anywho, happy to see my blog on the front page. Would love to hear if anyones going through something similar or working on silly little projects! :)

AdieuToLogic 8 hours ago||
Great post, thanks for sharing it!

When I saw the title, I thought of Lambda Calculus[0] and SKI combinators[1]. Given that there are "only six useful colors", I wonder if M&Ms could be used to implement them.

0 - https://en.wikipedia.org/wiki/Lambda_calculus

1 - https://en.wikipedia.org/wiki/SKI_combinator_calculus

mufeedvh 4 hours ago||
Funny you mention that, because yes, a combinator-style encoding is probably a cleaner fit for the “only six colors constraint than my stack machine. I hacked together a tiny SKI-flavored M&M reducer as a proof of concept: B=S, G=K, R=I, Y=(, O=), and N... is a free atom, so `B G G NNN` reduces to `a2`.

Gist: https://gist.github.com/mufeedvh/db930a423fdce8c1d8e495c7a3f...

berlinquin 9 hours ago|||
Fun project! I had a similar project a while back, but my medium of choice was the Uno card game. I called it UnoScript [1] and it had similar mechanisms as color was an important factor. I also ended with a stack as the main part of the language, where different colors/combinations of cards could read from/modify the stack. Interesting how similar constraints can lead to some similar design choices!

[1](https://github.com/berlinquin/UnoScript)

pkaral 6 hours ago|||
This makes the world a better place. I got a little oxytocin hit just from the thought that somewhere on this world, someone is working on this problem. Now I'll be kinder to old ladies and give those poor puppies a pass.
chocochunks 11 hours ago||
Does this work with real candy?
mufeedvh 9 hours ago||
Yes! Just make sure to take a photo on a plain white surface is all.

With:

  uv run mnm decompile path/to/photo.png --mode photo
bronlund 14 hours ago||
It’s funny until one guy spills his bag of M&M’s and accidentally deletes the production database.
ramon156 11 hours ago|
Wanted to fix this bug but I ran out of green M&M's
Timwi 2 hours ago||
Will read this later, but in the meantime, if you're into “physical programming”, check out efghij: https://esolangs.org/wiki/Efghij
MASNeo 2 hours ago||
Thank you.Awesome project!

Unfortunately I think you have given my kids one more hard to refuse reason to get more candy: I need more storage.

amelius 11 hours ago||
What color is your function?
spaqin 8 hours ago|
That's one language that doesn't need an external IDE for syntax highlighting.
bigstrat2003 12 hours ago||
It's all fun and games until some fat bastard like me decides he wants a snack. Incidentally, which flavor? Asking for a friend.
filozopdasha 9 hours ago||
it actually sounds like a fun idea, but i have one question. do you think a lightweight CNN trained on synthetic candy layouts would outperform the deterministic decoder for messy real world photos?
mufeedvh 5 hours ago|
Yes, for messy real-world photos a lightweight CNN would probably outperform the deterministic decoder, but I’d still use it in a hybrid pipeline with classic CV for blob detection and deterministic logic for reconstructing the actual program.
swaraj 6 hours ago|
This is what HN is all about
More comments...