updated metafunction docs

svn: r11047
This commit is contained in:
Robby Findler 2008-08-03 14:07:19 +00:00
parent 0f9964e875
commit 7fbaf9ecce

View File

@ -637,9 +637,13 @@ a context (ie, that can be used as the first argument to
returns the closure of the reduction in that context. returns the closure of the reduction in that context.
} }
@defform[(define-metafunction language-exp @defform/subs[#:literals (: ->)
[(name pattern ...) exp (side-condition exp) ...] (define-metafunction language-exp
...)]{ contract
[(name pattern ...) exp (side-condition exp) ...]
...)
([contract (code:line)
(code:line id : pattern ... -> pattern)])]{
The @scheme[define-metafunction] form builds a function on The @scheme[define-metafunction] form builds a function on
sexpressions according to the pattern and right-hand-side sexpressions according to the pattern and right-hand-side
@ -680,8 +684,10 @@ the free variables of the body, minus the bound parameters.
} }
@defform[(define-metafunction/extension extending-name language-exp @defform[(define-metafunction/extension extending-name language-exp
contract
[(name pattern ...) rhs-expression (side-condition <exp>) ...] [(name pattern ...) rhs-expression (side-condition <exp>) ...]
...)]{ ...)]{
This defines a metafunction as an extension of an existing This defines a metafunction as an extension of an existing
one. The extended metafunction behaves as if the original one. The extended metafunction behaves as if the original
patterns were in this definitions, with the name of the patterns were in this definitions, with the name of the