Commit graph

26 commits

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