Isodata-xform-rec-calls
Transform all the calls of old.
- Signature
(isodata-xform-rec-calls term old$ arg-isomaps res-isomaps new$)
→
new-term
- Arguments
- term — Guard (pseudo-termp term).
- old$ — Guard (symbolp old$).
- arg-isomaps — Guard (isodata-symbol-isomap-alistp arg-isomaps).
- res-isomaps — Guard (isodata-pos-isomap-alistp res-isomaps).
- new$ — Guard (symbolp new$).
Turn each call (old updatej-x1 ... updatej-xn) inside a term
into one of the following:
- (new (forth1 updatej-x1) ... (forthn updatej-xn)),
if no results are transformed.
- (back_r1 (new (forth1 updatej-x1) ... (forthn updatej-xn))),
if old is single-valued and its result is transformed.
- (mv-let (y1 ... ym)
(new (forth1 updatej-x1) ... (forthn updatej-xn))
(mv (back_r1 y1) ... (back_rm ym))),
if old is multi-valued and some of its results are transformed.
This term transformation is an intermediate step
in the construction of the body of new from the body of old.
Subtopics
- Isodata-xform-rec-calls-lst