On this page:
8.18
top
up

8Unsafe for Clause TransformsπŸ”— i

The syntax/unsafe/for-transform module provides a helper function that gives access to the sequence transformers defined by define-sequence-syntax . This is what the for forms use and enables faster sequence traversal than what the sequence interface provides.
The output may use unsafe operations.

procedure

( expand-for-clause* orig-stxclause)syntax?

orig-stx:syntax?
clause:syntax?
Expands a for clause of the form [(x... )seq-expr], where x are identifiers, to:

(([(outer-id... )outer-expr]... )
outer-check
([loop-idloop-expr]... )
pos-guard
([(inner-id... )inner-expr]... )
inner-check
pre-guard
post-guard
(loop-arg... ))

which can then be spliced into the appropriate iterations. See :do-in for more information.

The result may use unsafe operations.

The first argument orig-stx is used only for reporting syntax errors.

Added in version 8.10.0.3 of package base.

procedure

( expand-for-clause orig-stxclause)syntax?

orig-stx:syntax?
clause:syntax?
Like expand-for-clause* , but the result omits a inner-check part:

(([(outer-id... )outer-expr]... )
outer-check
([loop-idloop-expr]... )
pos-guard
([(inner-id... )inner-expr]... )
pre-guard
post-guard
(loop-arg... ))

If a clause expands to a inner-check clauses that is not ignorable, expand-for-clause reports an error. An ignorable clause is (void ) or a begin form wrapping ignorable clauses.

top
up

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /