freenode/#sicl - IRC Chatlog
Search
15:58:24
beach
The only major difficulties in phase 4 were due to my messing up the bootstrapping code in phase 3. As I predicted, phases 3 and 4 were very similar.
15:59:14
beach
I am going to call it a day for the purpose of bootstrapping. I'll just hang out on IRC, fix dinner, etc. Tomorrow, I'll try to "tie the knot".
16:08:11
jcowan
beach: possible subtypes of sequence to consider: queue, deque, doubly linked list, compactly stored numeric range
16:11:13
beach
I haven't thought much about whether I should make the sequence functions generic, or do what SBCL does, i.e. trampoline to a generic function when neither a list nor a vector is given.
16:35:40
splittist
A simple matter of programming! If this was a pure research project you would now publish your papers and abandon the code. Fortunately for us, you have loftier goals.
16:51:29
scymtym
beach: you asked for another video. this one shows orthogonal edge segments for mcclim graphs, the transformation tracer connected to the editor cursor and a new trick for the instruction selection toy: https://techfak.de/~jmoringe/instruction-selection-rewriting.ogv
18:10:03
jcowan
IMO in SICL all functions should be at least potentially generic, since every time you add a method the gf gets a new rack anyway; there can be a fast-path rack for functions with one method.
18:29:49
Bike
jcowan: isn't the "rack" the data vector of an object? I don't understand what a "fast-path rack" is
18:37:20
jcowan
a specialized rack that will be replaced if a second method is added. There's a new rack for every new method already: see sicl.pdf (online) p. 38
19:18:39
jcowan
A normal gf dispatches to its discriminating function: with only one method, the discriminating function is just the code of the method, since there is nothing to discriminate.
19:22:24
scymtym
if all specializers are t. otherwise discrimination is needed for method execution vs. no-applicable-method
20:18:57
jcowan
yes, I forgot about no-applicable-method, though there is nothing preventing it from being called on an ordinary function whose typing has been violated.