| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Now duplex-list is fully non-generic and only works with characters. But
we'll fix that in a bit..
|
|
|
|
| |
Already I'm finding type errors in the programming environment.
|
| |
|
|
|
|
| |
Still to go: ctrl-k and ctrl-u.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finally terminate the experiment of keeping debug prints around. I'm
also going to give up on maintaining counts.
What we really need is two kinds of tracing:
a) For tests, just the domain-specific facts, organized by labels.
b) For debugging, just transient dumps to stdout.
b) only works if stdout is clean by default.
Hmm, I think this means 'stash' should be the transient kind of trace.
|
|
|
|
|
| |
Not yet useable, because we never ever stop coalescing operations. That
will happen when we introduce a second type of operation.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Should be a little bit more mnemonic.
|
|
|
|
| |
First step to reducing typing burden. Next step: inferring types.
|
|
|
|
|
|
| |
But still no difference in either memory footprint or in running time.
This will teach me -- for the umpteenth time -- to optimize before
measuring.
|
|
|
|
|
| |
Turns out to not affect memory utilization or run-time. At all.
But still looks nicer and requires less fudging on our part.
|
| |
|
|
|
|
|
| |
I forgot to check for nulls before writing prev pointers in doubly
linked lists. Tests were accidentally passing.
|
|
|
|
|
|
|
|
|
|
| |
This uncovers an issue with this interface to duplex lists: the caller
needs to check the result and invalidate any other pointers if it's null
(i.e. the list is now empty)
We *could* try to encapsulate the list in a header to help the caller
manage header pointers. But heck, let's see if writing tests helps
call-sites stay on the straight and narrow.
|
| |
|
| |
|
| |
|
| |
|
|
|