(https://github.com/akkartik/mu)
For several months now I've been wrestling with a thorny problem in one corner of the core compiler which converts a safe language into unsafe machine code. Today I finally decided to stop agonizing over it, and write up the idea maze to the extent I've explored it.
https://github.com/akkartik/mu/issues/45
Comments and suggestions most appreciated! This is a fairly simple compiler as these things go, and I'd be happy to engage with anyone who wants to learn about these beasts in a realistic setting.
https://archive.org/details/akkartik-2min-2020-10-27
Promising in some ways, but I'm not sure how to support concurrency. Currently each operation completes before the next. I could allow "pipe stages" to continue to share data after they drop file handles on the stack, but there are problems: how often we refresh, how we kill processes from past refreshes, how we visualize file handle contents.
(More details: https://github.com/akkartik/mu)
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
https://archive.org/details/akkartik-2min-20201020
(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