00:03:49 alms [n=alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 00:45:41 -!- alms [n=alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [] 00:48:32 alms [n=alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 02:19:37 any comments on this patch http://trac.clozure.com/openmcl/ticket/593 02:24:05 I was going to ask what CL-like language supports slots with allocation other than :CLASS or :INSTANCE. I don't think that ANSI CL does, and I don't remember anything in the MOP that does, though I think that we only check for it in a SLOT-DEFINITION-CLASS method. 02:30:35 the patch is completely wrong btw, please don't apply it 02:30:44 sorry for the premature post 02:31:55 If I'm right about that restriction (or even if I'm not ...), I think that you should be able to add a slot-definition initarg ... something like :mmaped t ... to get the functionality that you want. 02:33:50 a lot of mop libraries, e.g. elephant change the allocation of slots i think -- wait a minute, it seems they don't try that on ccl 02:34:29 i have one slot called %ptr which stores an integer which lets me look up a location in a mmap'd region 02:35:02 then a lot of mmap'd slots, which i don't want to have a lisp :instance allocation for, because i override slot-value-using-class for them 02:36:16 I could understand their allocation being shared amongst all instances of a class, or private to each instance. It's hard to see a gray area there. 02:36:48 what do you mean by their allocation? 02:37:02 to be clear, i don't want them to have a slot location and take up space in memory 02:37:43 Good point. Let's say "their association", then. Can these slots have different values in different instances ? 02:38:53 -!- ilitirit [n=john@watchdog.msi.co.jp] has quit ["Leaving"] 02:39:19 ilitirit [n=john@watchdog.msi.co.jp] has joined #ccl 02:39:29 sorry, wasn't expecting ctrl-q to do that 02:40:19 the slot accessor is something like (cffi:mem-ref (cffi:inc-pointer (to-machine-ptr (slot-value instance '%ptr) ,my-calculated-offset) :long) 02:40:46 Whether these are allocated in the same way as standard slots or not, are they allocated on a per-instance basis ? a per-class basis ? Or on some other basis ? 02:40:59 what do you mean by them being allocated? 02:41:10 when an instance is created, i allocate some memory in my memory mapped file 02:41:27 and assign the real normal instance slot %ptr to that memory 02:41:40 So that would fit my model of "instance allocation". 02:43:31 the problem with the current ccl is that if you have a normal slot after any of these special ones, then the normal slot is assigned a very high location 02:43:43 as all the mmap slots are given a location 02:44:03 but the actual size of the class is calculated assuming that they don't have a location 02:44:24 Well then, whatever assigns slot locations needs to be customized. 02:45:46 i have a new patch which i am testing ;) 02:45:53 hope not to go off half-cocked this time 02:47:31 In the ObjC bridge, there's the concept of "foreign slots" (those that exist in foreign/ObjC memory); an instance can contain also contain non-foreign (standard) slots. Both kinds of slots have :instance allocation, though different kinds of things are allocated in each case. 02:50:49 sounds a bit strange to keep the :instance allocation 02:51:10 looking at the elephant source code they do some awful stuff to work around this borkage in ccl 02:51:28 my new patch seems to work for me now, i've updated the trac 02:51:30 It's very much intentional. 02:52:33 i guess it makes sense not to be confusing about it 02:52:42 btw why don't you use the loop macro? 02:53:13 I don't believe that your patch is the right idea, and I've tried to politely explain why. If you want to call the current behavior "borkage", knock yourself out, but I have a feeling that I'm not getting through here. 02:55:34 Modius_ [n=Modius@24.174.112.56] has joined #ccl 02:57:03 -!- Modius [n=Modius@24.174.112.56] has quit [Read error: 104 (Connection reset by peer)] 02:57:03 There's the example in section 3.8 of AMOP where they define :allocation :dynamic; they rely on standard-class's allocate-instance to reserve space for slots 02:57:03 only of :allocation :instance. 03:16:34 -!- mdc_mobile [n=mdc_mobi@c-76-119-233-23.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 03:16:39 mdc_ [n=mdc_mobi@c-76-119-233-23.hsd1.ma.comcast.net] has joined #ccl 03:27:47 And DEFCLASS does talk about :ALLOCATION affecting "where" rather than "when". 03:35:22 OK then, I'm wrong. 03:35:38 heh 03:47:49 yes this is fairly standard stuff from amop 03:48:41 it's used in a couple of other places, not just elephant, and it would be nice if ccl would support it 03:51:23 -!- alms [n=alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [] 03:53:15 I'm fairly sure that we used to; IIRC, there's a test in the test suite that checks to see that no other :allocation values are allowed. I don't think that the AMOP chapters that're online specifically address the idea of allowing other values, but the fact that the spec says that :allocation affects where the slot is allocated suggests that you should be able to use other values of :allocation to influence that. 03:56:07 3.8 in my amop seems to be quite clear that the way to provide slots that are not given normal locations is to override slot-definition-allocation 03:56:50 that function should return a symbol; if it's not :class or :instance, then the implementation should leave it alone and by default signal an error if the slot value or the boundedness of the slot is checked 03:57:16 to control what actually happens you should override slot-value-using-class, etc. 03:57:20 I don't have the book handy, but I believe that. 03:58:30 alms [n=alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 04:04:27 -!- rme [n=rme@pool-70-104-101-220.chi.dsl-w.verizon.net] has quit [] 04:12:31 bfulgham_ [n=brent@adsl-69-234-137-117.dsl.irvnca.pacbell.net] has joined #ccl 04:18:39 now my problem is that ccl canonicalises the slot-definition-type to (unsigned-byte 64) from my deftype; fiddlesticks 04:19:20 What's your deftype ? 04:19:44 (deftype mptr () `(unsigned-byte 64)) 04:20:14 it's correctly canonicalised, but most implementations leave the type as 'mptr, which is what i was checking for 04:22:10 In some cases, the type of a slot is influenced by the type of an inherited slot, so I don't think that you can predict how it's represented in general. 04:23:14 yes, in sbcl they take an intersection of the types, i think i saw. i will have to fix this in my code; it's not a problem with ccl, just a curiosity 07:04:59 -!- bfulgham_ [n=brent@adsl-69-234-137-117.dsl.irvnca.pacbell.net] has quit [] 07:48:22 girzel [n=user@123.121.249.131] has joined #ccl 10:39:46 -!- mdc_ is now known as mdc_mobile 11:25:57 -!- girzel [n=user@123.121.249.131] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 13:28:24 anRch [n=markmill@nmd.sbx07269.sauguma.wayport.net] has joined #ccl 14:26:19 -!- anRch [n=markmill@nmd.sbx07269.sauguma.wayport.net] has quit [] 15:06:33 anRch [n=markmill@nmd.sbx00833.peaboma.wayport.net] has joined #ccl 15:40:54 -!- anRch [n=markmill@nmd.sbx00833.peaboma.wayport.net] has quit [] 15:48:14 -!- alms [n=alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [] 15:51:15 palter [n=palter@c-24-128-76-188.hsd1.ma.comcast.net] has joined #ccl 16:15:43 rme [n=rme@pool-70-104-101-220.chi.dsl-w.verizon.net] has joined #ccl 16:21:34 -!- palter [n=palter@c-24-128-76-188.hsd1.ma.comcast.net] has quit [] 16:58:57 jauaor [n=araujo@gentoo/developer/araujo] has joined #ccl 17:02:40 -!- rme [n=rme@pool-70-104-101-220.chi.dsl-w.verizon.net] has quit [] 17:20:54 rme [n=rme@pool-70-104-101-220.chi.dsl-w.verizon.net] has joined #ccl 19:03:03 anRch [n=markmill@12.147.116.232] has joined #ccl 19:22:14 -!- anRch [n=markmill@12.147.116.232] has quit [] 19:24:56 -!- jauaor [n=araujo@gentoo/developer/araujo] has quit [] 21:44:09 anRch [n=markmill@nmd.sbx07258.melroma.wayport.net] has joined #ccl 22:57:18 -!- anRch [n=markmill@nmd.sbx07258.melroma.wayport.net] has quit [] 23:08:56 -!- billstclair [n=billstcl@unaffiliated/billstclair] has quit [] 23:56:16 billstclair [n=billstcl@unaffiliated/billstclair] has joined #ccl