Commit graph

139 commits

Author SHA1 Message Date
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