<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mu/translate_subx_debug, branch main</title>
<subtitle>Soul of a tiny new machine. More thorough tests → More comprehensible and rewrite-friendly software → More resilient society.</subtitle>
<id>https://git.tilde.institute/akkartik/mu/atom?h=main</id>
<link rel='self' href='https://git.tilde.institute/akkartik/mu/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.tilde.institute/akkartik/mu/'/>
<updated>2021-03-04T06:21:03Z</updated>
<entry>
<title>7842 - new directory organization</title>
<updated>2021-03-04T06:21:03Z</updated>
<author>
<name>Kartik K. Agaram</name>
<email>vc@akkartik.com</email>
</author>
<published>2021-03-04T06:09:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tilde.institute/akkartik/mu/commit/?id=71e4f3812982dba2efb471283d310224e8db363e'/>
<id>urn:sha1:71e4f3812982dba2efb471283d310224e8db363e</id>
<content type='text'>
Baremetal is now the default build target and therefore has its sources
at the top-level. Baremetal programs build using the phase-2 Mu toolchain
that requires a Linux kernel. This phase-2 codebase which used to be at
the top-level is now under the linux/ directory. Finally, the phase-2 toolchain,
while self-hosting, has a way to bootstrap from a C implementation, which
is now stored in linux/bootstrap. The bootstrap C implementation uses some
literate programming tools that are now in linux/bootstrap/tools.

So the whole thing has gotten inverted. Each directory should build one
artifact and include the main sources (along with standard library). Tools
used for building it are relegated to sub-directories, even though those
tools are often useful in their own right, and have had lots of interesting
programs written using them.

A couple of things have gotten dropped in this process:
  - I had old ways to run on just a Linux kernel, or with a Soso kernel.
    No more.
  - I had some old tooling for running a single test at the cursor. I haven't
    used that lately. Maybe I'll bring it back one day.

The reorg isn't done yet. Still to do:
  - redo documentation everywhere. All the README files, all other markdown,
    particularly vocabulary.md.
  - clean up how-to-run comments at the start of programs everywhere
  - rethink what to do with the html/ directory. Do we even want to keep
    supporting it?

In spite of these shortcomings, all the scripts at the top-level, linux/
and linux/bootstrap are working. The names of the scripts also feel reasonable.
This is a good milestone to take stock at.
</content>
</entry>
<entry>
<title>7401 - clean up support for non-Linux platforms</title>
<updated>2020-12-25T20:28:10Z</updated>
<author>
<name>Kartik Agaram</name>
<email>vc@akkartik.com</email>
</author>
<published>2020-12-25T20:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.tilde.institute/akkartik/mu/commit/?id=47287fbf1af21207d8f847842fb32db9ee95e4c8'/>
<id>urn:sha1:47287fbf1af21207d8f847842fb32db9ee95e4c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>6401 - have scripts follow the Unix way</title>
<updated>2020-05-25T05:57:07Z</updated>
<author>
<name>Kartik Agaram</name>
<email>vc@akkartik.com</email>
</author>
<published>2020-05-25T05:56:08Z</published>
<link rel='alternate' type='text/html' href='https://git.tilde.institute/akkartik/mu/commit/?id=f4e609c3a7beb0e900cd28102dd9f226f9e5c437'/>
<id>urn:sha1:f4e609c3a7beb0e900cd28102dd9f226f9e5c437</id>
<content type='text'>
Stay silent if all is well.

I don't agree with this, but it's not like the messages I was printing
out were particularly useful.
</content>
</entry>
<entry>
<title>5865</title>
<updated>2020-01-02T10:01:41Z</updated>
<author>
<name>Kartik Agaram</name>
<email>vc@akkartik.com</email>
</author>
<published>2020-01-02T09:41:55Z</published>
<link rel='alternate' type='text/html' href='https://git.tilde.institute/akkartik/mu/commit/?id=9e5e87ca3776efa5f0d772ed8cf348bf6ee4d08e'/>
<id>urn:sha1:9e5e87ca3776efa5f0d772ed8cf348bf6ee4d08e</id>
<content type='text'>
Give the bootstrap C++ program a less salient name.
</content>
</entry>
<entry>
<title>5851</title>
<updated>2020-01-02T00:45:30Z</updated>
<author>
<name>Kartik Agaram</name>
<email>vc@akkartik.com</email>
</author>
<published>2020-01-02T00:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.tilde.institute/akkartik/mu/commit/?id=23fd294d85959c6b476bcdc35ed6ad508cc99b8f'/>
<id>urn:sha1:23fd294d85959c6b476bcdc35ed6ad508cc99b8f</id>
<content type='text'>
Rename a few scripts to be more consistent.

I'm also starting to feel the urge to bud off `subx run` into its own program,
say tools/emulate_x86. It doesn't really rely on the SubX notation at all.

And then I could rename `subx translate` to `translate_subx_bootstrap`.

Only problem: the commands in the Readme get verbose. But the Readme is
gonna need surgery soon anyway to put translate_mu front and center.
</content>
</entry>
</feed>
