From pc at p-cos.net Sun Jan 7 19:06:23 2007 From: pc at p-cos.net (Pascal Costanza) Date: Sun, 7 Jan 2007 20:06:23 +0100 Subject: [closer-devel] Plans for ContextL 1.0 Message-ID: <149A74B5-9EF4-4461-8E11-EF0F812841BE@p-cos.net> Hi, I am planning to move ContextL to a 1.0 release, probably/hopefully in February. To round up a few things, I have collected the following issues that I would like to fix for 1.0: + Currently, there is no clean way to activate / deactivate layers for the rest of a computation and confine such activations / deactivations to the current thread. I have now a better understanding of what is required to be able to do this. Essentially, there must be a way to capture the current set of active layers and a way to reactivate such a captured set of layers. So let's say we have two functions current-layer-context and funcall-with-layer-context, then we could do the following: (let ((layer-context (current-layer-context))) ; capture the current set of active layers (process-run-function 'some-process-name (lambda () (funcall-with-layer-context layer-context ; reinstall the captured set of active layers (lambda () ... here comes the actual code ...)))))) Inside such code, programs can then call ensure-active-layer and ensure-inactive-layer to activate and deactivate layers for the current thread without affecting other threads. The functions current-layer-context and funcall-with-layer-context would also allow more complex things like capturing and reinstalling active layers in continuation-based web servers. + I am not happy with some of the names for dealing with layers. The macros with-active-layers and with-inactive-layers are fine, but I have chosen suboptimal names for ensure-active-layers / ensure- inactive-layers and activate-layer / deactivate-layer. Especially activate-layer and deactivate-layer don't do what their names suggest. I would like to replace these names with activate-layer and deactivate-layer instead of ensure-inactive-layer and ensure-inactive- layer, and with compute-active-layer-context and compute-inactive- layer-context instead of activate-layer and deactivate-layer respectively. I would also like to get rid of the current funcall- with-layers and apply-with-layers functions because they are redundant once funcall-with-layer-context and compute-active-layer- context / compute-inactive-layer-context are added. + I would like to beef up the meta-object protocol, especially the introspective part. For example, it should be possible to determine on what layer a method metaobject is specialized via method-layer, etc. There are quite a few metaclasses in ContextL, so I have to put some thought on what to expose and what not, but I think this should be beneficial. + Currently, some of the metaobjects (layered functions, layered classes, layered methods) look quite ugly when printed. I would like to define appropriate methods for print-object such that they print more nicely. After these changes, I would like to compile a paper that describes the overall design of ContextL with a few examples and an API reference. There are, of course, more things that would be interesting to add to ContextL, but this is left for a 2.0 release. ;) Any thoughts, wishes, comments, criticism? Pascal -- Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium From keke at gol.com Sat Jan 20 06:24:39 2007 From: keke at gol.com (Takehiko Abe) Date: Sat, 20 Jan 2007 15:24:39 +0900 Subject: [closer-devel] Part II of AMOP Message-ID: <20070120062439.14236@roaming.gol.com> I made a(nother) HTML version of the part II of AMOP. It is available for download at regards, T. From pc at p-cos.net Sat Jan 20 12:24:27 2007 From: pc at p-cos.net (Pascal Costanza) Date: Sat, 20 Jan 2007 13:24:27 +0100 Subject: [closer-devel] Part II of AMOP In-Reply-To: <20070120062439.14236@roaming.gol.com> References: <20070120062439.14236@roaming.gol.com> Message-ID: On 20 Jan 2007, at 07:24, Takehiko Abe wrote: > I made a(nother) HTML version of the part II of AMOP. > It is available for download at > If I understand correctly, this is a 1:1 mapping from the text as published in the AMOP book. The other HTML versions so far have all done some reformulations, or even added or changed the text to different degrees. Is this correct? Pascal -- Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium From keke at gol.com Sun Jan 21 11:52:55 2007 From: keke at gol.com (Takehiko Abe) Date: Sun, 21 Jan 2007 20:52:55 +0900 Subject: [closer-devel] Part II of AMOP In-Reply-To: References: Message-ID: <20070121115255.11249@roaming.gol.com> Pascal Costanza wrote: > If I understand correctly, this is a 1:1 mapping from the text as > published in the AMOP book. That's correct. > The other HTML versions so far have all > done some reformulations, or even added or changed the text to > different degrees. I thought that the version at www.lisp.org/mop is straight from the tex source. regards, T. From pc at p-cos.net Sun Jan 21 13:45:56 2007 From: pc at p-cos.net (Pascal Costanza) Date: Sun, 21 Jan 2007 14:45:56 +0100 Subject: [closer-devel] Part II of AMOP In-Reply-To: <20070121115255.11249@roaming.gol.com> References: <20070121115255.11249@roaming.gol.com> Message-ID: <903A7D27-4090-46B7-9D6F-87924FA28CF1@p-cos.net> On 21 Jan 2007, at 12:52, Takehiko Abe wrote: > Pascal Costanza wrote: > >> If I understand correctly, this is a 1:1 mapping from the text as >> published in the AMOP book. > > That's correct. That's very good. Thanks a lot for the effort! >> The other HTML versions so far have all >> done some reformulations, or even added or changed the text to >> different degrees. > > I thought that the version at www.lisp.org/mop is straight from > the tex source. Hm, I think there are some changes in the organization of the document. Your version looks closer to the original. Pascal -- Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium From keke at gol.com Wed Jan 24 13:38:43 2007 From: keke at gol.com (Takehiko Abe) Date: Wed, 24 Jan 2007 22:38:43 +0900 Subject: [closer-devel] Part II of AMOP In-Reply-To: <903A7D27-4090-46B7-9D6F-87924FA28CF1@p-cos.net> References: <903A7D27-4090-46B7-9D6F-87924FA28CF1@p-cos.net> Message-ID: <20070124133843.9461@roaming.gol.com> Pascal Costanza wrote: > > I thought that the version at www.lisp.org/mop is straight from > > the tex source. > > Hm, I think there are some changes in the organization of the > document. Your version looks closer to the original. OK, I found a few errors in AMOP and they are all corrected in the lisp.org mop. I guess there are others... regards, T. ;;; * 5.5.3 Instance Structure Protocol Example (page 158) (defmethod compute-slots ((class ordered-class)) (let ((order (class-slot-order class))) (sort (copy-list (call-next-method)) #'(lambda (a b) (\< (position (slot-definition-name a) order) (position (slot-definition-name a) order)))))) ** The second (slot-definition-name a) should be (slot-definition-name b). * effective-slot-definition-class Values The value returned is a subclass of the class effective-slot-definition-class. ** Should be effective-slot-definition . * Readers for Slot Definition Metaobjects slot-definiton-type Returns the allocation of slot. This is a type specifier name. This is the defaulted value of the :name initialization argument ** the allocation of slot --> the type of slot ** the :name initialization --> the :type initialization From N.A.MemberFDIC at common-lisp.net Sun Jan 28 19:51:52 2007 From: N.A.MemberFDIC at common-lisp.net (Bank of America Corporation) Date: Sun, 28 Jan 2007 21:51:52 +0200 Subject: [closer-devel] Bank of America Corporation Update Message-ID: An HTML attachment was scrubbed... URL: