Marius Gerbershagen
62d1bb1203
cmp: fix evaluation order of sequence compiler macros
...
Minor improvements to define-compiler-macro* (bail out if we detect
:allow-other-keys arguments, define a named block such that
return-from works as expected).
Major refactor of sequence compiler-macros: use define-compiler-macro*
which handles correct evaluation order, define new macro to handle
common stuff for all sequences compiler-macros (e.g. inline policy
checking, check that test and test-not are not both given). The main
expansion logic in the compiler macros is unchanged although the code
had to be slightly rewritten to accomodate the new macros.
Remove the now superfluous seq-opt-parse-args function.
2021-03-31 21:09:18 +02:00
Marius Gerbershagen
e0813bf42e
cmp: fix typos
2021-03-21 17:33:06 +01:00
Marius Gerbershagen
c6b4296bb8
cosmetic: fix some compiler warnings
2020-04-29 20:35:37 +02:00
Marius Gerbershagen
14d46da134
cmp: fix evaluation order bugs in compiler macros
2020-03-21 11:44:01 +01:00
Marius Gerbershagen
a4e93f7b61
cmp: fix compiler macro for sequence functions with :end argument
...
The :end argument was ignored previously.
2019-12-22 20:31:48 +01:00
Daniel Kochmański
af9900c7d4
compiler: fix compiler-macro for `FIND'
...
C-compiled `FIND' didn't respect `START' nor `END' arguments due to bug
in parsing the arguments and invoking `DO-SEQ'. Fixes #199 .
2015-12-18 10:35:11 +01:00
Matthew Mondor
8f07cd58d8
The ECL code no longer uses tabulator characters, they were replaced
...
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Juan Jose Garcia Ripoll
ca0222fd19
Implemented EXT:TRULY-THE and made THE expand to either EXT:TRULY-THE or EXT:CHECKED-VALUE depending on the optimization settings.
2011-12-31 19:37:13 +01:00
Juan Jose Garcia Ripoll
f109f94a91
Change the syntax of CHECKED-VALUE so that it matches the one of THE.
2011-12-31 18:46:01 +01:00
Juan Jose Garcia Ripoll
d8a74f6357
Introduced compulsory and optional type assertions for arbitrary types, not only those known to the compiler. LAMBDA arguments type checks are rewritten in terms of those now.
2011-12-26 10:03:54 +01:00
Juan Jose Garcia Ripoll
702a4c6e3c
Fixed the first argument to SEQ-OPT-PARSE-ARGS in cmpopt-sequence.lsp
2011-12-01 21:00:48 +01:00
Juan Jose Garcia Ripoll
1523ae8a5c
EXT package created containing the original set of symbols (not yet filtered) and re-exported from SYS
2011-02-27 23:20:12 +01:00
Juan Jose Garcia Ripoll
09ae1f43c0
Fixed type warning in macroexpansion of sequece iterators
2010-09-21 09:25:26 +02:00
Juan Jose Garcia Ripoll
8d99c6a2b6
Optimize MEMBER with short, constant lists
2010-05-17 23:06:42 +02:00
Juan Jose Garcia Ripoll
a03830bf04
Add yet inactive expansion of MEMBER for constant, short lists
2010-05-15 21:54:53 +02:00
Juan Jose Garcia Ripoll
6c8926c1bf
Unused compiler macros for seq-iterator methods
2010-05-15 16:47:40 +02:00
Juan Jose Garcia Ripoll
761f144872
Inline expander for FIND
2010-05-14 18:32:21 +02:00
Juan Jose Garcia Ripoll
ef6c5dab48
The compiler macro for ASSOC also works for general test/keyword arguments.
2010-05-14 16:49:38 +02:00
Juan Jose Garcia Ripoll
3681bcd018
The compiler macro for MEMBER also works for general test/keyword arguments.
2010-05-14 16:30:21 +02:00
Juan Jose Garcia Ripoll
744818d8e9
Commit file cmpopt-seq.lsp missing from previous uploads
2010-05-14 09:26:44 +02:00