Commit Graph

512 Commits

Author SHA1 Message Date
Kartik K. Agaram
e8afd9a6dc 850 2015-02-27 19:09:49 -08:00
Kartik K. Agaram
82027684a9 842 2015-02-26 19:15:07 -08:00
Kartik K. Agaram
5b11731a3e 841 - no obvious optimization targets
Top functions (ms and #calls):
  run-for-time-slice 209953 184
  m 63880 99478
  canonize 63568 307282
  setm 44378 67281
  sizeof 37786 130452
  absolutize 36587 370943
  addr 34567 146896
  typeof 17395 63661
  parse-instr 11670 99243
  space 10988 561036
  typeinfo 10691 563272

absolutize seems like a target.
2015-02-26 19:12:32 -08:00
Kartik K. Agaram
dc38033200 831 - wire up trace browser to interactive repl 2015-02-24 00:35:56 -08:00
Kartik K. Agaram
6333b7614e 830 2015-02-24 00:32:23 -08:00
Kartik K. Agaram
3d2845f294 829 - warn if I forgot to freeze a function 2015-02-24 00:29:26 -08:00
Kartik K. Agaram
eacb2ce458 828 - interactive repl
Still klunky since mu has no notion of a return value. I find myself
using $print all the time.
2015-02-23 00:45:35 -08:00
Kartik K. Agaram
7cd72da17c 826 - augment name bindings when extending a function
This becomes important as we get closer to a repl for mu.
2015-02-23 00:22:45 -08:00
Kartik K. Agaram
4f359718d2 825 2015-02-22 23:54:14 -08:00
Kartik K. Agaram
f42a8ddc38 761 - now 30% faster than 758
4:26 compared to 6:20 on my laptop.
2015-02-16 14:55:45 -08:00
Kartik K. Agaram
78f27398a5 760
This speeds up the final test but not all together.
2015-02-16 14:24:38 -08:00
Kartik K. Agaram
c2174fcffc 759 - trace.arc.t 13% faster
Something wrong with my profiling, though. Numbers aren't adding up.
2015-02-16 12:40:25 -08:00
Kartik K. Agaram
8477a3dfee 758 2015-02-16 12:10:54 -08:00
Kartik K. Agaram
9dc37aff73 757 - collapse now kinda working
Tests are getting slow so quickly that I'm tempted to push forward the
rewrite to C.
2015-02-16 04:24:21 -08:00
Kartik K. Agaram
737e99bde7 753 2015-02-15 23:13:13 -08:00
Kartik K. Agaram
bf2ee4a499 751 - newest trace test now passing 2015-02-15 23:00:25 -08:00
Kartik K. Agaram
cc36784d2c 750 2015-02-15 22:48:58 -08:00
Kartik K. Agaram
ff1b342442 748 2015-02-15 21:34:02 -08:00
Kartik K. Agaram
b52a2cb5d8 744 - test cursor movement in trace browser
Don't prevent run-code from clobbering existing functions, but warn
because it makes traces easier to read if the different sections of a
test can be distinguished.
2015-02-11 13:16:02 -08:00
Kartik K. Agaram
6195ab7d55 742 - turns out chessboard test logs were incomplete
Now that we aren't loading system software for every test we can afford
to log the loading of test functions.
2015-02-11 02:36:07 -08:00
Kartik K. Agaram
e250360383 740 2015-02-10 22:53:29 -08:00
Kartik K. Agaram
5b67108713 731 2015-02-10 17:51:57 -08:00
Kartik K. Agaram
49b6493a99 730 - first test for trace browser
This was painless compared to the chessboard app. Still need to handle
input, though. Fingers crossed..
2015-02-10 13:43:36 -08:00
Kartik K. Agaram
207fc69d2e 726 2015-02-09 18:09:41 -08:00
Kartik K. Agaram
ba9132e6fd 725 - now support cursor movement
This had been on hold for some time; dependencies are crutches.
2015-02-09 17:58:35 -08:00
Kartik K. Agaram
b473d6cbd5 724 - stop using charterm for printing text
We'll keep it around for keyboard input now, for the nice scancode
names.

Ansi escape codes from http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html
2015-02-09 17:57:22 -08:00
Kartik K. Agaram
47da2141be 722 - split at substring, and assorted helpers 2015-02-08 15:02:41 -08:00
Kartik K. Agaram
ebce8e116d 721 2015-02-08 13:29:01 -08:00
Kartik K. Agaram
d1dc633bd2 720 - substring matching and searching 2015-02-08 13:26:16 -08:00
Kartik K. Agaram
465c5c06e7 718 - disable raw memory warnings in tests 2015-02-08 13:24:10 -08:00
Kartik K. Agaram
7847e20d26 716 - warn when writing to raw memory 2015-02-08 11:55:28 -08:00
Kartik K. Agaram
e898c419db 715 - support metadata in top-level names 2015-02-08 11:33:29 -08:00
Kartik K. Agaram
21ba80df9a 714
Just forget about unicode for now.
2015-02-08 11:12:08 -08:00
Kartik K. Agaram
8a06a34a9f 713 - quick 'n' dirty trace parser
Doesn't quite work yet; I can't have spaces after labels.
2015-02-08 00:42:07 -08:00
Kartik K. Agaram
50ec869832 712 2015-02-07 21:31:35 -08:00
Kartik K. Agaram
7962e0fd08 711 - extract method: string-copy 2015-02-07 21:21:42 -08:00
Kartik K. Agaram
8ab4b12c85 708 2015-02-05 20:54:00 -08:00
Kartik K. Agaram
ee50fd157c 706 2015-02-04 23:28:50 -08:00
Kartik K. Agaram
22a3a0073c 705 - clean up traces before we try to parse them
For now we want to parse two labels:
  'run', identifying call stack, op and args
  'mem', distinguishing reads and writes

This should give us fodder for a few weeks, to build both a folding UI
for individual statements and descending the call stack, and also a
query engine that can figure out sources and sinks in the trace graph.
2015-02-03 21:20:46 -08:00
Kartik K. Agaram
339dfd55df 695 - another attempt to handle strings in history
But now that we've added the keyboard parameter to process-keys,
modifying it in a recursive call also clobbers it in the caller. All
because of my weird, non-standard use of shared scope.
2015-02-01 01:26:08 -08:00
Kartik K. Agaram
581c04b492 693 - color-repl now uses keyboard/screen parameters 2015-02-01 01:03:42 -08:00
Kartik K. Agaram
7d2c2d55e8 690 - convention: '$' commands for debugging only
Swap printing generalized objects using arc's infrastructure to be the
$-prefixed debug helper, while the erstwhile $print-key-to-host becomes
the primitive print-character to host.
2015-02-01 00:15:43 -08:00
Kartik K. Agaram
df437f78e9 688 - <up> for history kinda sorta works
process-key is extracted to work on a given character, but its helpers
for parsing strings and comments still read keys directly from keyboard.

Still, this took long enough to get working that it's worth saving.
Milestones:

  a) figuring out how to debug without dumping trace crap on the screen
  in cursor mode.
  b) realizing you can't assign directly to result in the up case. Have
  to let the recursive call do it.
  c) replacing continuations in 'process-key'.
2015-01-31 23:39:08 -08:00
Kartik K. Agaram
74310db45a 687 - some helpers for debugging 2015-01-31 23:25:44 -08:00
Kartik K. Agaram
526e9b70d7 682
You can't just extract the array from inside a buffer. Its length isn't
right. Only reason we didn't catch this sooner is I think that arc's
simulated memory is initialized to all nils, which has some
serendipitous properties.

I should initialize memory to random values one of these days and see
what shakes out.
2015-01-29 23:19:22 -08:00
Kartik K. Agaram
b9e75b5a49 677 - more improvements for names in shared spaces 2015-01-29 13:47:30 -08:00
Kartik K. Agaram
e2a5ae322c 676 - allow routines to share *names* for locals 2015-01-29 12:40:29 -08:00
Kartik K. Agaram
b96d34f6f6 675 2015-01-29 12:13:24 -08:00
Kartik K. Agaram
877d0a44b7 670 - get rid of integer-buffer
We'll make 'buffer' properly generic at some point. Basically need to
support multi-word types.

  x:list:integer <- copy y:list:integer  # ok
  x:list <- copy y:list:integer  # ok
  x:list:integer <- copy y:list  # error

We'll need a separate runtime operator like maybe-coerce for the third
case.
2015-01-29 10:13:59 -08:00
Kartik K. Agaram
a407e90ea9 666 - first-class continuations! 2015-01-28 23:32:55 -08:00