about summary refs log tree commit diff stats
path: root/chessboard-rawterm.mu
Commit message (Collapse)AuthorAgeFilesLines
* 544 - text modes now called 'retro' & 'cursor'Kartik K. Agaram2015-01-121-224/+0
| | | | | | | | | | | | | Other options considered for 'retro': 'teletype': perhaps most accurate, but arcane 'chat': captures that you have to hit 'enter', but not the rendering 'wrap': captures the auto-wrap when printing text but not that you have to hit 'enter' when typing 'text': useful as a synonym of 'chat' while conveying more information in other meanings, but too generic, nobody will get it Why do the input and output options have to be entangled like this?
* 502 - start of a graphic chessboard appKartik K. Agaram2015-01-041-0/+1
| | | | Just prints an empty board so far.
* 501Kartik K. Agaram2015-01-021-1/+1
|
* 497 - strengthen the concept of 'space'Kartik K. Agaram2015-01-021-5/+5
| | | | | | | | | | | | | | | | | | | | 'default-scope' is now 'default-space' 'closure-generator' is now 'next-space-generator' The connection to high-level syntax for closures is now tenuous, so we'll call the 'outer scope' the 'next space'. So, let's try to create a few sentences with all these related ideas: Names map to addresses offset from a default-space when it's provided. Spaces can be strung together. The zeroth variable points to the next space, the one that is accessed when a variable has /space:1. To map a name to an address in the next space, you need to know what function generated that space. A corollary is that the space passed in to a function should always be generated by a single function. Spaces can be used to construct lexical scopes and objects.
* 495Kartik K. Agaram2015-01-021-1/+2
|
* 494 - yet another regressionKartik K. Agaram2015-01-021-1/+13
|
* 492 - make chessboard more self-containedKartik K. Agaram2015-01-021-2/+11
|
* 489 - first regression in chessboardKartik K. Agaram2015-01-021-1/+2
| | | | Amazing how quickly we need tests or manual QA.
* 488Kartik K. Agaram2015-01-021-1/+7
|
* 487Kartik K. Agaram2015-01-021-1/+18
|
* 486Kartik K. Agaram2015-01-021-3/+1
|
* 485Kartik K. Agaram2015-01-021-29/+0
|
* 482 - cleanupKartik K. Agaram2015-01-021-29/+29
| | | | | Now chessboard is faster than in my super-late-bound language (https://gist.github.com/akkartik/1291243). Reassuring.
* 481 - oh of course: 'int-canon.memory*'Kartik K. Agaram2015-01-021-5/+5
|
* 480 - trying to speed up chessboardKartik K. Agaram2015-01-021-33/+34
| | | | | | Computing length of a 32-long list takes 2x a 16-long list. But 64-long takes 3x 32-long. Why? No idea yet. No insights from counting calls.
* 479Kartik K. Agaram2015-01-021-46/+44
|
* 478 - snapshot while debugging chessboardKartik K. Agaram2015-01-011-41/+82
| | | | | | | | | | | | | | | | | | | | | | This took a couple of hours to track down. I had to shrink down to a 2x2 chessboard, isolate a half-move (just a square to clear) that triggered an error, then hard-code the half-move to make it non-interactive, then copy my changes over to the non-cursor version in chessboard.mu, then start debugging trace. And then I found I was using an 'index-address' rather than 'index' to go from a board to a file-address inside 'make-move'. And that was corrupting the array of file pointers. Things I wish I had to help me here: a) a type checker. b) more speed. Are lists slowing down super-linearly? need an arc profiler. c) a side channel for traces even when the program is in cursor mode. I do have that (hence the 'new-trace' before calling main), but for some reason it wasn't convenient. Just had to buckle down, I think. d) the right '#ifdef's to switch between hard-coded move and interactive move, text vs cursor mode, etc. e) just in general better curation of traces to easily see what's going on. But that's just a pipe dream.
* 477 - reading moves in the chessboard appKartik K. Agaram2014-12-311-2/+82
|
* 474Kartik K. Agaram2014-12-311-0/+88