Commit graph

4109 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
8e93dce002 Remove unused macro DEF-SEQ-BOOL-PARSER 2010-05-23 16:44:13 +02:00
Juan Jose Garcia Ripoll
361b012da6 New macro for running over multiple sequences, DO-SEQUENCES, used to reimplement SOME/EVERY 2010-05-23 16:33:09 +02:00
Juan Jose Garcia Ripoll
7457f9524d Minor fixes in the inference of C1FORM types 2010-05-23 16:32:36 +02:00
Juan Jose Garcia Ripoll
20ad95ce9e Optimize LOOP-FOR-IN using CONS-CAR/CDR 2010-05-23 16:32:07 +02:00
Juan Jose Garcia Ripoll
c60112a470 New auxiliary functions CONS-CAR/CONS-CDR help in optimizing loops 2010-05-23 16:31:45 +02:00
Juan Jose Garcia Ripoll
1bf4956d5a Hack WITH-UNIQUE-NAMES so that it can be used before the sequence functions are installed 2010-05-23 15:36:03 +02:00
Juan Jose Garcia Ripoll
3ebe4b146f In seqlib.lsp, reorder tests for more efficient code. 2010-05-22 18:03:34 +02:00
Juan Jose Garcia Ripoll
1d2e56135c Remove unneeded error checks in seqlib.lsp 2010-05-22 18:00:29 +02:00
Juan Jose Garcia Ripoll
42029200fe Simplify FIND so that it handles :FROM-END T without consing. 2010-05-22 16:45:31 +02:00
Juan Jose Garcia Ripoll
fcf22c21de FILL is now declared to be optimize 2010-05-22 16:10:39 +02:00
Juan Jose Garcia Ripoll
2c09a7b565 Reimplemented REDUCE 2010-05-22 16:03:59 +02:00
Juan Jose Garcia Ripoll
ba4210ef93 Reorganize the keyword arguments in seqlib so that keywords can be reused 2010-05-22 15:03:34 +02:00
Juan Jose Garcia Ripoll
ef04bdcdc2 Reimplemented DELETE/REMOVE-DUPLICATES 2010-05-22 14:56:31 +02:00
Juan Jose Garcia Ripoll
2b9e266407 Implemented DELETE-DUPLICATES-LIST 2010-05-22 09:54:54 +02:00
Juan Jose Garcia Ripoll
6d605bd37d Implemented REMOVE-DUPLICATES-LIST. 2010-05-22 01:17:57 +02:00
Juan Jose Garcia Ripoll
5141fad5e0 SEQUENCE-START-END now returns also the length of the sequence 2010-05-21 23:27:49 +02:00
Juan Jose Garcia Ripoll
feceaa16f9 Declare the new sequence functions to have low safety settings 2010-05-21 23:05:00 +02:00
Juan Jose Garcia Ripoll
39e7f02a79 WITH-COUNT did not allow inserting declarations at the beginning of the body 2010-05-21 23:04:43 +02:00
Juan Jose Garcia Ripoll
480e227d2c In DELETE, do not copy elements until we reach the first element to be eliminated 2010-05-21 22:06:59 +02:00
Juan Jose Garcia Ripoll
f6ce609bc5 Reimplemented DELETE using the new macros. Removed DEFSEQ, which is no longer needed. 2010-05-21 21:35:03 +02:00
Juan Jose Garcia Ripoll
61b86312e4 Reimplemented REMOVE using specialized vector and list operations. 2010-05-21 21:05:22 +02:00
Juan Jose Garcia Ripoll
fa30623000 Reimplemented substitute using nsubstitute and the new loops 2010-05-21 11:24:39 +02:00
Juan Jose Garcia Ripoll
4be12cb2c0 New C functions for copy-seq and subseq 2010-05-21 11:24:17 +02:00
Juan Jose Garcia Ripoll
d27d2cc5ee NSUBSTITUTE implemented with the new macros 2010-05-20 23:33:44 +02:00
Juan Jose Garcia Ripoll
909ed7f1c5 Export the utility function SEQUENCE-COUNT 2010-05-20 23:33:16 +02:00
Juan Jose Garcia Ripoll
efd6488bc6 New macros for handlig the :COUNT argument in sequence functions. 2010-05-20 23:25:44 +02:00
Juan Jose Garcia Ripoll
56791d24b8 Reimplemented POSITION using the new sequence macros. 2010-05-20 21:57:48 +02:00
Juan Jose Garcia Ripoll
eb090229ee The sequence iteration macros allow specifying the name of the index variable 2010-05-20 21:57:33 +02:00
Juan Jose Garcia Ripoll
365ad7b1e2 Faster, specialized implementation of FIND. 2010-05-20 17:13:41 +02:00
Juan Jose Garcia Ripoll
e2cc2ae6dc Faster version of COUNT specialized for arrays and lists. 2010-05-20 16:46:58 +02:00
Juan Jose Garcia Ripoll
f30d551724 New macros for efficiently traversing arrays and lists 2010-05-20 16:46:25 +02:00
Juan Jose Garcia Ripoll
a6f441f8f9 More efficient use of TEST/TEST-NOT arguments 2010-05-20 14:58:28 +02:00
Juan Jose Garcia Ripoll
7e53f79dd2 Proclaim coerce-to-function 2010-05-20 14:58:11 +02:00
Juan Jose Garcia Ripoll
04f6b655d1 Fixed typos in error messages from sequence-start-end 2010-05-20 14:57:40 +02:00
Juan Jose Garcia Ripoll
4ce6c85438 Split out the sequence macros into a separate file 2010-05-20 12:41:38 +02:00
Juan Jose Garcia Ripoll
ec0ddc1174 New function SEQUENCE-START-END 2010-05-20 12:30:52 +02:00
Juan Jose Garcia Ripoll
8a29b98f94 C1FORM-REPLACE-WITH now replaces entirely the form, not just creating a VALUES proxy. 2010-05-19 15:20:59 +02:00
Juan Jose Garcia Ripoll
ef797cb513 Management of variable references, read and set nodes, and type updates is now done through the functions in cmpvar.lsp. 2010-05-19 14:20:17 +02:00
Juan Jose Garcia Ripoll
f7ad326bee Changed the order of arguments in ASET to simplify the resulting SETF forms 2010-05-19 10:22:38 +02:00
Juan Jose Garcia Ripoll
a66b041368 New function for extracting values from constant expressions 2010-05-19 09:48:48 +02:00
Juan Jose Garcia Ripoll
d276d2e2ea Add a type update phase for variables in LET forms 2010-05-19 09:48:28 +02:00
Juan Jose Garcia Ripoll
4f2d4679d3 The compiler macro optimizer for MAKE-ARRAY extracts the type from its arguments. 2010-05-19 09:47:46 +02:00
Juan Jose Garcia Ripoll
2f124f7ed9 Fix the order of array index scanning. 2010-05-18 21:47:36 +02:00
Juan Jose Garcia Ripoll
124862f56f Index checking was always active 2010-05-18 21:44:58 +02:00
Juan Jose Garcia Ripoll
01e225a30d Introduce an environment variable to prevent the compiler from deleting files 2010-05-18 16:40:55 +02:00
Juan Jose Garcia Ripoll
7a7c8ff586 The optimizer for RPLACA/D returned not the cons, but the value. 2010-05-18 16:40:30 +02:00
Juan Jose Garcia Ripoll
6d82235b1b Fixed typo in VT-LOC-VALUE 2010-05-18 12:25:11 +02:00
Juan Jose Garcia Ripoll
38d0b5fa47 New symbol COMPLEX-ARRAY needed by the type ladder 2010-05-18 12:24:54 +02:00
Juan Jose Garcia Ripoll
9ab000c2d6 Solved a problem with type intersections between SIMPLE-ARRAY and ARRAY. 2010-05-18 12:24:21 +02:00
Juan Jose Garcia Ripoll
a01e56cf83 VT-LOC-VALUE, used to retrieve the constant value of C locations, did not handle statically allocated constants 2010-05-18 11:08:37 +02:00