about summary refs log tree commit diff stats
path: root/generic.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-01-01 11:11:02 -0800
committerKartik K. Agaram <vc@akkartik.com>2015-01-01 11:20:54 -0800
commitce3518f362743d7a004f952358864748eecf8c0d (patch)
treecd9677d5d2653d34eeb3094796a50523bf94b66d /generic.mu
parenta03b8aea543689d1fdb8c7b70ffdec9678833db6 (diff)
downloadmu-ce3518f362743d7a004f952358864748eecf8c0d.tar.gz
478 - snapshot while debugging chessboard
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.
Diffstat (limited to 'generic.mu')
0 files changed, 0 insertions, 0 deletions