2015-02-25T00:05:24Z Adlai` joined #sbcl 2015-02-25T00:08:15Z Adlai quit (Ping timeout: 256 seconds) 2015-02-25T00:11:16Z stassats: got (defun test2 () (let ((b (bar))) (declare ((eql #\a) b)) (lambda () b))) to not allocate a closure 2015-02-25T00:13:16Z pkhuong: nice 2015-02-25T00:13:54Z stassats: (defun test (b) (declare ((eql #\a) b)) (lambda () b)) still does 2015-02-25T00:14:50Z Adlai` quit (Ping timeout: 252 seconds) 2015-02-25T00:15:38Z stassats: i wonder if let and local calls should actually use different propagation 2015-02-25T00:15:59Z stassats: propagate-let-args vs propagate-local-call-args 2015-02-25T00:16:54Z Adlai` joined #sbcl 2015-02-25T00:17:50Z stassats: that clearly doesn't work right now, but maybe it can be convinced 2015-02-25T00:23:12Z stassats: i'll have to carefully examine the differences 2015-02-25T00:27:16Z stassats: seems like there's two things to be done for local functions, unionizing types from all the call sites and propagating declared types 2015-02-25T00:27:28Z stassats: the last bit should be shared with propagate-let-args 2015-02-25T00:29:41Z stassats: then how are declarations propagated right now? 2015-02-25T00:31:20Z stassats: i'm probably working from the wrong place, (defun test2 () (let ((b (bar))) (locally (declare ((eql #\a) b)) (lambda () b)))) allocates a closure 2015-02-25T00:33:24Z stassats: and it actually moves the type check into the closure, not the parent function 2015-02-25T00:36:06Z pkhuong: I think that's correct; the declaration is a no-op if the variable isn't used? 2015-02-25T00:37:35Z stassats: probably, but then i can't avoid allocating a closure in this case 2015-02-25T00:38:07Z pkhuong: could return one of two closures, but that's probably very hard to pull off. 2015-02-25T00:38:11Z pkhuong: also not a common use case 2015-02-25T00:38:38Z stassats: but my original motivation is fixing a bug where there is a discrepancy between LTN eating a singleton type and a closure being allocated 2015-02-25T00:40:17Z stassats: and it's not triggered by locally 2015-02-25T00:42:39Z stassats: but i'm still curious how other types are propagated 2015-02-25T00:45:24Z stassats: (defun test2 () (let ((b (bar))) (locally (declare ((eql #\a) b)) (print b) (lambda () b)))) typechecks twice 2015-02-25T00:45:45Z stassats: which would be ok for writable closures 2015-02-25T00:49:39Z stassats: not sure about the value of a following optimization (lambda (x) (declare (bit x)) (lambda () x)) => (lambda (x) (declare (bit x)) (if (zerop x) (lambda () 0) (lambda () 1))) 2015-02-25T00:52:44Z krzysz00 quit (Ping timeout: 245 seconds) 2015-02-25T00:57:06Z stassats: or (lambda (x) (declare (bit x)) (flet ((foo (x) (print x))) (declare (notinline foo)) (case x (0 (lambda () (foo 0))) (1 (lambda () (foo 1)))))) 2015-02-25T01:02:52Z stassats` quit (Ping timeout: 240 seconds) 2015-02-25T01:03:27Z stassats quit (Ping timeout: 252 seconds) 2015-02-25T01:05:05Z ASau` joined #sbcl 2015-02-25T01:07:28Z christoph_debian quit (Ping timeout: 256 seconds) 2015-02-25T01:08:35Z ASau quit (Remote host closed the connection) 2015-02-25T01:16:54Z White_Flame joined #sbcl 2015-02-25T01:16:54Z snafuchs quit (*.net *.split) 2015-02-25T01:16:54Z flip214 quit (*.net *.split) 2015-02-25T01:19:14Z ASau` is now known as ASau 2015-02-25T01:20:16Z snafuchs joined #sbcl 2015-02-25T01:20:17Z flip214 joined #sbcl 2015-02-25T01:34:35Z christoph_debian joined #sbcl 2015-02-25T01:35:37Z mood quit (*.net *.split) 2015-02-25T01:35:37Z Bike quit (*.net *.split) 2015-02-25T01:35:37Z p_l quit (*.net *.split) 2015-02-25T01:35:37Z White_Flame quit (*.net *.split) 2015-02-25T01:35:37Z psy_ quit (*.net *.split) 2015-02-25T01:35:37Z pkhuong quit (*.net *.split) 2015-02-25T01:35:37Z yauz_2 quit (*.net *.split) 2015-02-25T01:35:37Z fikusz quit (*.net *.split) 2015-02-25T01:35:37Z loke quit (*.net *.split) 2015-02-25T01:35:37Z redline6561 quit (*.net *.split) 2015-02-25T01:39:24Z White_Flame joined #sbcl 2015-02-25T01:39:30Z mood joined #sbcl 2015-02-25T01:39:30Z psy_ joined #sbcl 2015-02-25T01:39:30Z pkhuong joined #sbcl 2015-02-25T01:39:30Z yauz_2 joined #sbcl 2015-02-25T01:39:30Z fikusz joined #sbcl 2015-02-25T01:39:30Z Bike joined #sbcl 2015-02-25T01:39:30Z p_l joined #sbcl 2015-02-25T01:39:30Z loke joined #sbcl 2015-02-25T01:39:30Z redline6561 joined #sbcl 2015-02-25T01:39:34Z Bicyclidine quit (Ping timeout: 268 seconds) 2015-02-25T01:40:23Z mood quit (*.net *.split) 2015-02-25T01:40:23Z Bike quit (*.net *.split) 2015-02-25T01:40:23Z p_l quit (*.net *.split) 2015-02-25T01:40:23Z White_Flame quit (*.net *.split) 2015-02-25T01:40:23Z psy_ quit (*.net *.split) 2015-02-25T01:40:23Z pkhuong quit (*.net *.split) 2015-02-25T01:40:23Z yauz_2 quit (*.net *.split) 2015-02-25T01:40:23Z fikusz quit (*.net *.split) 2015-02-25T01:40:23Z loke quit (*.net *.split) 2015-02-25T01:40:23Z redline6561 quit (*.net *.split) 2015-02-25T01:40:45Z irsol quit (*.net *.split) 2015-02-25T01:41:37Z White_Flame joined #sbcl 2015-02-25T01:41:37Z mood joined #sbcl 2015-02-25T01:41:37Z psy_ joined #sbcl 2015-02-25T01:41:37Z pkhuong joined #sbcl 2015-02-25T01:41:37Z yauz_2 joined #sbcl 2015-02-25T01:41:37Z fikusz joined #sbcl 2015-02-25T01:41:37Z Bike joined #sbcl 2015-02-25T01:41:37Z p_l joined #sbcl 2015-02-25T01:41:37Z loke joined #sbcl 2015-02-25T01:41:37Z redline6561 joined #sbcl 2015-02-25T01:44:58Z csziacobus joined #sbcl 2015-02-25T01:50:48Z krzysz00 joined #sbcl 2015-02-25T01:59:29Z edgar-rft joined #sbcl 2015-02-25T01:59:29Z irsol joined #sbcl 2015-02-25T01:59:59Z edgar-rft quit (Quit: edgar-rft) 2015-02-25T02:00:12Z edgar-rft joined #sbcl 2015-02-25T02:02:06Z karswell quit (Read error: Connection reset by peer) 2015-02-25T02:02:42Z karswell joined #sbcl 2015-02-25T02:06:38Z Bicyclidine joined #sbcl 2015-02-25T02:10:42Z irsol quit (*.net *.split) 2015-02-25T02:10:58Z loke: stassats: Do you know if there is any way of fixing bug 1153309? I.e. the one that gives a failed AVER on the first call of a generic function in paralell from two threads? 2015-02-25T02:10:58Z loke: Right now my code has to put in a sleep to delay the second call, and I don't find that to be particularly appealing. 2015-02-25T02:16:25Z irsol joined #sbcl 2015-02-25T02:16:45Z irsol quit (Max SendQ exceeded) 2015-02-25T02:17:52Z Bicyclidine quit (Ping timeout: 240 seconds) 2015-02-25T02:19:10Z irsol joined #sbcl 2015-02-25T02:21:09Z LiamH joined #sbcl 2015-02-25T02:22:10Z oleo joined #sbcl 2015-02-25T02:24:27Z oleo__ quit (Ping timeout: 245 seconds) 2015-02-25T02:25:13Z scymtym joined #sbcl 2015-02-25T02:25:48Z attila_lendvai quit (Ping timeout: 256 seconds) 2015-02-25T02:39:41Z echo-are` is now known as echo-area 2015-02-25T02:50:02Z Bicyclidine joined #sbcl 2015-02-25T02:50:21Z csziacobus quit (Quit: csziacobus) 2015-02-25T03:30:16Z rpg joined #sbcl 2015-02-25T03:32:23Z rpg quit (Read error: Connection reset by peer) 2015-02-25T03:32:30Z rpg joined #sbcl 2015-02-25T03:32:58Z krzysz00 quit (Ping timeout: 255 seconds) 2015-02-25T03:37:39Z krzysz00 joined #sbcl 2015-02-25T03:39:26Z christoph_debian quit (Ping timeout: 252 seconds) 2015-02-25T03:52:46Z christoph_debian joined #sbcl 2015-02-25T04:01:15Z rpg quit (Quit: rpg) 2015-02-25T04:02:50Z LiamH quit (Quit: Leaving.) 2015-02-25T04:22:42Z krzysz00 quit (Ping timeout: 264 seconds) 2015-02-25T04:28:03Z scymtym quit (Ping timeout: 250 seconds) 2015-02-25T04:31:32Z Quadrescence joined #sbcl 2015-02-25T04:52:53Z Bicyclidine quit (Ping timeout: 246 seconds) 2015-02-25T05:19:37Z krzysz00 joined #sbcl 2015-02-25T05:19:49Z Bicyclidine joined #sbcl 2015-02-25T05:20:53Z Bicyclidine quit (Client Quit) 2015-02-25T05:26:38Z selat joined #sbcl 2015-02-25T05:42:15Z krzysz00 quit (Ping timeout: 246 seconds) 2015-02-25T05:44:10Z milosn quit (Ping timeout: 265 seconds) 2015-02-25T05:45:44Z milosn joined #sbcl 2015-02-25T05:46:22Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-02-25T05:46:52Z pranavrc joined #sbcl 2015-02-25T05:54:43Z mega1 quit (Ping timeout: 250 seconds) 2015-02-25T05:59:15Z echo-area quit (Remote host closed the connection) 2015-02-25T05:59:58Z echo-area joined #sbcl 2015-02-25T06:21:09Z nyef quit (Quit: G'night all) 2015-02-25T06:22:08Z krzysz00 joined #sbcl 2015-02-25T06:22:37Z selat quit (Ping timeout: 264 seconds) 2015-02-25T06:44:27Z Shinmera joined #sbcl