about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 1339Kartik K. Agaram2015-05-102-45/+49
|
* 1338Kartik K. Agaram2015-05-101-2/+2
|
* 1337Kartik K. Agaram2015-05-101-0/+2
|
* 1336Kartik K. Agaram2015-05-101-6/+18
|
* 1335Kartik K. Agaram2015-05-101-28/+2
|
* 1334Kartik K. Agaram2015-05-101-16/+18
|
* 1333Kartik K. Agaram2015-05-101-3/+11
|
* 1331Kartik K. Agaram2015-05-102-3/+5
|
* 1330Kartik K. Agaram2015-05-103-1/+8
|
* 1329Kartik K. Agaram2015-05-102-0/+12
|
* 1328 - another error messageKartik K. Agaram2015-05-101-0/+36
|
* 1327 - better error handling in chessboardKartik K. Agaram2015-05-109-57/+187
| | | | | Also a bugfix in break to label, because I noticed the screen wasn't being cleaned up on quit.
* 1326Kartik K. Agaram2015-05-101-23/+0
|
* 1325Kartik K. Agaram2015-05-103-0/+0
|
* 1324 - warn when mixing named and numeric locationsKartik K. Agaram2015-05-101-38/+95
|
* 1323 - keyboard supports backspace and newlineKartik K. Agaram2015-05-1017-43/+443
| | | | | | Lots mixed into this commit: some off-by-one errors in display.cc a new transform to translate jump labels that I'd somehow never gotten around to supporting
* 1322 - ctrl-c should always interruptKartik K. Agaram2015-05-102-0/+2
|
* 1321 - *finally*, fixed the chessboard sluggishnessKartik K. Agaram2015-05-104-3/+47
|
* 1320Kartik K. Agaram2015-05-101-2/+2
|
* 1319Kartik K. Agaram2015-05-101-6/+6
| | | | Allow termbox array sizes to be easily counted with 'wc'.
* 1318 - 1317 actually works nowKartik K. Agaram2015-05-103-7/+45
|
* 1317 - all tests passingKartik K. Agaram2015-05-091-6/+34
| | | | Hacky new way to turn off child threads.
* 1316Kartik K. Agaram2015-05-092-6/+6
| | | | buffer-lines works, at least.
* 1315 - chessboard now working interactivelyKartik K. Agaram2015-05-094-3/+91
| | | | | | | | | | | | | | | | | | | | I tried to bring too much into this commit, and paid the price with some debugging effort. Still havent't tried to enable line buffering, but I'll take a snapshot. Some tests are failing because of the huge hack in the scheduler. For a while I thought there was a bug in termbox because I kept seeing segfaults and valgrind complained about out-of-bounds access. But that was just subsidiary threads trying to print to the screen after I'd returned to console mode. Maybe I should add a test for send-keys-to-channel. Or just use a fake keyboard rather than a channel. And *then* there's the fact that the interaction is molasses slow. Slower than the arc version even though the tests run so much faster. And what's with the long pauses in printing strings to screen?
* 1314Kartik K. Agaram2015-05-091-1/+2
|
* 1313 - merge termboxKartik K. Agaram2015-05-092-4/+4
|
* 1312Kartik K. Agaram2015-05-081-35/+23
|
* 1311Kartik K. Agaram2015-05-081-0/+1
|
* 1310Kartik K. Agaram2015-05-081-11/+11
|
* 1309 - stupid typoKartik K. Agaram2015-05-081-2/+1
|
* 1308Kartik K. Agaram2015-05-085-4/+105
|
* 1307Kartik K. Agaram2015-05-081-6/+6
|
* 1306Kartik K. Agaram2015-05-072-2/+83
|
* 1305Kartik K. Agaram2015-05-072-2/+89
|
* 1304 - two bugs in 'wait-for-routine'Kartik K. Agaram2015-05-071-7/+12
|
* 1303Kartik K. Agaram2015-05-072-2/+2
|
* 1302Kartik K. Agaram2015-05-071-0/+1
|
* 1301 - back to the chessboardKartik K. Agaram2015-05-075-2/+206
| | | | Still need a nice syntax for managing the routine under test.
* 1300Kartik K. Agaram2015-05-071-1/+2
|
* 1299 - stop using [] in any vectorKartik K. Agaram2015-05-0722-112/+112
| | | | | | | | | Useful check: $ grep "[^ '\"]\[[^\"]" *.cc \ |perl -pwe 's/\Wargv\[|\WTests\[|\Wframe\[|\WMemory\[|\WName\[|\WSurrounding_space\[|\WRecipe\[|\WType\[|\WRecipe_number\[|\WType_number\[|\WBefore_fragments\[|\WAfter_fragments\[//g' \ |perl -pwe 's/\Wargv\[|\WTests\[|\Wframe\[|\WMemory\[|\WName\[|\WSurrounding_space\[|\WRecipe\[|\WType\[|\WRecipe_number\[|\WType_number\[|\WBefore_fragments\[|\WAfter_fragments\[//g' \ |grep '[^ ]\['
* 1298 - better ingredient/product handlingKartik K. Agaram2015-05-0735-586/+687
| | | | | | | | | | | | | | | | | | | All primitives now always write to all their products. If a product is not used that's fine, but if an instruction seems to expect too many products mu will complain. In the process, many primitives can operate on more than two ingredients where it seems intuitive. You can add or divide more than two numbers together, copy or negate multiple corresponding locations, etc. There's one remaining bit of ugliness. Some instructions like get/get-address, index/index-address, wait-for-location, these can unnecessarily load values from memory when they don't need to. Useful vim commands: %s/ingredients\[\([^\]]*\)\]/ingredients.at(\1)/gc %s/products\[\([^\]]*\)\]/products.at(\1)/gc .,$s/\[\(.\)]/.at(\1)/gc
* 1297Kartik K. Agaram2015-05-071-5/+8
|
* 1296 - roll back 1295Kartik K. Agaram2015-05-075-301/+10
|
* 1295 - broken snapshotKartik K. Agaram2015-05-075-10/+301
| | | | | I spent a couple of hours debugging this because routine-state only sometimes writes to its product. This is unacceptable. Fix this first.
* 1294Kartik K. Agaram2015-05-061-5/+5
|
* 1293 - start porting the chessboard app overKartik K. Agaram2015-05-065-7/+215
| | | | | | | | | Just to put all our new test primitives through their paces, and iron out any kinks. Just the one chessboard scenario is taking 1.5-2.5x all the tests we've written so far. But we're starting from a faster baseline, that was the point of the C++ port. I also have -O3 optimizations in my back-pocket.
* 1292Kartik K. Agaram2015-05-061-1/+1
|
* 1291Kartik K. Agaram2015-05-0648-53/+52
|
* 1290Kartik K. Agaram2015-05-061-5/+4
|
* 1289Kartik K. Agaram2015-05-062-0/+57
|