Commit Graph

8373 Commits

Author SHA1 Message Date
Kartik K. Agaram
0f1fc1c0f0 172 - save completed routines for better white-box testing 2014-10-29 13:10:40 -07:00
Kartik K. Agaram
8373558698 171 - rename 'context' to 'routine'
Given goroutines, the new name conveys a more accurate connotation of
concurrency considerations.
2014-10-29 13:06:32 -07:00
Kartik K. Agaram
c34f5e26c8 170 - stack frame support
When the current context has a 'default-scope', directly-addressed
memory offsets off of it.
2014-10-29 10:33:43 -07:00
Kartik K. Agaram
4ed7fd4b94 169 2014-10-29 10:29:30 -07:00
Kartik K. Agaram
6857d6c824 168 2014-10-29 10:27:28 -07:00
Kartik K. Agaram
e54ab3f6e3 167
Make context a global.
2014-10-29 10:26:25 -07:00
Kartik K. Agaram
b7c86461fe 166 2014-10-29 09:02:34 -07:00
Kartik K. Agaram
dc8c5cea4c 165 2014-10-29 09:01:16 -07:00
Kartik K. Agaram
52dc9fa484 164 - start of a simple tangling system 2014-10-29 08:55:07 -07:00
Kartik K. Agaram
48cd1ae766 163 - start of a simple assembler 2014-10-29 00:30:46 -07:00
Kartik K. Agaram
dae4f6d15c 162 2014-10-29 00:06:14 -07:00
Kartik K. Agaram
a7b73b8cd7 161 2014-10-29 00:05:16 -07:00
Kartik K. Agaram
61c82b8e8f 160 - fix stale editor test 2014-10-28 11:41:59 -07:00
Kartik K. Agaram
67109edfd9 159 - putting types table in test file was a bad idea
We could no longer just create .mu files and run them on the command line.
2014-10-28 11:32:00 -07:00
Kartik K. Agaram
ff61a21cad 158 - stop supporting non-numeric addresses
That was relying on the underlying host lisp.
Next we'll build a simple assembler to get back descriptive variable names.
2014-10-28 11:00:18 -07:00
Kartik K. Agaram
48e121d5e8 157 - 'new-list' handles integers 2014-10-25 02:32:30 -07:00
Kartik K. Agaram
b046ed735b 156 - new primitive for lifting into tagged-types: 'save-type' 2014-10-24 11:38:02 -07:00
Kartik K. Agaram
4a0751d80b 155 2014-10-24 11:36:38 -07:00
Kartik K. Agaram
d245bbb6b2 154 - current stretch goal is to parse the horizon file 2014-10-24 10:39:26 -07:00
Kartik K. Agaram
fb80da8306 153 2014-10-24 10:38:38 -07:00
Kartik K. Agaram
88ffbcf617 152 2014-10-18 16:58:51 -07:00
Kartik K. Agaram
bb362d9c67 151 2014-10-18 16:50:54 -07:00
Kartik K. Agaram
cffd6659e8 150 2014-10-16 10:42:29 -07:00
Kartik K. Agaram
37036e0f7c 149 - get rid of 'type' and 'otype' in favor of tagged types for dispatch 2014-10-14 23:11:44 -07:00
Kartik K. Agaram
554ac51249 148 - better idiom for generic functions 2014-10-14 18:24:46 -07:00
Kartik K. Agaram
b9a05206d6 147 2014-10-14 17:51:30 -07:00
Kartik K. Agaram
e604185884 146 2014-10-14 17:27:10 -07:00
Kartik K. Agaram
2c0a6696a9 145 - delete random programs
They need a type table to work, but I'm keeping type tables next to
the tests.

Everything needs to be a test from now on.

(But first some fixes to the terminal primitives.)
2014-10-14 17:26:28 -07:00
Kartik K. Agaram
93ddcc744b 144 2014-10-14 10:02:18 -07:00
Kartik K. Agaram
1bfb7c1090 143 2014-10-12 14:32:47 -07:00
Kartik K. Agaram
0c9f837918 142 - helper for lists
Amazing how easy it was to just dump the trace and diff, compared to my old approach
of adding new traces and rerunning.
2014-10-12 14:27:26 -07:00
Kartik K. Agaram
a28ca9a7ad 141 - list nodes using tagged-value 2014-10-12 14:12:34 -07:00
Kartik K. Agaram
b21fa58534 140 2014-10-12 12:01:04 -07:00
Kartik K. Agaram
bb63c4191f 139 2014-10-12 11:29:02 -07:00
Kartik K. Agaram
1bd5f2f5f1 138
Current todo stack:
  trace-based assert
  new-tagged-value - assert that first arg has size 1
  test constructing list manually
  new-list
2014-10-12 11:12:36 -07:00
Kartik K. Agaram
244f31f7ee 137 2014-10-12 10:49:33 -07:00
Kartik K. Agaram
aa7de0e8af 136 - log memory in consistent order
This is super slow. Maybe I should keep it commented out until we need
it? Open to doing that in future.
2014-10-12 10:32:03 -07:00
Kartik K. Agaram
6d24d47bd7 135 2014-10-12 10:27:23 -07:00
Kartik K. Agaram
89ee18a13e 134 - 'arg' explicitly tells us if an arg was found
Return values can be ignored in mu, in the grand traditions of C programming.
Though library writers can impose their conservatism on callers by returning
the error condition first.
2014-10-12 10:23:02 -07:00
Kartik K. Agaram
3245570bc7 133 - handle missing args without error 2014-10-12 10:17:46 -07:00
Kartik K. Agaram
29bb9841e5 132 2014-10-11 14:17:50 -07:00
Kartik K. Agaram
1714bd1d50 131 - maybe-coerce now allocates new space each call
(Doesn't reclaim yet. Need to build free soon. Then lexical scopes..)

This commit showed the benefits of my persisting traces. I realized I
needed 'sz' to handle 'deref' args. But I vaguely remembered some
earlier instance when some primitive needed to recognize 'deref'
at some times but not others. Was it 'sz'? Just added a trace on
operands, reran all tests, grepped for deref.

  $ grep sz .traces -r |grep deref

Nothing would fail. Ok, add 'deref' support. Boom, 3 layers of tests
passed.

Still concerned I'm not using traces enough. Keep vigilant.

Mixing print and trace seems like a bad idea. From now on whenever I use
any existing commented-out prn's I'm going to turn them into trace
calls. That should put pressure on comprehending traces, and tools for
doing that, like segmenting by dynamic and static layers.
2014-10-11 11:17:04 -07:00
Kartik K. Agaram
639fd2fb54 130 - build maybe-coerce in mu
This is more likely to be right. But the limitations of symbolic
locations are starting to be a drag. Time to build lexical scope.
2014-10-11 10:09:59 -07:00
Kartik K. Agaram
b1e7d8617a 129 2014-10-10 23:49:53 -07:00
Kartik K. Agaram
3861662698 128 2014-10-10 20:26:06 -07:00
Kartik K. Agaram
526d5d3f13 127 - tagged values for dynamic typing
This is almost certainly wrong.
2014-10-10 20:25:31 -07:00
Kartik K. Agaram
cf2358f432 126 2014-10-10 20:15:12 -07:00
Kartik K. Agaram
27d5dd3495 125 2014-10-10 15:58:49 -07:00
Kartik K. Agaram
dad7fb3659 124 2014-10-10 15:09:16 -07:00
Kartik K. Agaram
630e93635c 123 - experiment: build the reading flow around the *test* file 2014-10-10 15:08:19 -07:00