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
4083b63b08
+initform-unsupplied+ should not shadow user-supplied arguments.
2006-03-20 09:03:54 +00:00
jjgarcia
d41d4544e8
Slot accessors go now through slot definition objects.
2006-03-20 09:03:43 +00:00
jjgarcia
a2fc3fc878
Do not be so picky and retrieve the list of arguments after a class option.
2006-03-20 09:01:00 +00:00
jjgarcia
31c1b568c5
Unattached methods have slot generic-function set to nil
2006-03-10 12:59:40 +00:00
jjgarcia
e6344bbf0d
New accessors using standard slot definition objects
2006-03-07 09:18:35 +00:00
jjgarcia
29c8e5f06c
direct-slot-definition-class has to be invoked with a class object
2006-03-07 09:18:20 +00:00
jjgarcia
89ef1af3b4
Fixed typo in error message
2006-03-06 14:43:08 +00:00
jjgarcia
9b720a0c73
Several slot accessors are now specialized on standard-effective-slot-definition
2006-03-06 09:53:01 +00:00
jjgarcia
0374889740
Allow new metaclass options.
2006-03-06 09:39:29 +00:00
jjgarcia
d2630969fb
Allow nonstandard options when parsing slot definitions.
2006-03-06 09:39:17 +00:00
jjgarcia
3687dca489
New method for DOCUMENTATION to operate on slot-definition objects.
2006-03-06 09:39:06 +00:00
jjgarcia
3e59b0e217
Export symbols from the AMOP.
2006-03-06 09:32:09 +00:00
jjgarcia
b42119ef04
All slots from STANDARD-CLASS are now inherited by its subclasses.
2006-02-28 14:08:35 +00:00
jjgarcia
770f071318
New implementation of SAFE-EVAL, cooperates better with the current condition system and can call TOP-LEVEL.
2006-02-06 10:07:16 +00:00
jjgarcia
98a3cc7ac9
Using eval-when makes this work when cross-compiling.
2006-01-16 13:19:47 +00:00
jjgarcia
20d4765883
Restore constant +initform-unsupplied+.
2006-01-16 11:47:37 +00:00
jjgarcia
6688f1b75f
Remove unused variables and constants.
2006-01-16 11:47:06 +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
8de21d278a
Implemented standard behavior of NO-APPLICABLE-METHOD.
2006-01-09 09:15:42 +00:00
jjgarcia
66505e8fd9
ENSURE-GENERIC-FUNCTION implemented using only E-G-F-USING-CLASS. Removed assert_non_wild_pathname, as it is only required by one function. *LOAD-PATHNAME* contains the pathname supplied by the user, not the one merged with SI::GETCWD.
2006-01-09 09:15:10 +00:00
jjgarcia
5722fa2b7c
Forgot the case in which the generic function is modified using ENSURE-GENERIC-FUNCTION
2005-12-20 15:03:02 +00:00
jjgarcia
5a13085f22
Adding a new specialization to a generic function does not result in a warning when the function is in a locked package
2005-12-20 10:31:07 +00:00
jjgarcia
c6e4191014
Better search of the class tree looking for a condition that matches the type specifier. Works now for types like '(OR TYPE-ERROR SIMPLE-CONDITION), as well as for more complicated cases of conditions that inherit from multiple parents
2005-11-21 13:48:16 +00:00
jjgarcia
c2506f8283
Do not create SIMPLE-* versions of many conditions, but do that at run time, via a uniform SIGNAL-SIMPLE-ERROR function, that can produce both normal and correctable errors.
2005-11-04 12:35:20 +00:00
jjgarcia
2bd547f0eb
A method might not be attached to any generic function. In that case print it as UNNAMED.
2005-11-04 09:45:19 +00:00
jjgarcia
4d67d21bbf
More informative error message by failure of TRUENAME. The extended syntax is allowed in pathnames as a hack to allow using ':' in file names.
2005-10-24 08:37:42 +00:00
jjgarcia
f0f5cd6e53
The slot DOCUMENTATION from generic functions is now initialized to NIL.
2005-10-24 08:36:38 +00:00
jjgarcia
a71ed7701e
MAKE-CONDITION now accepts complex type specifiers.
2005-10-24 08:34:04 +00:00
jjgarcia
2d5bb45946
Replaced the code walker with some hooks in the bytecodes compiler and use this for the analysis of method functions. The optimizations of SLOT-VALUE references are removed, since they are buggy.
2005-09-19 09:31:01 +00:00
jjgarcia
5bc2e8ede3
Precompile all effective methods required by standard method combinations.
2005-09-19 09:30:48 +00:00
jjgarcia
19bb8501a7
Simplified the code for creating method combinations. Remove need for code walker here.
2005-09-19 09:30:34 +00:00
jjgarcia
7b762a99c4
New functions for performing type inference.
...
Arithmetic operators *,+,/,- now have simple optimizers.
Fixed several "bugs" in the C code to let ECL compile with GCC 4.0
2005-08-12 15:23:10 +00:00
jjgarcia
3d1e56e0ec
Evaluation of the constant in EQL specializers now takes place in the lexical environment in which DEFMETHOD is enclosed.
2005-08-09 08:08:46 +00:00
jjgarcia
9052752e65
Reorganized the list of inliners and inline information, storing it in more detailed structures
2005-08-08 08:09:25 +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
japhie
79eb61f08e
- Properly set and use :cross feature
2005-07-10 23:17:49 +00:00
jjgarcia
f76c1888c6
- The T1 and T3 forms of the compiler have been almost removed. Now, handling of
...
DEFUN as a toplevel form is made via some new declaration C-GLOBAL and some
magic both in the optimizer for FSET and in the compiler C1COMPILE-FUNCTION.
- CLINES is now handled with a macro and all lines from CLINES are written
together in the header.
- It is now illegal to have SI::C-LOCAL inside a macro function.
2005-07-04 09:20:24 +00:00
jjgarcia
587fb1acc7
Documentation of macros is stored in the function definition of the macro
2005-06-20 16:43:35 +00:00
jjgarcia
2074ff4dd1
Bugs fixed:
...
- After (REQUIRE 'CMP) the module was not registered
- Provide MAKE-LOAD-FORM for some builtin objects (to be improved)
- FOREIGN-DATA was not recognized as a type by SUBTYPEP
- Documentation of functions not found by DOCUMENTATION
2005-06-13 13:17:38 +00:00
jjgarcia
85815eb157
DECLARATION names cannot be type names and viceversa
2005-06-09 08:05:17 +00:00
jjgarcia
05ed7e9c37
The class for pretty streams now inherits from our Gray streams
2005-05-23 12:20:47 +00:00
jjgarcia
784b761678
The documentation slot in generic functions should default to NIL
2005-05-20 08:07:39 +00:00
japhie
a43ccfe457
Fixed (DOCUMENTATION ... 'FUNCTION) and (SETF (DOCUMENTATION ... 'FUNCTION))
...
behaviour.
2005-05-12 16:25:58 +00:00
jjgarcia
81a076ee92
(DOCUMENTATION 'F 'FUNCTION) did not work with generic functions
2005-04-21 09:32:41 +00:00
jjgarcia
28e3a1c47f
The build system has been cleaned. The --with-system-* options now can automatically detect the existence of GMP and Boehm-Weiser libraries
2005-04-12 11:59:26 +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
4d88711624
Implemented our version of Gray streams.
2005-03-17 16:47:53 +00:00
jjgarcia
6840fbe114
C-INLINE forms are now understood by the walker
2005-03-16 16:27: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