scope-operations
(require scope-operations) | package: scope-operations |
(make-syntax-delta-introducer (datum->syntax stx 'stx) (datum->syntax #f 'zero))
Unlike a make-syntax-delta-introducer, this procedure does not expect a second argument (always creating an introducer for all the scopes present on stx), and works on syntax objects which are not identifiers.
value
empty-scopes : "The empty set of scopes, as produced by:"
(→scopes (datum->syntax #f 'zero))
value
: "A syntax object with an empty set of scopes, as produced by:"
(datum->syntax #f 'zero)
procedure
(scopes-add sc1 sc2) → scopes/c
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)
procedure
(scopes-remove sc1 sc2) → scopes/c
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)
The resulting set of scopes contains all the scopes present in sc1 which are not present in sc2.
procedure
(scopes-flip sc1 sc2) → scopes/c
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c) (scopes-symmetric-difference sc1 sc2) → scopes/c sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)
The resulting set of scopes contains all the scopes present in sc1 which are not present in sc2, as well as the scopes present in sc2 which were not present in sc1.
Flipping the sc2 scopes on sc1 has the same effect as computing the symmetric difference of the two sets of scopes.
procedure
(scopes-intersect sc1 sc2) → scopes/c
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)
procedure
(single-scope? sc) → boolean?
sc : (or/c syntax? scopes/c)
procedure
(zero-scopes? sc) → boolean?
sc : (or/c syntax? scopes/c)
procedure
(scopes-equal? sc1 sc2) → boolean?
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)
procedure
(scope-kind sc) → symbol?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(use-site-scope? sc) → boolean?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(macro-scope? sc) → boolean?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(module-scope? sc) → boolean?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(intdef-scope? sc) → boolean?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(local-scope? sc) → boolean?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(top-scope? sc) → boolean?
sc : (and/c (or/c syntax? scopes/c) single-scope?)
procedure
(all-scopes-in? sc1 sc2) → boolean?
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)
procedure
(any-scope-in? sc1 sc2) → boolean?
sc1 : (or/c syntax? scopes/c) sc2 : (or/c syntax? scopes/c)