- May 17, 2010
-
-
Pascal Costanza authored
The documentation for a layered funcion is now stored with the caller function, not the definer function. Ignore-this: 7003c025de6bf3b135524db4f119161b darcs-hash:de43a9aad9530173b25b4ab2867c0e871bead677
-
- Feb 02, 2010
-
-
Pascal Costanza authored
Ignore-this: 8562c17c6a8cc5e34d542426d3f31b17 darcs-hash:0d1655a5d920bd2f3fb3f861aba369220830180f
-
- Feb 01, 2010
-
-
Pascal Costanza authored
Ignore-this: ee319c7ffa88d95ea142f4d35c2f1828 darcs-hash:5556c3ff4fd544bccd92ff1ac8a4d0be5ac144cc
-
- Dec 14, 2009
-
-
Pascal Costanza authored
Ignore-this: b56928299a27fe08912c69b1c9486e8a darcs-hash:ab66a7cafabc36cb9c59582b9c26d37a42acdf68
-
- Nov 14, 2009
-
-
Pascal Costanza authored
Fixed and simplified conditionalization for Clozure Common Lisp (to fix clashes with MCL, and to remove mentions of OpenMCL). Ignore-this: 426f149224ad727d57db847ae7bcc50e darcs-hash:319e6083ba6e67524227c340717dca85671e52ea
-
- Feb 07, 2009
-
-
Pascal Costanza authored
darcs-hash:bdf618e82fa8a8aacf32c041a1a6be5597642a69
-
- Dec 13, 2008
-
-
Pascal Costanza authored
darcs-hash:34599eed7bd4ad3ff555fc93acf70d2730a58c28
-
- Apr 05, 2008
-
-
Pascal Costanza authored
darcs-hash:e519579766c4bddbb88ba327d872f28e9fa45dae
-
- Dec 12, 2007
-
-
Attila Lendvai authored
darcs-hash:f9ea40061392c46746535952872d45e3c0e0b9b6
-
- Dec 01, 2007
-
-
Pascal Costanza authored
Simplified mapping of layer-related names to internal names, which should also make things easier to read when debugging ContextL programs. darcs-hash:1ef605b1748d8e95be7d9e33a12b10534ba82ed4
-
- Nov 27, 2007
-
-
Pascal Costanza authored
Removed the fix for (sometimes) incorrect method metaobject classes. This was caused by an underlying bug in Closer to MOP which is now fixed over there. darcs-hash:ecae873aa193ef19ec5a4c439bc6fe29a1ad5002
-
- Nov 26, 2007
-
-
Pascal Costanza authored
Added a workaround for LispWorks, where :default-initargs for generic function metaclasses apparently don't always work. darcs-hash:7de5a7c534e25d50862744d8a30353227851a7c1
-
Pascal Costanza authored
darcs-hash:8edd57f0bc55028220ea4fff3452936b444a88e1
-
- Sep 10, 2007
-
-
Pascal Costanza authored
darcs-hash:88ef5b1bafa84e6771285eb28de557f3a3948999
-
- Apr 21, 2007
-
-
Pascal Costanza authored
This version of ContextL (0.4) incorporates several minor and major changes as a preparation towards a 1.0 release. Here is a list of the changes: --- Changes in the visible API --- + The functions activate-layer and activate-layer-using-class have been renamed to adjoin-layer and adjoin-layer-using-class, and deactivate-layer and deactivate-layer-using-class have been renamed to remove-layer and remove-layer-using-class. The new names reflect better what these functions actually do. + Removed the functions funcall-with-layers and apply-with-layers. Use the functions funcall-with-layer-context and apply-with-layer-context instead. + The deflayer macro doesn't take a :layer-class option anymore, but instead a :metaclass option. (I have tried to abstract from the internal representation as CLOS classes, but that turns out to be useless for the time being.) --- Additions to the visible API --- + Added the functions funcall-with-layer-context and apply-with-layer-context. + Added the function current-layer-context. This captures the set of currently active layers, which can later be reinstalled with funcall-with-layer-context and apply-with-layer-context. + Added the metaclasses layered-function and layered-method. However, they should better not be used directly. For programmatically creating layered functions and methods, better use the functions ensure-layered-function and ensure-layered-method. + Added the readers layered-function-definer, layered-function-argument-precedence-order, layered-function-lambda-list. + Added the readers layered-method-lambda-list, layered-method-specializers, layered-method-layer. + Added the readers partial-class-defining-classes, partial-class-defining-metaclass and the class partial-object, which is the default superclass for partial classes. + Added the readers slot-definition-layered-readers and slot-definition-layered-writers. + You can now specify an :in-layer option in slot specifiers. This means that a slot within a define-layered-class form can be declared to be in a different layer than the respective class itself. This allows, for example, to group slots of different layers in the same define-layered-class form. + Layers and layered functions can now also have uninterned symbols as names. This enables a form of anonymous layers and anonymous layered functions when gensym is used to create names for them. + Added the function ensure-layer for programmatically creating layers. --- Internal changes, which are not necessarily visible --- + If someone tries to define default initargs for singleton classes or layers, ContextL emits a warning. The error handling is improved for the case when the :allocation for a singleton or layer-specific slot is set to something else than :class. + Some of the :in-layer keyword parameters to internal functions have previously taken lists of layers for technical reasons. This is not the case anymore. + Changed the handling of the :defining-metaclass option for partial classes. + Layered direct slot definition metaobjects don't take :layered-reader, :layered-writer and :layered-accessor initargs anymore, but rather :layered-readers and :layered-writers, which is closer to how the CLOS MOP works as well. + Added methods for print-object for the major classes and metaclasses, such that, for example, debug output now prints more nicely. darcs-hash:592a90c3f26522c79fcebd6c89449ae62c44dd41
-
- Nov 09, 2006
-
-
Pascal Costanza authored
Removed the inline declaration for call-next-layered-method in LispWorks because this confuses LispWorks. darcs-hash:e48037a68a143e737fecd1c9cdc83bf6125d1926
-
- Oct 28, 2006
-
-
Pascal Costanza authored
darcs-hash:e56e21b81b779b5b3c56ff5b05d7f25489bd20fe
-
- Sep 30, 2006
-
-
Pascal Costanza authored
darcs-hash:63da29e5b6bba5b06439ce806255dbddda68d642
-
- Sep 11, 2006
-
-
Attila Lendvai authored
darcs-hash:e2ecd2f6b98fd99e0401aa5c22a2547c174f1cb5
-
- Mar 10, 2006
-
-
Pascal Costanza authored
Added activate-layer-using-class and deactivate-layer-using-class for metacircular layer activation/deactivation. darcs-hash:a8f2ff872a966c3ab926dff7e6c22c04ac495f96
-
Pascal Costanza authored
darcs-hash:9d38c93fb54f993efee4f7b14d9041206f9873b6
-
- Mar 07, 2006
-
-
Pascal Costanza authored
Added a function call-next-layered-method as a more convenient way to perform a call-next-method with changed arguments. darcs-hash:38caf6b80e7d60c68d97b352aa3b247f202b7d15
-
- Mar 05, 2006
-
-
Pascal Costanza authored
darcs-hash:a0536379f270f1b5ada600af01624f201fb4e67c
-
Pascal Costanza authored
Removed function-name-p in cx-util and changed the function name test in cx-layered-function accordingly. darcs-hash:2952e759930e29207dbdcb2db553acdd2eccb1ed
-
- Mar 03, 2006
-
-
Pascal Costanza authored
Layers and layer classes were somewhat mixed up until recently. (See also comments about singleton classes.) They are now more cleanly separated. Note that previous uses of find-layer have to be replaced by calls to find-layer-class. The function find-layer has now a slightly different meaning - it returns the prototye instance for a layer, not its class anymore. darcs-hash:f862d26e676edd3e41c48c4ac4179576fcbb449a
-
- Mar 02, 2006
-
-
Pascal Costanza authored
darcs-hash:4ae6bf6d5080b8cb955c11be2c565d9d527378ef
-
- Feb 24, 2006
-
-
Pascal Costanza authored
darcs-hash:ed72e1d97288da9ab697479af4beee97a1ca2b2a
-
- Jan 27, 2006
-
-
Pascal Costanza authored
darcs-hash:5a23dbc8fff86551cf265dd5ac656c17f205fa0d
-
Pascal Costanza authored
Since the implementation of ensure-method in CMUCL's and SBCL's Closer to MOP implementation has changed, ContextL's ensure-layered-method cannot accept the :method-class option anymore. This restriction can hopefully be removed again in the future. darcs-hash:fdbed68781214a79ef96b20287c8b9782b428e45
-
- Dec 20, 2005
-
-
Pascal Costanza authored
Before this change, layers were simply classes with the same name as given in the deflayer form. This potentially leads to name conflicts between classes and layers. Since Common Lisp favors multiple namespaces, I have changed this, so now layers reside in their own namespace. (They are still internally implemented as classes.) darcs-hash:8d44351700472fed4f93f563cf8ebc48107a8d2c
-
- Nov 30, 2005
-
-
Pascal Costanza authored
The :method option in define-layered-function is now parsed correctly, similar to how define-layered-method is parsed and processed. Furthermore, one can now give a name to the otherwise gensymmed layer parameter for a layered method. This is useful when one wants to call call-next-method with changed parameters. In that case, the layer parameter must be passed explicitly. (That's not optimal, but the best workaround I can think of.) Example: (define-layered-method some-function :in-layer (layer some-layer) (&rest some-parameters) (apply #'call-next-method layer ... changed parameters ... some-parameters)) darcs-hash:fbf06d1eafa51057111a18e891026b4fba2160c3
-
- Sep 14, 2005
-
-
Pascal Costanza authored
darcs-hash:4cc8d597a6f4648ef2474770569de7d7a1814d40
-
- Sep 10, 2005
-
-
Pascal Costanza authored
Until now, methods for layered functions had to be defined like this: (defmethod -function-name- ((layer some-layer) args ...) ...) People found this confusing and inconsistent with the other defining macros, i.e. define-layered-class and define-layered-function. Furthermore, they didn't like the naming convention that layered functions are named like function-name, and their methods are named like -function-name- (i.e. with preceding and succeeding dashes). So this has been replaced, and now the methods for layered functions are defined like that: (define-layered-method :in-layer some-layer (args ...) ...) Note that the :in-layer declaration has to come before the qualifiers, if any. Thanks to Bjoern Lindberg and Thomas F. Burdick for the concrete suggestions. Among other things, the new approach also has the advantage that the implementation of layered functions doesn't shine through. darcs-hash:9b6cd3a532c1358572da6342ebd4f8391aeb4768
-
- Aug 22, 2005
-
-
Pascal Costanza authored
darcs-hash:ff9f06424ff8aa76528f8c3c9f67c9b9f5db3b37
-