about summary refs log tree commit diff stats
path: root/baremetal/shell
Commit message (Collapse)AuthorAgeFilesLines
* 7793 - baremetal/shell: menuKartik K. Agaram2021-02-223-48/+93
|
* 7792Kartik K. Agaram2021-02-221-0/+53
|
* 7791Kartik K. Agaram2021-02-222-50/+37
| | | | Reorganize keyboard handling.
* 7790Kartik K. Agaram2021-02-222-5/+140
|
* 7789Kartik K. Agaram2021-02-223-34/+58
| | | | Start adding some lines to the trace. Never shown yet.
* 7787 - baremetal/shell: moving cursor into traceKartik K. Agaram2021-02-223-12/+140
|
* 7786 - baremetal/shell: render error messagesKartik K. Agaram2021-02-223-13/+172
|
* 7785 - baremetal/shell: trace primitives doneKartik K. Agaram2021-02-223-5/+86
| | | | Rendering traces will be an ongoing journey.
* 7784 - baremetal/shell: start of traceKartik K. Agaram2021-02-223-11/+56
|
* 7781 - baremetal/shell: tokenize numbersKartik K. Agaram2021-02-211-0/+93
| | | | | | | | We've now reached a point where we need to start thinking of error handling, and tests for error handling. The top-level has `stop`, but that's really just for working with Unix's exit(). Here we have the opportunity to bake errors into the trace. Which might also be a good opportunity for fleshing out the UX for the trace.
* 7780Kartik K. Agaram2021-02-212-0/+53
| | | | | | Start trimming whitespace from the input. It's probably a bad idea to rebuild all our primitives for gap buffers.
* 7779Kartik K. Agaram2021-02-211-4/+25
|
* 7778Kartik K. Agaram2021-02-211-2/+5
|
* 7777Kartik K. Agaram2021-02-214-16/+69
| | | | Same identity REPL, but now going through some symbol processing.
* 7776Kartik K. Agaram2021-02-211-1/+11
|
* 7775Kartik K. Agaram2021-02-212-18/+18
|
* 7774Kartik K. Agaram2021-02-212-8/+7
| | | | YAGNI over premature optimization. Avoid unnecessary copies.
* 7773Kartik K. Agaram2021-02-212-10/+4
|
* 7772Kartik K. Agaram2021-02-213-20/+29
|
* 7771Kartik K. Agaram2021-02-214-3/+42
| | | | | We might not scan directly through the gap buffer after all. Premature optimization?
* 7770 - baremetal/shell: scanning through gap bufferKartik K. Agaram2021-02-212-1/+168
|
* 7769Kartik K. Agaram2021-02-212-2/+0
|
* 7768 - baremetal/shell: assume multi-line from the startKartik K. Agaram2021-02-211-5/+8
|
* 7767 - baremetal/shell: skeleton replKartik K. Agaram2021-02-211-1/+18
| | | | Prints a fixed value for now, regardless of what is typed.
* 7763 - baremetal/shell: newlineKartik K. Agaram2021-02-202-40/+85
|
* 7762 - baremetal/shell: backspaceKartik K. Agaram2021-02-202-5/+21
| | | | | | The text buffer can now shrink, which means we need to be careful to erase the old location of the cursor. Just clear screen before render each time. Which means we need to be more efficient with our rendering.
* 7761 - baremetal/shell: read input from keyboardKartik K. Agaram2021-02-203-8/+72
|
* 7759 - changing course; delete the postfix shellKartik K. Agaram2021-02-205-3358/+0
| | | | | | | | | | | | | | | | | | | | | | | | It might be too ambitious for an initial Mu system, and I also want to watch my novelty budget. I also have great doubts about the ability of this live-updating postfix system to scale to interesting programs. Conditionals, loops, multi-line functions, all this requires further work. Instead, I'm going to recenter around Mu's original goals: - saying no to most features - encouraging/teaching testing - traces as a unifying metaphor In particular, instead of a live-updating system, the new debug loop will be: - generate a trace - browse the trace - modify the program - generate a trace - ... The only persistence we'll need here is a way to track what the programmer has drilled into in the trace. That might have some commonalities with the old system of expanded words.
* 7758Kartik K. Agaram2021-02-202-0/+1090
| | | | Just some temporary files before I blow them away.
* 7757Kartik K. Agaram2021-02-192-15/+119
|
* 7753Kartik K. Agaram2021-02-151-2/+5
|
* 7752Kartik K. Agaram2021-02-151-2/+20
|
* 7751Kartik K. Agaram2021-02-151-8/+10
|
* 7749Kartik K. Agaram2021-02-151-3/+1
| | | | | Forget about support for quitting for now. Quit by rebooting the computer or VM.
* 7744Kartik K. Agaram2021-02-141-4/+6
|
* 7743Kartik K. Agaram2021-02-142-1/+56
| | | | First bugfix in baremetal/shell. Already it's much easier to debug.
* 7742 - baremetal/shell is aliveKartik K. Agaram2021-02-141-1/+10
|
* 7741 - baremetal/shell: first run: single numberKartik K. Agaram2021-02-141-0/+34
|
* 7740 - baremetal/shell: eval and render lineKartik K. Agaram2021-02-142-0/+108
|
* 7739 - baremetal/shell: first draft of loopKartik K. Agaram2021-02-142-62/+237
| | | | | This is quite new and speculative. I tried to list out some potential future tests later when we add 'return'. We'll see how it goes.
* 7734 - baremetal/shell: break out of groupKartik K. Agaram2021-02-131-2/+93
|
* 7733 - baremetal/shell: conditional skips groupsKartik K. Agaram2021-02-131-1/+83
|
* 7732 - baremetal/shell: grouping wordsKartik K. Agaram2021-02-121-1/+95
| | | | Now there's a neat resonance carrying over all 3 levels of Mu notation.
* 7731 - baremetal/shell: conditional executionKartik K. Agaram2021-02-121-3/+69
|
* 7730 - baremetal/shell: boolean valuesKartik K. Agaram2021-02-123-10/+226
| | | | | In the process I found a bug in the Mu compiler. Limitations of just asserting the emitted code but not running it.
* 7729Kartik K. Agaram2021-02-121-3/+3
|
* 7728Kartik K. Agaram2021-02-121-0/+30
|
* 7727 - baremetal/shell: 1+1Kartik K. Agaram2021-02-113-0/+35
|
* 7726Kartik K. Agaram2021-02-111-4/+206
|
* 7725 - baremetal/shell: start on evaluatorKartik K. Agaram2021-02-112-0/+174
|