about summary refs log tree commit diff stats
path: root/apps
Commit message (Collapse)AuthorAgeFilesLines
* 6622 - new syscalls: time and ntimeKartik Agaram2020-07-0826-0/+0
| | | | | As a side-effect I find that my Linode can print ~100k chars/s. At 50 rows and 200 columns per screen, it's 10 frames/s.
* 6618 - new docsKartik Agaram2020-07-065-25/+12
|
* 6607 - new prototype dir for spreadsheet ideasKartik Agaram2020-07-051-69/+0
|
* 6606Kartik Agaram2020-07-021-0/+9
|
* 6604 - new appKartik Agaram2020-07-0128-1/+61
| | | | | | https://archive.org/details/akkartik-2min-2020-07-01 In the process I found a bug, added a new syscall, and 'emulated' it.
* 6603Kartik Agaram2020-06-302-4/+4
|
* 6602Kartik Agaram2020-06-301-1/+1
|
* 6601Kartik Agaram2020-06-292-12/+12
|
* 6600Kartik Agaram2020-06-292-3/+3
|
* 6599Kartik Agaram2020-06-295-14/+14
|
* 6597Kartik Agaram2020-06-2916-11/+11
|
* 6596Kartik Agaram2020-06-2915-6/+6
|
* 6595Kartik Agaram2020-06-2920-130/+130
|
* 6594 - start standardizing the meaning of 'print'Kartik Agaram2020-06-2913-0/+0
|
* 6592 - error-checking for integer stmts feels doneKartik Agaram2020-06-282-1/+50
|
* 6591Kartik Agaram2020-06-282-1/+32
|
* 6590Kartik Agaram2020-06-282-1/+189
|
* 6589Kartik Agaram2020-06-282-12/+5
|
* 6588Kartik Agaram2020-06-282-0/+165
|
* 6587Kartik Agaram2020-06-282-0/+166
|
* 6586 - error-checking for 'get' stmts feels doneKartik Agaram2020-06-282-1/+111
|
* 6585Kartik Agaram2020-06-282-10/+97
|
* 6584Kartik Agaram2020-06-282-0/+55
|
* 6583Kartik Agaram2020-06-282-1/+61
|
* 6582Kartik Agaram2020-06-282-2/+69
|
* 6581Kartik Agaram2020-06-282-6/+259
|
* 6580Kartik Agaram2020-06-281-4/+4
|
* 6579Kartik Agaram2020-06-282-5/+143
|
* 6578 - redo error if 'get' on unknown fieldKartik Agaram2020-06-272-78/+117
| | | | | | This commit reimplements commit 6515 to happen during type-checking rather than as early as possible. That way we naturally get a more informative error message.
* 6577Kartik Agaram2020-06-272-12/+12
|
* 6576Kartik Agaram2020-06-272-8/+56
|
* 6575Kartik Agaram2020-06-272-220/+253
|
* 6574Kartik Agaram2020-06-271-4/+6
|
* 6573Kartik Agaram2020-06-211-4/+4
|
* 6572Kartik Agaram2020-06-212-6/+36
| | | | | Small change to mu.subx to keep the treeshaker working with it. That's currently the only place where we prevent jumps across 'functions'.
* 6570 - error on use of a clobbered varKartik Agaram2020-06-212-42/+153
| | | | | All tests now passing, and factorial.mu and all other apps now working. The new checks caught one problem in a few prototypes.
* 6569 - correct the second failing testKartik Agaram2020-06-211-34/+31
|
* 6568Kartik Agaram2020-06-211-3/+3
|
* 6567Kartik Agaram2020-06-211-14/+11
|
* 6566 - improve some error messagesKartik Agaram2020-06-211-111/+165
| | | | | I need to pass the function around to fix the failing test; might as well fix the error messages while I'm at it.
* 6564 - second failing testKartik Agaram2020-06-211-0/+61
|
* 6563Kartik Agaram2020-06-211-19/+19
| | | | | | | | | | The desire captured by a test is often hard to verbalize, path-dependent and more fertile for the future than its original impulse. On some level, someone wanting to rip out features has to just ask for each scenario, "what do I want to happen here?" And nobody's gonna do that. At best, somebody may be trying to rip out some complex feature, and run into some collateral damage around the edges that they have to inspect more closely. "Do I care about preserving this behavior?"
* 6562Kartik Agaram2020-06-212-19/+46
| | | | | | | | | | | | | | | | | | | | | | | | The new failing test is now passing, and so is this manual test that had been throwing a spurious error: fn foo { var a/eax: int <- copy 0 var b/ebx: int <- copy 0 { var a1/eax: int <- copy 0 var b1/ebx: int <- copy a1 } b <- copy a } However, factorial.mu is still throwing a spurious error. Some history on this commit's fix: When I moved stack-location tracking out of the parsing phase (commit 6116, Mar 10) I thoughtlessly moved block-depth tracking as well. And the reason that happened: I'd somehow gotten by without ever cleaning up vars from a block during parsing. For all my tests, this is a troubling sign that I'm not testing enough. The good news: clean-up-blocks works perfectly during parsing.
* 6561 - failing testKartik Agaram2020-06-211-8/+122
| | | | | Test `test-shadow-name-2` shows that we aren't popping off more than one variable from each block that we exit.
* 6560Kartik Agaram2020-06-201-10/+3
|
* 6559Kartik Agaram2020-06-201-0/+1
|
* 6558 - dump the stack of local varsKartik Agaram2020-06-201-68/+129
| | | | I'm still tracking down at least one bug in how that stack is managed.
* 6557 - fix a bug in pack.subxKartik Agaram2020-06-202-2/+94
| | | | | | | | | I was shifting bitfields around based on their width rather than the width of the field to their right. Kinda shocking that I haven't used the scale bits until now. I've been generating code that uses them in mu.subx tests, but apparently I haven't actually _run_ any such code before.
* 6556 - check for uses of clobbered varsKartik Agaram2020-06-192-18/+163
| | | | | Now all tests passing again. In the process I found a bug where one of my tests actually generated incorrect code.
* 6555 - fix one class of failing testsKartik Agaram2020-06-191-15/+78
| | | | | | | | | | Defining a new var in a register based on a previous var in the same register. Unfortunately I don't yet support such an instruction without getting into arrays. Ideally I want `y <- add x, 1` to convert to the same code as `x <- add x, 1` if `y` ends up in the same register. And so on. But I don't yet have a way to specify "output same register as inout 1" in my `Primitives` data structure.