Macro stepper:

cleaned up representation of big (localaction) contexts
  unitized hiding impl
  added (broken/experimental) navigation tools (jump, zoom)

svn: r5468

original commit: ef1f77c33fc8082c80b6beea80f6f149ac7f8031
This commit is contained in:
Ryan Culpepper 2007-01-26 19:53:55 +00:00
parent df346e3044
commit ee080b92eb
2 changed files with 12 additions and 10 deletions

View File

@ -44,9 +44,7 @@
(syntax-rules ()
[(with-new-local-context e . body)
(parameterize ([big-context
(cons (cons (current-derivation)
(cons (list e)
(context)))
(cons (make-bigframe (current-derivation) (context) (list e) e)
(big-context))]
[context null])
. body)]))

View File

@ -9,8 +9,9 @@
;; A Context is a list of Frames
;; A Frame is (syntax -> syntax)
;; A BigContext is (list-of (cons Derivation (cons Syntaxes Syntax)))
;; local expansion contexts: deriv, foci, term
;; A BigContext is (list-of BigFrame)
;; A BigFrame is (make-bigframe Derivation Context Syntaxes Syntax)
(define-struct bigframe (deriv ctx foci e))
;; A Reduction is one of
;; - (make-step ... Syntaxes Syntaxes Syntax Syntax)
@ -36,6 +37,9 @@
(define (misstep-term1 s)
(context-fill (protostep-ctx s) (misstep-e1 s)))
(define (bigframe-term bf)
(context-fill (bigframe-ctx bf) (bigframe-e bf)))
;; A StepType is a simple in the following alist.
(define step-type-meanings