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
Kartik K. Agaram
99ff20c888
122 - make 'getc' async preparatory to making it testable
2014-10-08 00:38:08 -07:00
Kartik K. Agaram
239328e423
121 - finally I can alloc a 2D array
2014-10-07 14:03:09 -07:00
Kartik K. Agaram
fde987b54f
120 - forgot to alloc space for array length
2014-10-07 14:02:16 -07:00
Kartik K. Agaram
d43f0c54e2
119 - 'continue' was badly broken
2014-10-07 13:26:01 -07:00
Kartik K. Agaram
9dca5395f6
118 - persist all test traces
2014-10-07 10:31:22 -07:00
Kartik K. Agaram
2f47e5664f
117 - simplify old tests to use literals
2014-10-07 09:29:40 -07:00
Kartik K. Agaram
426e99b4cb
116 - retire 'literal' instruction now that we have 'literal' addressing
2014-10-07 08:42:54 -07:00
Kartik K. Agaram
0f23630451
115
2014-10-07 08:32:45 -07:00
Kartik K. Agaram
48052ed2df
114 - break/continue always available
2014-10-07 08:32:28 -07:00
Kartik K. Agaram
45b1e1f676
113 - slight progress working with screen 2D array
...
Why did it take forever to realize nobody will set the array length, that I
have to do it for myself?
2014-10-06 23:39:13 -07:00
Kartik K. Agaram
ec690bf30d
112
2014-10-06 22:58:06 -07:00
Kartik K. Agaram
62fc8a7b99
111 - no, can't mix array and record access
...
records need literal offsets; arrays need variables.
2014-10-05 20:03:03 -07:00
Kartik K. Agaram
daff44a21e
110 - 107 for 'get-address'
2014-10-05 15:10:29 -07:00
Kartik K. Agaram
2b9727b181
109
2014-10-05 15:07:52 -07:00
Kartik K. Agaram
5fca71f1ee
108
2014-10-05 15:02:55 -07:00
Kartik K. Agaram
bf6a25faa9
107 - 'get' can now take an address
2014-10-05 15:02:28 -07:00
Kartik K. Agaram
ecbd043693
106
2014-10-05 14:35:57 -07:00
Kartik K. Agaram
245609e3b2
105
2014-10-05 14:26:04 -07:00
Kartik K. Agaram
35366e91d9
104 - writing to fields/indices
2014-10-05 11:34:23 -07:00
Kartik K. Agaram
5858585951
103 - error on unknown op
2014-10-05 11:33:25 -07:00
Kartik K. Agaram
3b0b336e87
102 - fold 'aref' into 'get'
...
Also separate op for length of an array.
2014-10-05 11:32:25 -07:00
Kartik K. Agaram
5812830d53
101
2014-10-05 10:51:28 -07:00