Juan Jose Garcia Ripoll
f36b002a5f
Slight optimization of the function that searches closure boundaries in CLOS
2012-03-18 13:24:35 +01:00
Juan Jose Garcia Ripoll
70b3b2635e
Remove implicit type declarations in DEFMETHOD because the arguments to the function may be changed by the body itself.
2012-02-16 23:23:15 +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
4b2eca745a
Replace more uses of DEFVAR with DEFPARAMETER
2011-12-10 20:12:14 +01:00
Juan Jose Garcia Ripoll
76a0f027a6
When using DEFMETHOD we called EVAL-WITH-ENV using :load-toplevel mode instead of :execute. This causes some trouble. Until the bytecodes compiler is revised we may safely fall back to :execute.
2010-07-13 23:18:07 +02:00
Juan Jose Garcia Ripoll
4fb36efd04
In WALK-METHOD-LAMBDA use eval-with-env to get access to the macros that are defined in the compiler environment
2010-07-11 15:10:20 +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
82d20eb08a
Added dependent objects for classes and generic functions
2010-06-20 16:57:47 +02:00
Juan Jose Garcia Ripoll
ba3efd844f
Fixed the CALL-NEXT-METHOD closure.
2010-02-16 21:52:07 +01:00
Juan Jose Garcia Ripoll
bbd35c1a6f
Methods now show up in the debugger with their original name.
2009-12-02 16:02:14 +01:00
Juan Jose Garcia Ripoll
8265f44396
src/clos/method.lsp: use the (APPEND ... NIL) idiom to ensure that a fresh list is produced.
2009-11-14 17:36:55 +01:00
Juan Jose Garcia Ripoll
7607ec041c
Added hooks for registering DEF* forms and their locations with some database.
2008-07-12 16:09:53 +02:00
Juan Jose Garcia Ripoll
212fbd1d22
In methods function's type declarations, the type and the name were swapped
2008-06-04 22:59:49 +02:00
jgarcia
4e46efac3f
Automatically generate type checks for arguments of a lambda form if the safety settings are high enough
2008-05-12 08:16:44 +00:00
jgarcia
9e294b8965
Restore a partial optimization of slot access and remove some warnings about method combination's global variables
2008-04-29 08:41:01 +00:00
jgarcia
25201a0bef
Implement standard-accessor-method
2008-04-28 15:23:12 +00:00
jgarcia
52f4df1901
Merged the new function call code
2008-02-16 10:28:32 +00:00
jgarcia
a59f90871a
Emacs modelines for better editing
2008-02-02 19:14:05 +00:00
jgarcia
d4e15d5910
Comment the code
2006-05-05 15:19:43 +00:00
jgarcia
a952b2c796
Simplifed the implementation of DEFMETHOD
2006-04-18 19:25:58 +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
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
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
39d35ffa38
Implemented SLOT-DEFINITION objects together with the associated protocols (Field position still missing).
2005-02-25 16:16:57 +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
32d681daf8
PARSE-DEFMETHOD failed on empty lambda lists
2004-12-06 09:40:51 +00:00
jjgarcia
72dc89f61b
Fixed generation of function prototypes, and other glitches so that the lisp code can be compiled with a C++ compiler. The core library is still compiled with a C compiler.
2004-03-03 09:18:20 +00:00
jjgarcia
b8d27be483
Dummy implementation of MAKE-LOAD-FORM and MAKE-LOAD-FORM-SAVING-SLOTS. Supports for normal lisp objects and structures is missing.
2004-01-20 08:53: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
0290efd01c
Implemented the class redefinition protocol, and forward referenced classes.
2003-12-15 08:54:10 +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
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
5e56be36a8
ECL ported to Solaris/SPARC-32
2003-07-01 12:28:44 +00:00
jjgarcia
737571a68a
Rename several accessors according to AMOP
2003-06-27 10:23:06 +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
c2aa136143
Various minor fixes, and an important set of changes to teach the compiler
...
and the interpreter to understand (SETF fname) function names, and to handle
them without creating auxiliary symbols.
2003-04-28 15:55:22 +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
9771e91572
+ New implementation of DESTRUCTURING-BIND
...
+ The bytecodes compiler now alloes a lambda list with &key and no keywords
+ WITH-HASHTABLE-ITERATOR implemented
+ QUIT is now silent
+ In MAKE-PATHNAME, values supplied with a value of NIL would be overwritten
by the content of :DEFAULTS.
2003-03-04 16:35:03 +00:00
jjgarcia
bf8a3c21a9
Replaced LET -> LET* to make C code smaller, wherever it is possible.
2002-12-04 15:40:42 +00:00
jjgarcia
b0ce08d0ea
Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG.
2002-11-04 14:08:24 +00:00
jjgarcia
2d8d0cd44b
Initial revision
2001-06-26 17:14:44 +00:00