From 9cc2c441eea9b40f3db0a60fa5a25ff2828a0fde Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 6 Oct 2011 18:29:28 -0400 Subject: [PATCH] Add note on `match' semantics. --- collects/scribblings/reference/match.scrbl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/collects/scribblings/reference/match.scrbl b/collects/scribblings/reference/match.scrbl index 512874c58b..99e0fed9b8 100644 --- a/collects/scribblings/reference/match.scrbl +++ b/collects/scribblings/reference/match.scrbl @@ -349,7 +349,14 @@ In more detail, patterns match as follows: @item{@racket[_derived-pattern] --- matches a pattern defined by a macro extension via @racket[define-match-expander].} -]} +] + +Note that the matching process may destructure the input multiple times, and +may evaluate expressions embedded in patterns such as @racket[(#,(racketidfont +"app") expr pat)] in arbitrary order, or multiple times. Therefore, such +expressions must be safe to call multiple times, or in an order other than they +appear in the original program. +} @; ----------------------------------------------------------------------