about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* no, this doesn't quite workKartik Agaram2020-05-181-18/+24
| | | | | We need the length to be right for the strings. It currently includes the alloc-id.
* support 'fake' handles allocated staticallyKartik Agaram2020-05-1810-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* core translator phases now emit identical binariesKartik Agaram2020-05-182-3/+3
|
* fix a discrepancy in the generated apps/ex1 binaryKartik Agaram2020-05-182-1/+1
|
* fix a crash when translating apps/ex1Kartik Agaram2020-05-183-7/+7
|
* Rebuild phases of self-hosted SubX translatorKartik Agaram2020-05-1810-23/+23
| | | | For this one commit we need to bootstrap ourselves with subx_translate_debug.
* survey.subx now workingKartik Agaram2020-05-181-265/+51
|
* emit-segments in survey.subx now workingKartik Agaram2020-05-181-72/+104
|
* second test also passingKartik Agaram2020-05-181-14/+79
|
* compute-addresses now working? Maybe?Kartik Agaram2020-05-181-92/+375
|
* compute-offsets in survey.subx now workingKartik Agaram2020-05-181-59/+100
|
* -Kartik Agaram2020-05-181-4/+13
|
* -Kartik Agaram2020-05-181-4/+4
|
* -Kartik Agaram2020-05-181-21/+23
|
* -Kartik Agaram2020-05-181-45/+0
|
* -Kartik Agaram2020-05-181-1/+1
|
* -Kartik Agaram2020-05-181-74/+0
|
* yet another 'get' variantKartik Agaram2020-05-181-0/+318
|
* assort.subx now workingKartik Agaram2020-05-182-42/+197
|
* dquotes.subx now workingKartik Agaram2020-05-182-7/+22
|
* tests.subx now workingKartik Agaram2020-05-182-40/+57
|
* apps that currently workKartik Agaram2020-05-181-68/+68
| | | | | | | | | | | | | | | | | | | | 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
* standard library tests all passingKartik Agaram2020-05-181-43/+64
|
* table primitives workingKartik Agaram2020-05-189-1237/+895
| | | | $ ./translate_subx init.linux 0*.subx && ./a.elf test
* start migrating handles to fat pointersKartik Agaram2020-05-184-36/+116
| | | | | | | | | | | | | | | | | | | 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.
* 6219Kartik Agaram2020-05-182-0/+3
|
* 6218 - link to Mu's first forkKartik Agaram2020-05-101-0/+9
|
* 6217 - make subx.vim work better out of the boxKartik Agaram2020-05-101-26/+31
| | | | | | 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.
* 6216Kartik Agaram2020-05-052-12/+7
|
* 6215 - show call stack in traceKartik Agaram2020-05-031-0/+4
|
* 6214Kartik Agaram2020-04-271-1/+1
|
* 6213Kartik Agaram2020-04-263-2/+34
| | | | Some minor tweaks while preparing presentation to Mek's Junto group.
* 6212Kartik Agaram2020-04-251-1/+1
|
* 6211Kartik Agaram2020-04-251-6/+5
|
* 6210Kartik Agaram2020-04-241-10824/+10986
|
* 6209Kartik Agaram2020-04-241-1/+2
|
* 6208Kartik Agaram2020-04-2217-116/+123
|
* 6207 - tweaks while creating a videoKartik Agaram2020-04-193-5/+6
| | | | https://futureofcoding.org/two-minute-week
* 6206Kartik Agaram2020-04-176-115/+66
|
* 6205Kartik Agaram2020-04-152-156/+31
| | | | Rip out scaffolding for function overloading.
* 6204Kartik Agaram2020-04-152-28/+0
|
* 6203Kartik Agaram2020-04-122-115/+162
|
* 6202Kartik Agaram2020-04-111-1/+0
|
* 6201Kartik Agaram2020-04-092-6/+6
| | | | Fix CI. Amazing how misleading the ofstream API is when coercing to bool.
* 6200 - --dump is not needed for incremental tracesKartik Agaram2020-04-094-11/+7
| | | | | | | | 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.
* 6199Kartik Agaram2020-04-081-1/+1
|
* 6198Kartik Agaram2020-04-082-14/+10
|
* 6197Kartik Agaram2020-04-082-18/+18
|
* 6196Kartik Agaram2020-04-062-2/+2
|
* 6195Kartik Agaram2020-04-062-1/+1
| | | | This bug was never caught because we've never tested with more than 2 segments.