M/PC – A Concatenative OS
Comments
chirsz
entaloneralie
It does :) It's CP/M commands(era, ren, etc..) except they work in postfix instead of infix.
sph
Great work as usual.
I wish I were half as productive as Devine Lu Linvega. Perhaps I should get a sailboat and spend my time hacking without distraction, but I am not a fan of the seas.
veltas
They've been putting interesting update screenshots on fediverse recently: https://merveilles.town/@neauoire/116823589548151098
benj111
Is this not more of a shell than an os?
Nevertheless an interesting idea. Unix pipes are basically concatenative, I've often thought how much mileage you could get out of going more in this direction.
Having said that. This has a lot of forth in it. (Dup, over, rot) I'm not sure the forth way, of passing options in the stack would necessarily work so well in a shell.
photios
> Unix pipes are basically concatenative, I've often thought how much mileage you could get out of going more in this direction.
You might enjoy the "Shell Has a Forth-like Quality" article. It's changed my shell scripting a lot.
quotemstr
It kind of asks "What if we built an OS, but with all data sourced from immutable, append-only logs processed by pure functios?"
Probably not literally realizable right now, but IMHO, the closer we can get, the better
avadodin
You could easily make CUNIX by starting with a log containing the state of a PDP11 at boot and a pure function which appends ignore previous input and the next PDP11 state to it.
f47204
maybe I am dumb, but I don't really get how this is different to just piping between commands?
ux266478
It's more than just a grammar. But specifically on that note, I'm assuming you know a POSIX Shell language. Spend some time with Forth and ask yourself if these are experientially the same thing.
Equifinality is extremely misleading.
mtdewcmu
Looks like the hardware this runs on has only 64 KB RAM.
MrEricSir
Not to be confused with MPC, apparently: https://en.wikipedia.org/wiki/Multimedia_PC
Does this name come from reversing "CP/M"?