Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | . | Kartik K. Agaram | 2021-06-11 | 2 | -22/+25 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -1/+0 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -12/+11 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -54/+50 |
| | | | | | | Inline a function by patching a few variable names. I don't even have to worry about `return` statements if there's a single call and it's in tail position in the caller. | ||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -11/+13 |
| | |||||
* | start showing parse errors under definitions | Kartik K. Agaram | 2021-06-11 | 1 | -2/+10 |
| | | | | | | We don't have support for browsing them yet. Just errors for now, which should only be a line or two. Larger traces might be useful for inspecting results of macroexpansion. | ||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -6/+6 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -13/+34 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-09 | 2 | -36/+36 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-09 | 2 | -47/+32 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-09 | 2 | -15/+19 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-09 | 1 | -3/+4 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-09 | 5 | -44/+52 |
| | | | | Add argument to a few functions. | ||||
* | . | Kartik K. Agaram | 2021-06-09 | 2 | -3/+3 |
| | |||||
* | make tests pass again | Kartik K. Agaram | 2021-06-09 | 3 | -15/+19 |
| | | | | | I'm temporarily disabling the pending state. I'm also providing a clearer error message when we encounter the bug. | ||||
* | snapshot: attempt at modifying a function name | Kartik K. Agaram | 2021-06-09 | 3 | -24/+135 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out there's another problem, and it predates the ability to create new definitions: ctrl-s triggers a call to `evaluate`, which inserts a new definition into globals. which has a null gap buffer. All this happens long before the new code in this commit, resulting in a null gap buffer by the time we get to word-at-cursor. Which in turn happens because we perform a raw `evaluate`, which doesn't update the gap buffer like `run` does (using `maybe-stash-gap-buffer-to-global`). And arguably `evaluate` shouldn't mess with the gap buffer. Gap buffers are a UI concern. The hardest version of this immediate scenario: It's unclear how to guarantee that every definition have a gap buffer, when two definitions may share one (closures sharing a lexical environment). New plan: - improve the logic for detecting definitions. Looking at the outermost layer isn't enough. And a single expression can create multiple definitions. - extract a helper to attach a single gap buffer to multiple definitions. - have the UI detect conflicts in gap buffers and prompt the user for a decision if a different gap buffer already exists for a definition. | ||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -2/+12 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -11/+11 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -330/+330 |
| | |||||
* | shell: function modal now also creates functions | Kartik K. Agaram | 2021-06-08 | 3 | -5/+183 |
| | |||||
* | shell: expand set of possible errors | Kartik K. Agaram | 2021-06-08 | 3 | -19/+68 |
| | | | | | Requires a change to mu.subx, to unify literal strings with generic (addr array _) | ||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -20/+17 |
| | |||||
* | a place for error messages in the function modal | Kartik K. Agaram | 2021-06-08 | 1 | -7/+101 |
| | | | | Probably not ideal, but it's a start. | ||||
* | ok, function modal now has full coverage | Kartik K. Agaram | 2021-06-08 | 4 | -17/+132 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -7/+85 |
| | |||||
* | first test for function modal | Kartik K. Agaram | 2021-06-08 | 1 | -6/+41 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -37/+33 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 7 | -72/+99 |
| | | | | | | | I wrote a comment about how some code was not covered by tests, and then promptly forgot what it was for. This is why we need tests. Now the hack is gone. | ||||
* | stop printing more than one '.' per assertion | Kartik K. Agaram | 2021-06-08 | 1 | -6/+12 |
| | | | | Screen real-estate is precious on the boot screen since we have no scrolling. | ||||
* | shell: first test for entire environment | Kartik K. Agaram | 2021-06-08 | 2 | -6/+77 |
| | | | | This introduces some ergonomic issues. But we have to start somewhere. | ||||
* | fizz-buzz take 2 | Kartik K. Agaram | 2021-06-06 | 1 | -11/+24 |
| | |||||
* | reverse-video for cursor | Kartik K. Agaram | 2021-06-06 | 2 | -15/+18 |
| | |||||
* | fizz-buzz exercise | Kartik K. Agaram | 2021-06-06 | 1 | -3/+11 |
| | |||||
* | make fake screens more realistic | Kartik K. Agaram | 2021-06-06 | 1 | -9/+33 |
| | | | | The real screen silently clips coordinates out of bounds. | ||||
* | shell: concept of palettes | Kartik K. Agaram | 2021-06-06 | 1 | -13/+8 |
| | |||||
* | growing disenamored with up and down | Kartik K. Agaram | 2021-06-06 | 1 | -8/+5 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-06 | 1 | -14/+24 |
| | |||||
* | handle navigating to a non-existent function | Kartik K. Agaram | 2021-06-06 | 1 | -14/+23 |
| | | | | We need a place to show error messages. Maybe on the top row? | ||||
* | . | Kartik Agaram | 2021-06-06 | 1 | -0/+250 |
| | |||||
* | . | Kartik Agaram | 2021-06-06 | 1 | -0/+18 |
| | |||||
* | . | Kartik Agaram | 2021-06-06 | 2 | -3/+1 |
| | |||||
* | shell: more foundations from Lisp | Kartik K. Agaram | 2021-06-06 | 1 | -0/+44 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-06 | 1 | -1/+3 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-06 | 1 | -4/+4 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-06 | 1 | -4/+6 |
| | |||||
* | nicer onboarding experience with Vim | Kartik K. Agaram | 2021-06-06 | 2 | -14/+20 |
| | | | | Thanks Sumeet Agarwal (https://github.com/sumeet) for helping catch this. | ||||
* | hacky Vim syntax highlighting for Mu Lisp | Kartik K. Agaram | 2021-06-06 | 2 | -1/+34 |
| | |||||
* | shell: fleshing out the 'standard library' | Kartik K. Agaram | 2021-06-06 | 2 | -1/+11 |
| | | | | | | Based loosely on Arc's arc.arc: http://arclanguage.org https://github.com/arclanguage/anarki/blob/official/arc.arc | ||||
* | . | Kartik K. Agaram | 2021-06-06 | 1 | -1/+1 |
| | |||||
* | shell: support negative integer literals | Kartik K. Agaram | 2021-06-06 | 3 | -1/+133 |
| | | | | We still don't support _any_ fractional literals, positive or negative. |