Oct 25, 2020
Beginnings of an experimental fork of Mu for 64-bit x86
Built in collaboration with @tekknolagi.
https://git.sr.ht/~akkartik/mu-x86_64
I'm not sure this is going to work out. Mu's syntax for 32-bit x86 machine code doesn't map cleanly to x86_64, for reasons outlined in the Readme. But the emulator works, and it has a nice regular subset of x86_64 including floating-point instructions. Comments and suggestions most appreciated.
Main project page: https://github.com/akkartik/mu
permalink
* *
Oct 20, 2020
This week in my postfix language and live-updating environment, I worked on a way to start from a raw computation, and extract functions from it as naturally as possible.
https://archive.org/details/akkartik-2min-20201020
(More details: https://github.com/akkartik/mu)
permalink
* *
Oct 11, 2020
My postfix language and its live-updating environment are starting to look promising. The environment can now expand multiple levels of function calls, laying out the state of the stack at each point. You can't edit a function at its call-site, but you can visualize its working in context.
https://archive.org/details/akkartik-2min-2020-10-10
(More details: https://github.com/akkartik/mu)
permalink
* *
Oct 3, 2020
Detective story of the day
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.
permalink
* *
Oct 1, 2020
I just finished adding floating-point to Mu. Took 4 days. Floating-point is where the ugliness of x86 really becomes apparent.
permalink
* *
Sep 27, 2020
Update on stress-testing Mu
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
permalink
* *
Sep 21, 2020
Some tweaks to my text-mode RPN calculator built up from machine code, thanks to lots of helpful comments on the
Future of Coding community.
https://github.com/akkartik/mu/tree/main/linux/tile
Project page: https://github.com/akkartik/mu
permalink
* *
Sep 20, 2020
New demo: a text-mode RPN calculator built up from machine code
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
permalink
* *
Sep 16, 2020
Funny story
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
permalink
* *
Sep 11, 2020
3 months ago I built a little prototype text-mode browser for a tiny subset of Markdown. Today it's a prototype no longer; it has fairly thorough tests. See how I write tests for the rendering in a language that maps 1:1 to machine code:
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
permalink
* *