| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Mystery solved of why the syntax sugar phases don't work even though they
don't use any functions whose signatures changed in the migration to handles.
The answer: they use the Registers table, and it needs to use handles rather
than raw strings.
|
|
|
|
|
| |
We need the length to be right for the strings. It currently includes the
alloc-id.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mystery solved of why the syntax sugar phases don't work even though they
don't use any functions whose signatures changed in the migration to handles.
The answer: they use the Registers table, and it currently doesn't use
handles.
Rather than create a whole new set of functions that operate on addresses,
I'm going to create fake handles that are never intended to be reclaimed.
Which raises the question of the best way to do that. I'd like to continue
using string syntax, so I'm going to use a prefix in the payload that can
also be rendered as a string. But all the printable characters start with
0x20, and we don't currently have escape sequences for null or any other
non-printable characters.
I _could_ use newlines, but that seems overly clever. So instead I'll once
again not worry about some hypothetical problem with running out of alloc-ids,
and just carve out half of the id space that can't be used for real alloc
ids. Ascii doesn't use the most significant bit of bytes, so it seems like
a natural separation.
|
| |
|
| |
|
| |
|
|
|
|
| |
For this one commit we need to bootstrap ourselves with subx_translate_debug.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here are the obvious dependencies of different apps:
allocate: mu
slice-to-string: mu survey
new-stream: mu assort dquotes tests
get-or-insert-slice: mu survey assort
get-or-insert: mu survey
So we'll get these working in the following order:
tests
dquotes
assort
survey
It doesn't look like sigils uses any functions with modified signatures,
but it doesn't work at the moment. Let's get the core self-hosted passes
working first before we look at syntax sugar.
examples -> self-hosted passes -> syntax sugar -> mu
|
| |
|
|
|
|
| |
$ ./translate_subx init.linux 0*.subx && ./a.elf test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CI will fail from this commit onward. Currently working:
$ bootstrap translate init.linux 0[4-7]*.subx 080zero-out.subx -o a.elf && ./a.elf test
$ bootstrap run a.elf test
$ chmod +x a.elf; ./a.elf test
Plan: migrate functions that used to return handles to pass in a new arg
of type (addr handle). That's a bit of a weird type. There should be few
of these functions. (Open question: do we even want to expose this type
in the Mu language?)
Functions that just need to read from heap without modifying the handle
will receive `(addr T)` or `(handle T)` types as arguments.
As I sanitize each new file, I need to update signatures for any new functions
and add them to a list. I also need to update calls to any functions on
the list.
|
| |
|
| |
|
|
|
|
|
|
| |
Adding some more colors will improve the experience, but the choices depend
on colorscheme, and first impressions should at least not seem to have
degraded things.
|
| |
|
| |
|
| |
|
|
|
|
| |
Some minor tweaks while preparing presentation to Mek's Junto group.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
https://futureofcoding.org/two-minute-week
|
| |
|
|
|
|
| |
Rip out scaffolding for function overloading.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix CI. Amazing how misleading the ofstream API is when coercing to bool.
|
|
|
|
|
|
|
|
| |
This undoes commit 5764, which was ill-considered. We already had incremental
prints at that point to 'last_run'. As long as we don't run out of RAM
on large traces, there doesn't seem any need to print to stderr.
Now '--dump' is only needed when juggling multiple traces.
|
| |
|
| |
|
| |
|
| |
|