Kartik K. Agaram
d9b215437a
188 - new op: 'prepare-reply'
...
It's needed to allow 'defer' to execute statements on 'reply' without
touching the results.
2014-10-31 16:22:30 -07:00
Kartik K. Agaram
32f282b4ae
187 - return function results by value
2014-10-31 16:18:13 -07:00
Kartik K. Agaram
7daade2a51
187
2014-10-31 16:14:11 -07:00
Kartik K. Agaram
7d52fe2a3c
186 - per-call default scope
...
We can't free memory yet, but at least this way we stop using stale
scopes by default.
2014-10-31 16:11:12 -07:00
Kartik K. Agaram
40418ad404
185 - make sure functions call by value
...
This becomes important in the presence of scopes.
2014-10-31 15:21:07 -07:00
Kartik K. Agaram
7946c901c7
184
2014-10-30 18:45:44 -07:00
Kartik K. Agaram
55b73f0ff1
183 - global variables
...
If an operand has metadata 'global', it isn't offset off default-scope.
2014-10-30 18:45:38 -07:00
Kartik K. Agaram
13315b2a57
182
2014-10-30 17:34:34 -07:00
Kartik K. Agaram
3eb3507382
181 - fix inconsistent metadata
...
We have cases where 'type' is stored in memory, so it can't be a
literal type like 'offset'.
2014-10-30 17:29:14 -07:00
Kartik K. Agaram
0257f8daa8
180
2014-10-30 17:22:06 -07:00
Kartik K. Agaram
2c3248b376
179
2014-10-30 00:41:09 -07:00
Kartik K. Agaram
f57129dcca
178
2014-10-30 00:39:59 -07:00
Kartik K. Agaram
97208a383a
177 - more robust 'die'
2014-10-30 00:37:03 -07:00
Kartik K. Agaram
12807afa4f
176
2014-10-29 22:39:53 -07:00
Kartik K. Agaram
b81abc2476
175 - have 'new' write array size automatically
2014-10-29 22:39:21 -07:00
Kartik K. Agaram
dea74d7156
174 - experiment: communicating errors between routines
...
Who does cleanup? That comes later, with custodians.
2014-10-29 22:19:03 -07:00
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
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
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
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
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
b21fa58534
140
2014-10-12 12:01:04 -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
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
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
526d5d3f13
127 - tagged values for dynamic typing
...
This is almost certainly wrong.
2014-10-10 20:25:31 -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
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