Juan Jose Garcia Ripoll
4b19fb3f60
Create new classes for the optimized slot reader/writer methods that ECL creates.
2012-10-14 11:57:41 +02:00
Juan Jose Garcia Ripoll
44a9552782
Remove the phases that create accessors in fixup.lsp and in slot.lsp
2012-10-10 21:56:43 +02:00
Juan Jose Garcia Ripoll
5be366b8e0
Slot definitions are now always instances, not lists
2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
3fc09351ea
Final changes to make all accessors generic functions, including the MOP standard ones, avoiding infinite recursion.
2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
d799c7a4e7
All accessors are redefined as generic functions after bootstrapping ECL
2012-10-05 23:04:12 +02:00
Juan Jose Garcia Ripoll
822a18386f
FIND-METHOD-COMBINATION is now generic
2012-04-28 10:42:42 +02:00
Juanjo Garcia-Ripoll
a366111a71
COMPUTE-EFFECTIVE-METHOD returns a form, even if it does not have the syntax people would expect.
2012-04-27 12:16:05 +02:00
Juan Jose Garcia Ripoll
06d58ddb8e
Standard and MOP classes do not use slot names which live in CL or CL-USER
2012-04-26 21:46:48 +02:00
Juanjo Garcia-Ripoll
1752b034a4
Add Juanjo's copyright to files that did not have it.
2012-04-26 17:33:14 +02:00
Juanjo Garcia-Ripoll
5a5f0d631b
GENERIC-FUNCTION-METHOD-CLASS is a generic function
2012-04-25 16:49:03 +02:00
Juanjo Garcia-Ripoll
28098aa27f
Implemented COMPUTE-DISCRIMINATING-FUNCTION
2012-04-24 19:04:45 +02:00
Juanjo Garcia-Ripoll
0e372eca31
MAKE-METHOD-LAMBDA is a generic function. Method documentation is stored in the method itself.
2012-04-24 18:10:21 +02:00
Juanjo Garcia-Ripoll
031798b551
DEFMETHOD relies on MAKE-METHOD-LAMBDA to create the appropriate function
2012-04-24 17:29:25 +02:00
Juan Jose Garcia Ripoll
fb201406eb
Wrapping is taken care of fully in INSTALL-METHOD
2012-04-23 23:09:10 +02:00
Juan Jose Garcia Ripoll
f9b2bbe062
Method functions now only take two arguments: the argument list (frame) and the list of next methods
2012-04-23 22:57:38 +02:00
Juan Jose Garcia Ripoll
c42d6ec9e1
ECL now uses and updates the DIRECT-METHODS and DIRECT-GENERIC-FUNCTIONS in specializer objects
2012-04-23 20:33:44 +02:00
Juan Jose Garcia Ripoll
66d4d462a4
Methods, generic functions and dispatch is now implemented using specializers
2012-04-23 19:59:02 +02:00
Juan Jose Garcia Ripoll
9805fd8348
Add slots to SPECIALIZER and EQL-SPECIALIZER
2012-04-22 22:55:53 +02:00
Juan Jose Garcia Ripoll
408c53c52a
Implemented the METAOBJECT class
2012-04-22 02:03:47 +02:00
Juan Jose Garcia Ripoll
8a01f51096
FIND-METHOD is now a generic function.
2012-04-22 00:13:59 +02:00
Juan Jose Garcia Ripoll
7955ebda76
Slight style change in add-method.
2012-04-21 23:53:46 +02:00
Juan Jose Garcia Ripoll
18f003b6f6
By using DEFMETHOD instead of DEFGENERIC we save a few bytes
2012-04-21 22:47:08 +02:00
Juan Jose Garcia Ripoll
2dd79e9c78
Simplify the use of UPDATE-DEPENDENT, incorporating it into the core methods, instead of using :AFTER. This eliminates problems with non-compliant code redefining SHARED-INITIALIZE and friends.
2012-04-21 21:55:49 +02:00
Juan Jose Garcia Ripoll
ea7aaaecb0
Reimplemented dependents. REMOVE-METHOD was not a generic function and did not update dependents.
2012-04-21 13:19:13 +02:00
Juan Jose Garcia Ripoll
57bcfae761
Implemented and used in the core: VALIDATE-SUPERCLASSES
2012-04-21 12:16:40 +02:00
Juan Jose Garcia Ripoll
ec6553ce88
COMPUTE-APPLICABLE-METHODS and CLOS:COMPUTE-EFFECTIVE-METHOD are now generic functions
2012-04-21 09:12:45 +02:00
Juan Jose Garcia Ripoll
efda16f3d2
Implemented CLOS:COMPUTE-APPLICABLE-METHODS-USING-CLASSES
2012-04-20 23:47:33 +02:00
Juan Jose Garcia Ripoll
ca0222fd19
Implemented EXT:TRULY-THE and made THE expand to either EXT:TRULY-THE or EXT:CHECKED-VALUE depending on the optimization settings.
2011-12-31 19:37:13 +01:00
Juan Jose Garcia Ripoll
4496a85039
More fixes to remove warnings about unused variables
2011-12-23 22:36:32 +01:00
Juan Jose Garcia Ripoll
7a2d30770b
Add IGNORE declarations and remove some unused variables.
2011-12-23 15:38:37 +01:00
Juan Jose Garcia Ripoll
9d557937b1
Added new dispatch functions for slot accessors.
2011-12-16 22:12:56 +01:00
Juan Jose Garcia Ripoll
0019235c25
Implemented caching of valid keywords for SHARED-INITIALIZE
2010-06-20 20:57:09 +02:00
Juan Jose Garcia Ripoll
f77ae37309
Reimplemented CLOS dependents so that they can be used for bootstrapping
2010-06-20 18:38:55 +02:00
Juan Jose Garcia Ripoll
82d20eb08a
Added dependent objects for classes and generic functions
2010-06-20 16:57:47 +02:00
Juan Jose Garcia Ripoll
ce91c03f9d
* Created a new class, FUNCALLABLE-STANDARD-CLASS.
...
* Create a new class STD-CLASS that sits between CLASS and the
two children STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS.
* Generic functions are now of type FUNCALLABLE-STANDARD-OBJECT.
Based on a patch by A. Gavrilov.
2009-11-08 00:58:36 +01:00
Juan Jose Garcia Ripoll
41c4586f65
NO-APPLICABLE-METHOD now shows the types of the arguments when signalling an error.
2009-11-01 02:37:38 +01:00
Samium Gromoff
2e97251a96
Rename: s/SLOT-DEFINITION-TO-LIST/SLOT-DEFINITION-TO-PLIST/
2009-04-09 19:22:20 +02:00
jgarcia
25201a0bef
Implement standard-accessor-method
2008-04-28 15:23:12 +00:00
jgarcia
a59f90871a
Emacs modelines for better editing
2008-02-02 19:14:05 +00:00
jgarcia
4356e84222
Use thread-local hashes instead of per-function hashes to cache the results of invoking generic functions
2008-01-06 15:44:04 +00:00
jgarcia
5e31168db1
Improved identification of wrong declarations. Simplified code for that.
2006-04-24 08:44:44 +00:00
jgarcia
61d014339f
Fixed the transformation of slot definitions from the list form to the final standard-slot-definition instances.
2006-04-18 19:27:47 +00:00
jjgarcia
d41d4544e8
Slot accessors go now through slot definition objects.
2006-03-20 09:03:43 +00:00
jjgarcia
e6344bbf0d
New accessors using standard slot definition objects
2006-03-07 09:18:35 +00:00
jjgarcia
9b720a0c73
Several slot accessors are now specialized on standard-effective-slot-definition
2006-03-06 09:53:01 +00:00
jjgarcia
f0f5cd6e53
The slot DOCUMENTATION from generic functions is now initialized to NIL.
2005-10-24 08:36:38 +00:00
jjgarcia
39d35ffa38
Implemented SLOT-DEFINITION objects together with the associated protocols (Field position still missing).
2005-02-25 16:16:57 +00:00
jjgarcia
a2e2990440
Introducing sequence iterators. Fixes in the reader regarding *read-suppress* and reading of vectors.
2005-01-24 08:57:46 +00:00
jjgarcia
dd39b19a32
Fixes in various reader macros (#*, #(,#C)). Stream mode smm_closed disappears and closing of files preserves the original type of stream. Implemented METHOD-COMBINATION-ERROR, INVALID-METHOD-ERROR, option :ARGUMENT-PRECEDENCE-ORDER. In loop, iteration statements can now only appear before body statements, otherwise an error is signaled. A DEFTYPE form optional arguments have default value *
2005-01-10 09:41:06 +00:00
jjgarcia
ea7b544af3
Xmas fixes. See CHANGELOG for list of changes.
2005-01-07 11:51:23 +00:00