there were Haskell compilers for MS-DOS and the 8088
hell, muLisp-80 was a semi-compiled Lisp for CP/M whose binary was 10KB in size - which didn't stop it supporting bignums out of the box. it was impressively fast, too, for a Lisp - it somehow went hell for leather on speed without compromising its size. as a result, CP/M had a symbolic maths package! - muMATH - which evolved into Derive, which TI bought to incorporate into its calculators
Who thought this would be the year we would receive definitive proof that good Italian-Americans exist
I've started a listening log/inventory of the mystery MiniDiscs I've received recently. Not sure how much general interest there is in such a thing, but since my wiki is in no small part also for my own reference, here it is: http://lyk.so/minidisc-listening-log.html
Completely nonsequitor to what I was just working on, I think I managed to figure out one way I could compile Sather-like loop constructs. It's stupidly simple; but it's also hugely unconventional.
Recording my thoughts here before I lose them forever. In fact, I might play with this idea in some VM/OS programs coming up.
The idea is simple. A loop
construct is just an infinite loop:
; loop end;
_L0:
jal x0,_L0
_L1: ; label unused
Trivially simple; no sweat. But if we want to invoke an iterator, that's when things get hairy. Or, so it seems.
; loop f(1.upto!(10)); end;
la a2,_INT__upto_
addi a0,x0,1
addi a1,x0,10
_L0:
jal a2,0(a2) ; Rd=Rs1 coroutine!
jal x0,_L1 ; executed ONLY if generator quits loop.
jal ra,_SELF_f ; Control returns here on a yield
jal x0,_L0
_L1:
The idea of using multiple return points is rather unconventional. But I think this is probably how I would implement this construct...
As for state tracking, I'm sure that invoking a generator requires building an object on the local stack frame so that it can keep persistent state across calls, something I'm ignoring here for brevity. In my example above, I'm relying on PCLSRing instead.
So, I did some development planning for the next phase of VM/OS development. Though this may look like a nested checklist, I kind of use it as a substitute for a fishbone diagram. The items that are most deeply nested are the items which get written and developed first, since those are the lowest levels of decomposition of functionality I can think of.
The design document/blog post this is based on is up on my website at https://falvotech.com/tmp-blog/20241210.html
An updated collage of my four latest games for #msdos on the #ibmpc. That's quite a range of colour for humble #cga!
All these games are available from my web site, http://dos.cyningstan.org.uk/ and from my Itch page https://cyningstan.itch.io/
If you want to support further development, then the easiest ways are to follow the Ko-fi links on my web site or to make a donation when downloading from Itch.
A topological sort is a magical algorithm that improves your software's UX, removing a lot of busy work. You see all over our devtools!
Say you have a TODO-list in the form a graph. Where tasks may depend on other tasks being done first. A topological sort visits nodes which don't depend on any unvisited nodes until its done everything!
Or finds a loop you or it needs to break!
Seems like good advice for humans too: Do what you can until you've done everything!
My headcanon is that synths would all write their own custom OSes to run on themselves that are all broken in unique ways and mutually incompatible with every other synth's OS
I love English. It's a trash fire disguised as a language and I'm here for all of it. However, I really need to be better about people not speaking it "correctly." It's a goddamn trash fire. Of course people don't speak it correctly. I'm pretty sure there's no correct way to speak it. And that's leaving out all the racism and classism which goes into "grammatical perfection."
English isn't Latin. It's a glorious clusterfuck of stolen parts bolted onto a bastard chassis and powered entirely by the burning of dictionaries. There is no way that it should be the lingua franca of international affairs, and yet it is. Speak it any way you want. English doesn't give a fuck. English will take your error and turn it into a part of itself. English drinks prescriptivist tears like fine wine. Contribute to the delinquency of English any way you can.
There are already easy methods for instance creation, they're called "managed hosting" where the hosting company also does all the technical stuff for you. They're about as easy to set up as registering for an email account.
I have a whole website encouraging non-technical people to use managed hosting at https://growyourown.services and its accompanying account @homegrown
@gwennelsonuk you can literally build libreboot for the playstation and install it. works in emulators and on real hardware. it uses the pcsx-redux open bios
you can use one of these boards:
https://oshpark.com/profiles/mi213
flash libreboot to a SST39VF040 or compatible 512k nor flash. you could also flash the original bios on another, and stack them; then with each one having otherwise isolated OE/CS, switch OE/CS (output enable / chip select). could wire it to a timer on the reset switch or something
@interlisp ๐ The Medley Interlisp Project lands on the fediverse with the official Mastodon account @interlisp ran by yours truly. It's the beginning of a new adventure in Lisp and the history of computing you're invited to join.
Hello from the Medley Interlisp Project! We revive and modernize the Medley Interlisp extensible graphical operating and programming environment created at Xerox PARC.
We post news & updates, tips, historical info, and more. We look forward to connecting with researchers, software preservation experts, Lisp programmers, retrocomputing enthusiasts, and anyone interested.
#interlisp #lisp #retrocomputing #VintageComputing #SoftwarePreservation #xerox #introduction #parc
The next Xbox is going to be called the XboX (the last X is actually the Greek letter chi, and it's pronounced Xbock)
just came across this nice collection of free arrows to use however you want
https://handyarrows.com