about summary refs log tree commit diff stats
path: root/apps
Commit message (Collapse)AuthorAgeFilesLines
* 6430Kartik Agaram2020-05-291-4/+3
| | | | | Perhaps the lack of safety just forces us to make smaller functions, like Forth.
* 6429Kartik Agaram2020-05-291-0/+35
| | | | | Baby steps. I managed to mess up even this tiny refactoring of print-file.mu. Wish output registers were already checked in calls.
* 6428Kartik Agaram2020-05-291-1/+1
|
* 6426Kartik Agaram2020-05-281-0/+6
|
* 6424Kartik Agaram2020-05-282-0/+0
|
* 6423 - done with sample app 'print-file'Kartik Agaram2020-05-282-6/+10
| | | | | | | | | | | Observations: - the orchestration from 'in' to 'addr-in' to '_in-addr' to 'in-addr' is quite painful. Once to turn a handle into its address, once to turn a handle into the address of its payload, and a third time to switch a variable out of the overloaded 'eax' variable to make room for read-byte-buffered. - I'm starting to use SubX as an escape hatch for features missing in Mu: - access to syscalls (which pass args in registers) - access to global variables
* 6422 - size-of for handlesKartik Agaram2020-05-283-2/+17
|
* 6421Kartik Agaram2020-05-281-0/+0
|
* 6420Kartik Agaram2020-05-281-2/+5
| | | | | | | Starting to feel the need for more static checks, like when I must use a register, or when a variable has been clobbered. The good news: I thought I'd found a bug in apps/mu, but I hadn't.
* 6419 - new primitive for opening filesKartik Agaram2020-05-281-0/+0
|
* 6418Kartik Agaram2020-05-281-2/+14
|
* 6417Kartik Agaram2020-05-281-0/+8
|
* 6415Kartik Agaram2020-05-271-0/+0
|
* 6413Kartik Agaram2020-05-271-0/+0
| | | | Fix CI.
* 6410 - primitives for raw keyboard inputKartik Agaram2020-05-271-0/+9
|
* 6409 - primitives for text-mode UIsKartik Agaram2020-05-2727-0/+20
|
* 6406 - primitive 'copy-handle'Kartik Agaram2020-05-2513-0/+0
|
* 6394 - a catastrophic bugKartik Agaram2020-05-242-1/+1
| | | | | | | How did new-literal ever work?! Somehow we had eax silently being clobbered without affecting behavior over like 5 apps. Unsafe languages suck. Anyways, factorial.mu is now part of CI.
* 6393 - start running .mu apps in CIKartik Agaram2020-05-242-3/+3
|
* 6392 - 'length' instruction done in all complexityKartik Agaram2020-05-243-4/+321
|
* 6391Kartik Agaram2020-05-242-45/+86
|
* 6390 - return `length` in elementsKartik Agaram2020-05-242-22/+88
|
* 6388 - fix regression #1Kartik Agaram2020-05-242-19/+118
|
* 6387Kartik Agaram2020-05-232-19/+69
|
* 6382 - re-enable mu.subx in CIKartik Agaram2020-05-2211-21/+21
| | | | | | | | | | | I thought I'd done this in the previous commit, but I hadn't. And, what's more, there was a bug that seemed pretty tough for a time. Turns out my self-hosted translator doesn't support '.' comment tokens in data segments. Hopefully I'm past the valley of the shadow of death now. "I HAVE NO TOOLS BECAUSE I’VE DESTROYED MY TOOLS WITH MY TOOLS." -- James Mickens (https://www.usenix.org/system/files/1311_05-08_mickens.pdf)
* update binariesKartik Agaram2020-05-2213-0/+0
| | | | CI should start passing again now.
* increase some buffer sizesKartik Agaram2020-05-221-2/+2
| | | | We can now natively translate mu.subx again.
* mu.subx is now using handles everywhereKartik Agaram2020-05-221-5/+8
| | | | X-( :-))
* mu.subx: 4 failing tests remainingKartik Agaram2020-05-221-11/+37
|
* mu.subx: 6 failing tests remainingKartik Agaram2020-05-221-97/+313
|
* mu.subx: 7 failing tests remainingKartik Agaram2020-05-211-10/+14
| | | | Just for user-defined types.
* mu.subx: 9 failing tests remainingKartik Agaram2020-05-211-29/+40
|
* mu.subx: 11 failing tests remainingKartik Agaram2020-05-211-30/+40
|
* mu.subx: 13 failing tests remainingKartik Agaram2020-05-211-11/+13
|
* mu.subx: 2 new testsKartik Agaram2020-05-201-0/+97
|
* mu.subx: 15 failing tests remainingKartik Agaram2020-05-201-9/+10
| | | | The remaining tests are all for user-defined types and arrays.
* mu.subx: 17 failing tests remainingKartik Agaram2020-05-201-17/+18
|
* -Kartik Agaram2020-05-201-6/+4
|
* mu.subx: 21 failing tests remainingKartik Agaram2020-05-201-5/+5
|
* mu.subx: 24 failing tests remainingKartik Agaram2020-05-201-49/+54
|
* mu.subx: 25 failing tests remainingKartik Agaram2020-05-201-6/+21
| | | | | | | | | | | | | | | | | This was again hard to debug, because: - the mapping between recursive calls to emit-subx-stmt-list and the nested blocks of code in the output kept blowing my stack, and - I kept expecting the problem to be there, or in the data attached to variables. But it was in the `emit-cleanup-code-until-depth` for the previous/inner block, in code I thought I'd already fixed (`clean-up-blocks`) that accidentally worked for previous tests. Part of the problem here is that my library for the stack sucks. It's only for 4-byte elements, but I'm using it for 8-byte elements (handles). Which leads to double-pushes and double-pops and -- here -- an insidiously wrong call to `top`. Anyways: halfway there!
* mu.subx: 26 failing tests remainingKartik Agaram2020-05-201-9/+11
|
* mu.subx: 28 failing tests remainingKartik Agaram2020-05-201-10/+35
| | | | | This bug was a bear to track down, but there's been a concomitant payoff: 6 tests starting to pass.
* mu.subx: 34 failing tests remainingKartik Agaram2020-05-201-36/+49
|
* -Kartik Agaram2020-05-201-4/+4
|
* mu.subx: 37 failing tests remainingKartik Agaram2020-05-201-11/+13
|
* mu.subx: 39 failing tests remainingKartik Agaram2020-05-201-31/+31
|
* mu.subx: start tracking remaining failing testsKartik Agaram2020-05-201-40/+40
| | | | We're now passing CI again.
* mu.subx: 10/50 top-level tests passingKartik Agaram2020-05-181-2/+3
|
* mu.subx: 6/50 top-level tests passingKartik Agaram2020-05-181-8/+16
|