https://archive.org/details/akkartik-2min-2020-10-10
(More details: https://github.com/akkartik/mu)
https://archive.org/details/akkartik-2min-2020-10-10
(More details: https://github.com/akkartik/mu)
I've been stress-testing Mu's floating-point instructions for a few days using this ray-tracing tutorial.
It's been great; I've found 2 bugs so far.
Today I thought I found a third, in the floating-point reciprocal instruction.
Except it wasn't really. Read on.
I'm continuing to play with my prototype postfix calculator. Who knows, it may even become Mu's mythical level-3 language[1].
Today's video demonstrates function definitions that look different from concatenative languages, and a visualization for drilling down into function calls. All in an environment that updates as you type, built up from machine code.
https://archive.org/details/akkartik-2min-2020-09-27
(More details: https://github.com/akkartik/mu)
[1] http://akkartik.name/post/mu-2019-1
https://github.com/akkartik/mu/tree/main/linux/tile
Project page: https://github.com/akkartik/mu
https://archive.org/details/akkartik-2min-2020-09-20
Inspirations:
Unlike these, however, this version tries to hew to two principles:
Project page: https://github.com/akkartik/mu
A few weeks ago I built a function to read keystrokes from the keyboard. (In machine code, of course.) I planned to support just ASCII keys to begin.
Today I tried to force myself to work on the rest. Terminal escape sequences like arrow keys, UTF-8, and somehow distinguishing between the two.
Surprise: both were already working! I just had to read 32 bits rather than 8 from stdin. Legal UTF-8 doesn't conflict with terminal escapes in 32-bit space.
https://github.com/akkartik/mu/commit/e403d15732
http://akkartik.github.io/mu/html/apps/browse/main.mu.html#L81
Old demo: https://archive.org/details/akkartik-2min-2020-05-29
Repo: https://github.com/akkartik/mu
Mu also is starting to gain a fake screen that (interactive) programs can print to in tests.
Here's how it looks: https://archive.org/details/akkartik-2min-2020-09-02
Strings are arrays of bytes. To iterate over the graphemes in a string, store it in a stream and read graphemes from the stream.
https://github.com/akkartik/mu
I've always had a question in my mind about how to bootstrap the OS. I knew about BIOS but vaguely considered it "cheating" when compared to the "purer" way of working within the processor's ISA. But I'm starting to realize that BIOS is part of the ISA.
Mu will soon drop Linux. Watch.