20:01:37karloszalso, now that we have lexical-variable as its own thing, do we really need to make (declare ...) check every read of a variable awlays?
20:01:59karloszif the variable is immutable, certainly we can just do it at the point of declaration
20:02:12karloszand if its immutable and not closed-over, we can check every write
20:02:57karloszi think we'd want reads on everything if we had mutable + closed-over
20:03:23karlosz*and if its mutable and not closed over, we can check every write
20:04:03karloszwhat we can do when the variable is immutable is we can generate a type check at the point of declaration
20:04:24karloszand then wrap truly-the at all the read sites so we get to fill in the derived type slot
20:04:48Bikei guess there's a problem when there are different definitions? like, (let ((x ...)) (lambda () (declare (type integer x)) ...) (lambda (y) (setf x (list y)))) kind of shit
20:05:12Bikewell that's one definition but different declarations, i mean.
20:10:09karloszx is closed over and mutable here isn't it?
20:11:33Bikewell, it's true with immutable ones too
20:11:46Bikesay we have, i don't know, (lambda () (declare (type integer x)) (loop ... x ...))
20:16:44karloszright, if its immutable the value doesn't change
20:16:52karloszonly the in scope type declaration might change
20:17:19karloszbut we don't have this information till bir
20:24:47kpoeckkarlosz Kudos to your build optimisation from yesterday!
20:29:58kpoeckand your pr 1097 has a merge conflict wrt wscript regarding the cleavir commit
20:31:44karloszyeah the cleavir commit should just be whatever is tip of trunk
20:32:02karloszi guess its better not to include the wscript commit
20:33:41karloszBike: could you merge the pr and make it use the right cleavir commit?
20:34:00karloszit should be the commit that's written
20:36:13kpoeckI now get an error comiling: (flet ((%f (a) a)) (%f)) No applicable method for ADD-USE with arguments (NIL #<CLEAVIR-BIR:JUMP>). Do you get that as well?