about summary refs log tree commit diff stats
path: root/apps/tile/rpn.mu
Commit message (Collapse)AuthorAgeFilesLines
* 7129 - tile: allow bindings anywhereKartik Agaram2020-10-271-7/+7
| | | | | | | | | | Amazing how easy this was. And it does feel more intuitive. If I decide at some point that I want to bind something to a name I don't usually want to lose the entire line after that point. It also sidesteps for now the thorny question of whether to permit organically switching to a new line (rather than using the 'name value' hotkey), and how that should work.
* 7127Kartik Agaram2020-10-271-1/+1
|
* 7124 - tiles: better 'lines' primitiveKartik Agaram2020-10-271-14/+17
|
* 7120 - tile: array of lines from fileKartik Agaram2020-10-261-0/+46
| | | | Requires a quick hacky change to Mu compiler.
* 7119 - tile: new primitive to slurp file contentsKartik Agaram2020-10-261-0/+36
| | | | | Stack display is messed up when file contents contain newlines. Ignoring that for now.
* 7115Kartik Agaram2020-10-261-5/+5
|
* 7112 - tile: arrays of non-integersKartik Agaram2020-10-261-12/+37
|
* 7110Kartik Agaram2020-10-261-0/+54
| | | | | | | | | | Some more helpers that I want to avoid using, but they help me gain confidence in the current implementation of file handles. Manual test: "x" open dup read swap read Assumes there's a file called `x` in the current directory that contains at least two (short!) lines.
* 7108 - tile: read from file handleKartik Agaram2020-10-251-0/+36
|
* 7107 - tile: file handlesKartik Agaram2020-10-251-0/+32
|
* 7106 - tile: arrays of intsKartik Agaram2020-10-251-23/+54
|
* 7105 - tile: define-function works with stringsKartik Agaram2020-10-251-12/+33
|
* 7104 - tile: word-rename works with stringsKartik Agaram2020-10-251-3/+11
|
* 7103 - tile: first primitive for stringsKartik Agaram2020-10-251-0/+38
|
* 7101 - tile: remove quotes when evaluating stringsKartik Agaram2020-10-251-1/+1
| | | | This found several bugs due to me not checking for null strings.
* 7100 - tile: render string literalsKartik Agaram2020-10-251-0/+14
|
* 7066 - tile: some more primitives for testingKartik Agaram2020-10-191-0/+2
| | | | | Lesson learned: functions store args in _reverse_ order. Since evaluation is very frequent, it's worth optimizing for it.
* 7058Kartik Agaram2020-10-181-0/+3
| | | | | Snapshot; things seem to be working besides ctrl-r, but we aren't yet rendering only the final line.
* 7057 - tile: back to namesKartik Agaram2020-10-181-5/+44
| | | | We can now create new bindings for names while evaluating lines.
* 6965Kartik Agaram2020-10-051-5/+5
|
* 6879Kartik Agaram2020-09-261-14/+18
| | | | Extract a new function.
* 6876Kartik Agaram2020-09-261-21/+8
| | | | Back to commit 6872.
* 6873Kartik Agaram2020-09-261-8/+21
| | | | Now saving the subsidiary stack.
* 6871Kartik Agaram2020-09-261-2/+2
| | | | Segfault now fixed. Everything seems to be working again.
* 6870Kartik Agaram2020-09-261-29/+29
| | | | | | Emit a stack of not ints but more complex objects containing the int payload. Function calls again segfaulting.
* 6868Kartik Agaram2020-09-261-14/+42
| | | | First function call working in apps/tile!
* 6867Kartik Agaram2020-09-261-2/+5
| | | | Segfault fixed. This shouldn't have been so hard.
* 6860Kartik Agaram2020-09-261-2/+71
| | | | | Snapshot: tile currently segfaulting. I need to back up and make it easier to debug.
* 6853 - tile: initialize a test function definitionKartik Agaram2020-09-241-0/+3
|
* 6852 - tile: placeholder for lexical scopesKartik Agaram2020-09-241-1/+1
|
* 6844 - tile: initial data modelKartik Agaram2020-09-231-23/+4
| | | | I actually deleted a test here! Hard-core prototype mode.
* 6815 - tile: get actual calculations workingKartik Agaram2020-09-191-30/+32
|
* 6807 - tile: render intermediate stack stateKartik Agaram2020-09-191-44/+78
|
* 6803 - RPN: typing a single word now worksKartik Agaram2020-09-191-5/+8
|
* 6801 - snapshot: RPN structured editorKartik Agaram2020-09-191-0/+94
There's some worrisome memory corruption here between the call to max-stack-depth and the callee picking up its args. All this code is incredibly ugly as I start to wrestle with the challenges of structured editors. I keep wanting to keep business logic separate from rendering, but there are feedback loops from wanting to know where to render the cursor. And I haven't even started trying to avoid full-screen renders yet. That'll complect things even more. For now the data path for every iteration of the render loop is: process key compute max depth needed (or any other global information needed for rendering) render