2016-06-04T00:37:54Z guicho quit (Quit: さようなら) 2016-06-04T00:38:58Z karswell` quit (Remote host closed the connection) 2016-06-04T00:39:11Z karswell` joined #sbcl 2016-06-04T00:46:52Z karswell` is now known as karswell 2016-06-04T01:19:46Z edgar-rft joined #sbcl 2016-06-04T01:57:42Z karswell` joined #sbcl 2016-06-04T01:58:41Z karswell quit (Read error: Connection reset by peer) 2016-06-04T02:19:21Z edgar-rft quit (Quit: edgar-rft) 2016-06-04T02:39:55Z eschatologist joined #sbcl 2016-06-04T03:09:37Z eschatologist quit (Quit: Textual IRC Client: www.textualapp.com) 2016-06-04T03:20:13Z DavidGuru joined #sbcl 2016-06-04T03:25:56Z eschatologist joined #sbcl 2016-06-04T03:30:51Z shka joined #sbcl 2016-06-04T03:31:45Z eschatologist quit (Ping timeout: 250 seconds) 2016-06-04T03:54:06Z eschatologist joined #sbcl 2016-06-04T03:59:39Z DavidGuru1 joined #sbcl 2016-06-04T04:00:07Z DavidGuru quit (Ping timeout: 252 seconds) 2016-06-04T04:00:07Z DavidGuru1 is now known as DavidGuru 2016-06-04T04:15:12Z shka quit (Ping timeout: 244 seconds) 2016-06-04T04:25:41Z shka joined #sbcl 2016-06-04T04:41:51Z shka quit (Ping timeout: 264 seconds) 2016-06-04T05:03:44Z DavidGuru1 joined #sbcl 2016-06-04T05:04:38Z DavidGuru quit (Remote host closed the connection) 2016-06-04T05:04:39Z DavidGuru1 is now known as DavidGuru 2016-06-04T05:23:02Z DavidGuru quit (Quit: DavidGuru) 2016-06-04T05:44:22Z leo_song quit (Ping timeout: 260 seconds) 2016-06-04T05:44:34Z leo_song joined #sbcl 2016-06-04T06:49:14Z gingerale joined #sbcl 2016-06-04T07:01:44Z angavrilov joined #sbcl 2016-06-04T07:11:56Z jackdaniel quit (Quit: leaving) 2016-06-04T07:13:34Z Bike quit (Quit: leaving) 2016-06-04T07:15:05Z jackdaniel joined #sbcl 2016-06-04T07:28:04Z jackdaniel quit (Ping timeout: 240 seconds) 2016-06-04T07:28:10Z jackdaniel joined #sbcl 2016-06-04T07:41:06Z edgar-rft joined #sbcl 2016-06-04T08:45:28Z stassats quit (Ping timeout: 264 seconds) 2016-06-04T08:46:30Z stassats joined #sbcl 2016-06-04T10:17:51Z sjl joined #sbcl 2016-06-04T10:49:21Z shka joined #sbcl 2016-06-04T12:28:43Z scymtym joined #sbcl 2016-06-04T13:59:33Z eudoxia joined #sbcl 2016-06-04T14:02:29Z shka quit (Quit: Konversation terminated!) 2016-06-04T14:21:19Z scymtym: Xof: did you have a chance to look at the proposed PCL changes to support the specializable stuff? 2016-06-04T14:36:22Z sjl quit (Ping timeout: 260 seconds) 2016-06-04T14:46:19Z eudoxia quit (Quit: Leaving) 2016-06-04T15:06:51Z Xof: not yet 2016-06-04T15:18:26Z DeadTrickster: scymtym, what changes? 2016-06-04T15:36:19Z karswell` quit (Remote host closed the connection) 2016-06-04T15:36:33Z karswell` joined #sbcl 2016-06-04T15:38:40Z scymtym: Xof: ok, i will push a rebased version 2016-06-04T15:40:31Z scymtym: DeadTrickster: the changes are https://github.com/scymtym/sbcl/tree/wip-extensible-specializers. what they could enable is https://github.com/sbcl/specializable 2016-06-04T15:55:21Z scymtym: DeadTrickster: or rather https://github.com/sbcl/specializable/tree/pattern-specializer-sat to not exclude an interesting one 2016-06-04T16:09:55Z DeadTrickster: so basically pattern matching in generics, finally 2016-06-04T16:11:17Z DeadTrickster: hm and accept looks interesting too 2016-06-04T16:14:29Z DeadTrickster: scymtym, very cool I definitely would use it 2016-06-04T16:17:05Z scymtym: DeadTrickster: i like it as well and i'm trying my best to get the groundwork into SBCL. but honestly, i'm not sure when/whether actually using it will become an option. 2016-06-04T16:18:06Z DeadTrickster: can it live as a contrib? 2016-06-04T16:19:18Z DeadTrickster: because I have loads of use cases and actually last ten years I asked myself why it's not a part of the standard. 2016-06-04T16:19:26Z scymtym: it could. the current specializable code works in an unmodified SBCL (only specific versions) by patching PCL at runtime 2016-06-04T16:19:45Z DeadTrickster: I'm sold ) 2016-06-04T16:20:39Z scymtym: well, it breaks and has to be adapted whenever PCL changes and does not work with non-recent SBCL versions 2016-06-04T16:21:00Z DeadTrickster: so can I help? 2016-06-04T16:21:35Z scymtym: sure, playing with the specializable code and reporting bugs would help 2016-06-04T16:22:18Z DeadTrickster: ok what about current 'public' interface is it stable? 2016-06-04T16:22:58Z DeadTrickster: all dispatching works by specializing on first symbol (name), right? 2016-06-04T16:23:09Z karswell` is now known as karswell 2016-06-04T16:23:11Z DeadTrickster: basically it's an extension to eql syntax 2016-06-04T16:23:28Z scymtym: slow down please 2016-06-04T16:23:33Z scymtym: public interface of what? 2016-06-04T16:23:54Z DeadTrickster: uhmm, sorry public interface for user specializers 2016-06-04T16:24:03Z DeadTrickster: not defining them but using in defmethod 2016-06-04T16:25:06Z DeadTrickster: I'm talking what you call SPECIALIZER-KIND 2016-06-04T16:26:07Z scymtym: each kind of new specializer defines it own syntax. some are similar to eql (the one with SPECIALIZER-KIND, e.g. (pattern …) and (cons …)), but not all 2016-06-04T16:26:53Z scymtym: see https://github.com/sbcl/specializable/blob/master/examples/prototype-specializer.lisp for an example 2016-06-04T16:27:44Z DeadTrickster: so If I'm going to use accept specializer or any other one, my codes shouldn't break when release happen? 2016-06-04T16:27:50Z scymtym: this works because the generic function class controls specializer parsing (which is also kind of a drawback) 2016-06-04T16:28:08Z DeadTrickster: why drawback? 2016-06-04T16:28:30Z scymtym: because the choice of generic function class limits which specializers you can use 2016-06-04T16:28:54Z scymtym: you cannot mix e.g. accept and pattern specializers in methods of a single generic function 2016-06-04T16:29:10Z scymtym: unless you make a new generic function class that does that 2016-06-04T16:30:02Z DeadTrickster: right, got it 2016-06-04T16:30:31Z DeadTrickster: why you can't just hack somethere near existing eql specializer code? 2016-06-04T16:30:37Z scymtym: regarding your code breaking on release: as i said: specializable sometimes needs adjustments when SBCL's PCL changes 2016-06-04T16:30:53Z scymtym: i don't understand that question 2016-06-04T16:32:50Z DeadTrickster: there is existing code for dealing with standard eql specializer right? if one want's to add more specializers this would probably work like this: eql is replaced by other name (cons, accept, etc). So it looks to me just like extending existing code. 2016-06-04T16:33:28Z DeadTrickster: without generic-function-class overriding 2016-06-04T16:33:45Z scymtym: well, there is much more to specializers than the syntax used in DEFMETHOD forms 2016-06-04T16:35:35Z scymtym: for example, a generic function with pattern specializers generates a completely different dispatch function that is basically a big OPTIMA:MATCH form. also, pattern specializers can bind variables and make them available in method bodies. such a concept does not exist in standard CLOS or MOP. 2016-06-04T16:35:43Z DeadTrickster: yeah I probably missing something but (SPECIALIZER-KIND &rest SPECIALIZER-SYNTAX) this really looks like generalization of (eql value) 2016-06-04T16:35:51Z DeadTrickster: aha dispatch function 2016-06-04T16:36:17Z scymtym: also sorting of applicable methods (that is one the most complicated parts of pattern specializers) 2016-06-04T16:37:11Z scymtym: which is more specific (pattern (cons 1 x)) or (pattern (cons y 2 ))? 2016-06-04T16:37:17Z Bike joined #sbcl 2016-06-04T16:37:32Z DeadTrickster: it's pure convention I thing cons 1 x 2016-06-04T16:37:43Z DeadTrickster: but as long as it's documented it doesn't matter ) 2016-06-04T16:38:21Z scymtym: sure, just another problem that does not arise in standard CLOS 2016-06-04T16:40:25Z DeadTrickster: is it possible to have one non-standard generic function class and specializers that define only method combination prolog? with left-to-right fixed priority 2016-06-04T16:42:39Z scymtym: i don't understand "method combination prolog". is this related to common lisp method combination? 2016-06-04T16:47:09Z DeadTrickster: yep 2016-06-04T16:47:44Z DeadTrickster: maybe I mixed it up with dispatch function 2016-06-04T16:48:07Z scymtym: one advantage (IMO) of our approach is that method combination is orthogonal, i.e. you should be able to freely combine generic function classes and method combinations 2016-06-04T16:49:35Z scymtym: this is in contrast to http://www.p-cos.net/documents/filtered-dispatch.pdf which uses method combination to implemented an extended kind of dispatch 2016-06-04T16:50:46Z DeadTrickster: so basically I can subclass two generic functions and thus mix specializers? 2016-06-04T16:52:53Z scymtym: unfortunately not that easily. first, you would have to make sure that the respective specializers kinds are all comparable (for applicable method sorting). second, you would need a way to generate a combined dispatch function 2016-06-04T16:53:48Z scymtym: i have some ideas for composing dispatch functions, but that is future work. i would rather complete, stabilize the current state first 2016-06-04T17:03:48Z sjl joined #sbcl 2016-06-04T17:25:01Z sjl quit (Ping timeout: 244 seconds) 2016-06-04T17:57:30Z scymtym quit (Ping timeout: 260 seconds) 2016-06-04T18:01:05Z karswell quit (Remote host closed the connection) 2016-06-04T18:01:20Z karswell joined #sbcl 2016-06-04T18:04:20Z Xof: definitely the cool thing is that it's orthogonal to method combination 2016-06-04T18:04:29Z Xof: one of the cool things 2016-06-04T18:30:12Z TruePika joined #sbcl 2016-06-04T18:35:22Z TruePika: For my strace problem, trying a test case someone posted ages ago 2016-06-04T18:35:32Z TruePika: http://permalink.gmane.org/gmane.lisp.steel-bank.general/2709 2016-06-04T18:38:13Z TruePika: yup, with a slight modification, I get corruption at i=805532 l=9555274 2016-06-04T18:38:27Z TruePika: Memory fault at (nil) (pc=0x1001094935, sp=0x7ffff3016e58) 2016-06-04T18:39:05Z TruePika: getting a debug sbcl compiled, should be almost done 2016-06-04T18:41:04Z TruePika: Running test case with /show and fshow 2016-06-04T18:41:58Z TruePika: Well I got into ldb...somehow 2016-06-04T18:42:11Z TruePika: oh wait I forgot I disabled disabling ldb 2016-06-04T18:42:56Z TruePika: ba 2016-06-04T18:43:00Z TruePika: err this isn't ldb 2016-06-04T18:45:02Z TruePika: it might be GC related 2016-06-04T18:47:02Z TruePika: hm 2016-06-04T18:47:04Z TruePika: [0x7ffff3218000/0x7ffff7fd8700] heap WP violation? fault_addr=0xffffffffffffffa1, page_index=-1 2016-06-04T18:47:08Z TruePika: that fault_addr 2016-06-04T18:49:37Z TruePika: Why does ldb need to share the name of LDB? It makes searching a lot harder... 2016-06-04T18:51:46Z TruePika: CSP = 0x61, ALLOC = 0x10065A0000 2016-06-04T18:54:58Z TruePika: Context doesn't show fault_addr in any register 2016-06-04T19:02:05Z shka joined #sbcl 2016-06-04T19:05:23Z TruePika: /setting gc_blocked_deferrables comes just before the fault 2016-06-04T19:05:34Z TruePika: with the same pair of addresses 2016-06-04T19:07:22Z TruePika: It looks like I don't have safepoints compiled in 2016-06-04T19:09:05Z TruePika: in any case, this appears to be GC related 2016-06-04T19:17:51Z TruePika: Memory fault at 0xffffffffffffffa1 (pc=0x10010be878, sp=0x7ffff3016998); I'm dumping core to debug right now 2016-06-04T19:22:40Z TruePika: I can't dump core somehow 2016-06-04T19:25:24Z TruePika: maybe my strace is bugged, not newest in any case, updating that 2016-06-04T19:29:23Z jasom: TruePika: also depending on kernel configs syscalls can happen very differently (CONFIG_LEGACY_VSYSCALLS) 2016-06-04T19:29:53Z TruePika: jasom: I didn't build this kernel, what is the easiest way to check for that? 2016-06-04T19:30:45Z jasom: either zcat /proc/config.gz or install the right package for your OS distribution that includes the .config 2016-06-04T19:31:31Z jasom: some distros also put the config along side the kernel wherever they boot from (e.g. /boot) 2016-06-04T19:32:15Z TruePika: found it in /boot 2016-06-04T19:32:51Z TruePika: only match for /VSYSCALL/ is CONFIG_GENERIC_TIME_VSYSCALL=y 2016-06-04T19:32:59Z jasom: hmm 2016-06-04T19:33:45Z jasom: oh nevermind, that didn't make it in until 3.1 2016-06-04T19:33:57Z jasom: you're on 2.6.40ish IIRC 2016-06-04T19:34:16Z TruePika: also recompiling strace appears to have made SBCL not crash when loading quicklisp 2016-06-04T19:34:23Z jasom: nice 2016-06-04T19:35:57Z TruePika: Bike: Also so you know/see, apparently my strace was borked. 2016-06-04T19:41:45Z Bike: weird 2016-06-04T20:08:45Z Cooler_ quit (Ping timeout: 246 seconds) 2016-06-04T20:15:02Z scymtym joined #sbcl 2016-06-04T20:15:05Z eschatologist quit (Remote host closed the connection) 2016-06-04T20:16:06Z eschatologist joined #sbcl 2016-06-04T20:19:45Z gingerale quit (Remote host closed the connection) 2016-06-04T20:53:20Z TruePika quit (Ping timeout: 240 seconds) 2016-06-04T21:42:04Z angavrilov quit (Remote host closed the connection) 2016-06-04T21:47:27Z shka quit (Ping timeout: 246 seconds) 2016-06-04T21:59:00Z Guest50313 quit (Ping timeout: 260 seconds) 2016-06-04T22:17:39Z pkhuong joined #sbcl 2016-06-04T22:18:03Z pkhuong is now known as Guest66081 2016-06-04T22:46:20Z Bike quit (Quit: restart) 2016-06-04T22:48:12Z stassats quit (Ping timeout: 276 seconds) 2016-06-04T22:51:59Z stassats joined #sbcl 2016-06-04T22:55:06Z guicho joined #sbcl 2016-06-04T22:55:44Z guicho quit (Client Quit) 2016-06-04T23:00:36Z Bike joined #sbcl 2016-06-04T23:09:06Z Bike quit (Quit: better term) 2016-06-04T23:09:16Z Bike joined #sbcl 2016-06-04T23:59:25Z scymtym quit (Ping timeout: 258 seconds)