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
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
839d86628e
Remove unused variable.
2011-12-26 23:59:10 +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
d88da2f8f3
Precompute the list of keywords in a method
2010-06-20 19:15:14 +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
6a91d3b45a
Refactored code so that it is shared by cmp and new-cmp:
...
* Use the new proclamations/sysfun.lsp files from the new compiler.
* We split src/cmp/cmpdefs.lsp into cmpdefs, cmppackage, cmptypes and cmpglobals
* Split cmpform.lsp out of cmpmac.lsp
* Merged in {cmp,new-cmp}/cmpc-wt.lsp some of the cmpmac wt routines
* Use functions instead of macros for the WT-* operations
* Split out from *cmp/cmpenv.lsp a file cmppolicy.lsp
* A single file, cmpenv-api.lsp for the manipulation of environments.
* The type comparison functions go into cmptype-arith.lsp and are cached.
* The code that propagates types in function calls goes into cmptype-prop.lsp.
* The remainings of cmpenv go into cmpenv-{declare,proclaim,declaim}.
Associated fixes:
* Fixed typo and wrong proclamation for SI:GET-SYSPROP.
* Fixed typo in SIMPLIFY-ARITHMETIC.
* Explicitely set the debug level when building ECL
* All declarations are stored in the compiler environment.
* Each function and form stores the compilation environment.
* Declaration POLICY-DEBUG-IHS-FRAME is acts only on the function environment.
* Make the definition if ihs_env only happen when it is used.
* Eliminated *notinline*, *inline-functions* and *function-declarations*
* Slightly more efficient creation of accessors in kernel.lsp
* Remove the proxy C2DECL-BODY
* Fix the order of declarations in SI:PROCESS-DECLARATIONS
* Reimplemented C1BODY using SI:PROCESS-DECLARATIONS
* DECLAIM's proclamation do not propagate beyond the compiled file.
2010-05-05 17:36:19 +02:00
Juan Jose Garcia Ripoll
d4fcc7f9c7
The value of GENERIC-FUNCTION-A-P-O-FUNCTION was not used when comparing methods.
2010-03-19 19:16:50 +01:00
Juan Jose Garcia Ripoll
a4027bd364
The generic-function-spec-list can not be modified by the presence of the argument-precedence-order
2010-02-16 22:02:54 +01:00
Juan Jose Garcia Ripoll
2f0d83727a
The slot accessors must check that the structures are up-to-date.
2009-11-29 22:02:52 +01:00
jgarcia
f3b1febf4e
Merged in changes from sealed_slot branch
2008-05-09 09:48:29 +00: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
12799c7305
Move from short/long-float to single/double-float (by L. Brinkhoff)
2006-09-01 15:15:57 +00:00
jgarcia
49fb08f443
Allow user defined dispatch functions in funcallable objects (Inspired from B. Spilsbury)
2006-05-20 22:12:36 +00:00
jgarcia
186f0fd180
The class option :optimize-slot-access now defaults to the value of clos:*optimize-slot-access* which is typically T
2006-03-22 10:03:55 +00:00
jjgarcia
fe31238eba
Removed one unused slot from standard-method, and replaced the other with a plist value.
2006-03-20 09:04:39 +00:00
jjgarcia
8bbebf02e8
Allow the user to impose that all slot accesses go through SLOT-VALUE, etc.
2006-03-20 09:04:10 +00:00
jjgarcia
d41d4544e8
Slot accessors go now through slot definition objects.
2006-03-20 09:03:43 +00:00
jjgarcia
31c1b568c5
Unattached methods have slot generic-function set to nil
2006-03-10 12:59:40 +00:00
jjgarcia
3e59b0e217
Export symbols from the AMOP.
2006-03-06 09:32:09 +00:00
jjgarcia
562b7b5cf4
Do not compile the DEFINE-CONDITION statements, but rather keep them as lists for later evaluation.
2006-01-16 09:59:31 +00:00
jjgarcia
c882e22bdc
Speed improvements in the subtypep implementation, plus additional type declarations to enforce inlining of CDR/CAR
2005-07-25 09:08:06 +00:00
jjgarcia
784b761678
The documentation slot in generic functions should default to NIL
2005-05-20 08:07:39 +00:00
jjgarcia
55d0dcd075
Fixed the optimizer for slot access. All classes have DOCUMENTATION slot. CLASS-PROTOTYPE is now a reader, not an accessor.
2005-04-11 10:08:33 +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
jjgarcia
4c3b2d3ba1
Check that the new method provides a lambda list of the right lenght.
2004-12-06 10:05:32 +00:00
jjgarcia
dc9b2ec4c6
CLASS-NAME must be a generic function.
2004-01-16 11:23:24 +00:00
jjgarcia
90a0382ae8
+ Fixes in the routines that deal with pathnames: it is now possible to
...
use *DEFAULT-PATHNAME-DEFAULTS* as current working directory, because it
is set to the initial directory and because it can be updated with SI::CHDIR.
+ Pathname versions are now properly handled and printed. At least for logical
pathnames, because physical namestrings cannot have version numbers.
+ An error is signaled when one tries to print _readably_ a pathname that does
not have a namestring such that parsing this namestring produces the same
pathname. This happens, for instance, with pathnames that do not have hosts,
or that have version numbers and are not logical.
+ Fixes in the CLOS subsystem: ADD-METHOD and REMOVE-METHOD now update the
GENERIC-FUNCTION slot of method objects, and output the right values.
It is now possible to use two nested SYMBOL-MACROLET that define the same
symbols.
2004-01-08 11:03:05 +00:00
jjgarcia
99e1acec1c
CLASS-OF is now in the C core, and the parameter specializers of a method are always either class objects, EQL specializers or NIL.
2003-12-19 10:10:13 +00:00
jjgarcia
0290efd01c
Implemented the class redefinition protocol, and forward referenced classes.
2003-12-15 08:54:10 +00:00
jjgarcia
6d1ec50d38
Fixed GCD. Implemented several stream functions. Fixed LCM. Fixed the inline expansions for ZEROP, PLUSP, MINUSP, ODDP and EVENP. Fixed the meaning and allowed values of REHASH-THRESHOLD. SXHASH now produces hash keys which are equal for EQUAL bitvectors. Implemented ARITHMETIC-ERROR-OPERANDS. Fixed a bug in hash table which duplicated the number of entries whenever the hash grew.
2003-12-12 08:26:29 +00:00
jjgarcia
630bfdf4f4
Clean up the package CL from non-standard symbols and move them into the EXT package, which is a nickname for SYSTEM.
2003-12-11 17:16:48 +00:00
jjgarcia
11dd7ed7a2
Implement a more 'standard' interface for creating processes.
2003-11-20 08:38:16 +00:00
jjgarcia
01c6e8abff
Use more lispy names for the thread objects, and add locks.
2003-11-19 15:07:18 +00:00
jjgarcia
e5072a82d9
Use user-supplied DPP to build the C files. machines.h is no longer required.
2003-07-23 13:09:37 +00:00
jjgarcia
47fdf3eebe
Method combinations implemented. Bug involving EQL specializers not being compared with EQL solved.
2003-07-16 17:30:18 +00:00
jjgarcia
eb0e98c2e3
Changes on the CLOS bootstrapping sequence (which is now done entirely in
...
LISP), and minor bugfixes.
2003-06-25 14:46:42 +00:00
jjgarcia
0c54b35b46
New function SIMPLE-PROGRAM-ERROR creates PROGRAM-ERROR with messages. Consistency and syntax checks added all over CLOS. Signalled errors are of SIMPLE-PROGRAM-ERROR type.
2003-05-03 17:32:34 +00:00
jjgarcia
f20736084b
Add more symbols to src/c/symbols_list.h, and resolve associated conflicts.
2003-04-28 09:25:58 +00:00
jjgarcia
6b76d155ee
Create new functions SI::{GET,PUT,REM}-SYSPROP to handle vital information
...
about functions, SETF forms, DEFTYPEs, etc. Property lists are no longer
used for this task.
2003-03-21 14:18:56 +00:00
jjgarcia
5f6f65b407
Bunch of fixes inspired by the ANSI test suite of GCL.
2003-03-10 09:10:13 +00:00
jjgarcia
b0ce08d0ea
Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG.
2002-11-04 14:08:24 +00:00