You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Whenever a form is being expanded, the result of syntax-local-context has one of five values: 'expression, 'top-level, 'module, 'module-begin, or a value representing a specific definition context. This is useful information to know when inside refactoring rules, as it can affect what sort of transformations might be possible or reasonable. There should be a custom expansion analyzer that labels the expansion context of all forms in the fully expanded syntax. Here's some test cases:
#lang resyntax/test
header: - #lang racket/base
analysis-test: "code in a module is in a module context"
- (+123)
@inspect - (+123)
@property expansion-context
@assert module
analysis-test "function arguments are in an expression context"
- (+123)
@inspect - 2
@property expansion-context
@assert expression
analysis-test "code in a function body is in an internal definition context"
--------------------
(define (f)
(+123))
--------------------
@inspect - (+123)
@property expansion-context
@assert internal-definition
Activity