Version: 5.0.2
32 Finding Mutated Variables
| (require unstable/mutated-vars) | 
This library is unstable;
compatibility will not be maintained.
See Unstable for more information.
| (find-mutated-vars stx [dict]) → dict? | 
| stx : syntax? | 
| dict : dict? = (make-immutable-free-id-table) | 
Traverses
stx, which should be module-level-form in the sense
of the grammar for
fully-expanded forms,
and records all of the variables that are mutated.
Each mutated variable is added to dict, mapped to
#t.  If dict is mutable, as determined by
dict-mutable?, then the table is updated destructively.
Otherwise, the table is updated functionally.
Examples:  | 
| > (define t (find-mutated-vars #'(begin (set! var 'foo) 'bar))) | 
| > (dict-ref t #'var #f) | 
#t  | 
| > (dict-ref t #'other-var #f) | 
#f  | 
| > (define tbl (make-free-id-table)) | 
| > (find-mutated-vars #'(begin (set! var 'foo) 'bar) tbl) | 
#<mutable-free-id-table>  | 
| > (dict-ref tbl #'var #f) | 
#t  | 
}