freenode/#clasp - IRC Chatlog
Search
15:21:47
pfdietz
Probably not important though. The semantics for ordinary functions is there so you can override keyword arguments using APPLY.
15:24:14
pfdietz
On the other hand, a COMPILER macro had better preserve the behavior of the function it's replacing.
15:24:46
pfdietz
And the function, if invoked as a function, would evaluate those redundant keyword args.
15:26:32
pfdietz
:test and :test-not is a special case. IIRC it's unspecified what happens if you include both.
15:27:56
pfdietz
"The consequences are unspecified if both a :test and a :test-not argument are supplied in the same call to F. "
15:28:50
beach
Then the compiler macro must arrange for all of them to be evaluated, and in the right order.
15:41:40
beach
So a compiler macro without a &rest parameter for a function that takes keyword parameters is necessarily incorrect.
17:00:33
Bike
Right now I'm redoing the implementation of the argument parsing code (i.e. the translation of enter-instruction), which naturally is pretty complex
18:44:26
Bike
drmeister: just remembered something- while you're messing with discriminators it might be nice to make *current-function-description* or something available so argument counte rrors can be nicer
18:50:26
drmeister
Do you mean to pass it through to the functions that report the argument count errors? That sounds like a good idea and it's pretty straightforward.
18:53:15
Bike
yeah. right now we use *gv-current-function-name* which i think probably shouldn't even exist
18:56:22
drmeister
Right - we should pass in the pointer to the function-description and the pointer to the constants vector. Those two things will give us everything we need.
18:56:44
drmeister
Ah - we have to solve the problem of setting up the generic function name in the function-description. Right now it is LAMBDA
19:25:54
drmeister
shiho: That makes sense - but now that we have a clear plan, I'd like to check it with scymtym
22:56:28
scymtym
drmeister: yes (or a thing that should replace the left node if your tree construction works without mutation)
22:57:37
drmeister
We had another question - another method came up that wasn't make-node, resolve or finish-????
22:59:01
scymtym
for nodes, it's normally roughly like (finish-node (reduce #'relate relations :initial-value (make-node kind initargs)))
22:59:14
drmeister
We will have to keep putting in dump-module statements until we see where the functions disappear.
23:19:14
drmeister
We will (1) turn your computer off and then on again. (2) refresh llvm. (3) distclean (4) rebuild.
23:19:51
drmeister
Especially because it said the one pointer was <bad> or <undef> (I don't recall exactly). That was really weird.