freenode/#sicl - IRC Chatlog
Search
10:22:06
beach
YAY! Finished incorporating the referee reports. Or, rather, the ones I intend to incorporate. The ones marked "perhaps" and that I don't find reasonable to incorporate, I won't.
10:23:31
beach
So I asked my (admittedly small) family to proofread the "finished" versions for grammar issues. She might not know the details of the subject, but her English is impeccable. After that, all that remains is to incorporate the DOI information. But I have had enough of referee reports for today. So I'll do that tomorrow.
13:39:49
beach
I might have talked about this before. If so, you can skip the following rant. Currently, I keep a "specializer profile" for each generic function. It is a list of Boolean values, and its length is that of the number of required arguments. It has T in every position that has at least one method with a specializer other than the class T, and NIL otherwise.
13:39:58
beach
When I compute the discriminating function, I generate code to test only the arguments with a T in the profile. And I don't register the class of the other arguments. But I don't think this idea is going to work out.
13:40:05
beach
If a new method is added, which specializes on a parameter not previously specialized upon, I would have to ditch the entire call history it seems. And if that happens to an essential generic function, then I have a metastability problem.
13:40:06
beach
I think I need to keep the class of each argument in the call history, whether specialized upon or not, so that when the new method is added, I can go through the call history and keep entries for which the new method is not applicable.
13:43:57
beach
If so, it is a bit unfortunate. Take a slot writer for instance. The value of the slot can be of any type, and I still have to test for that type in the discriminating function.
13:51:57
Bike
sorry, i'm gonna be slow today. i got woken up at 3 in the morning by thunder and didn't get a lot of sleep.
13:52:28
beach
No rush. I am thinking about this independently. I think I *have to* find a way to avoid those tests.
13:55:15
beach
Maybe if the call history contained not a single value for each required parameter, but a set of values. Then the set can be a list of values, T (meaning anything) and (exclude ....) meaning anything but those values.