Venkatesan S svtesan@gmail.com writes:
I want to use defclause-driver with the sequence keywords, I could not figure out how to get the values passed in from, to and other such clauses. Can anyone please provide some pointers?
Hi, you were just a tiny step from the working solution: With
(with ,myfrm = ,iterate::from)
, that is, using the qualified FROM from the iterate package, it works just fine. You can also see this, if you macroexpand your IN-WHOLE-VECTOR definition:
(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (DEFMACRO CLAUSE-FOR-IN-WHOLE-VECTOR-5 (&KEY ((:FOR VAR)) ((:IN-WHOLE-VECTOR V)) ((:FROM ITERATE::FROM)) ((:UPFROM ITERATE::UPFROM)) ((:DOWNFROM ITERATE::DOWNFROM)) ((:TO ITERATE::TO)) ((:DOWNTO ITERATE::DOWNTO)) ((:ABOVE ITERATE::ABOVE)) ((:BELOW ITERATE::BELOW)) ((:BY ITERATE::BY) 1) ((:WITH-INDEX ITERATE::WITH-INDEX)) GENERATE) "All the elements of a vector (disregards fill-pointer)" ...
Since all those extra symbols are not exported from the iterate package, you've got to use them explicitely.
Hth and cheers, Olof