The "Post-Redirect-Get" pattern, or PRG, is a popular web idiom for displaying a page after receiving a form ("POST") submission. The only action performed by the response to form submission is to redirect to an ordinary ("GET") page. This can be abstracted particularly nicely in PLT Scheme with the following simple procedure:
Note that the redirect/get procedure returns the request object as a result of the "GET" interaction, though most of the time there won't be any interesting information in this request object that wasn't already in the result of the "POST".
My first implementation was as a special form, implemented as a simple macro whose subexpressions are evaluated in the context of the redirected GET page:
(This solution makes use of the send/suspend/dispatch procedure discussed in WebDispatchOnLink.)
However, I believe the solution using send/suspend is even easier to use and understand as a library procedure.