| From: Casey Klein (clklein at eecs.northwestern.edu) Date: Fri Apr 1 05:10:19 EDT 2011 |
|
What exactly is in the `id' field of a `exn:fail:contract:variable'
structure? It doesn't seem to be the symbolic name of the
not-yet-defined variable.
#lang racket
(define-syntax (m stx)
(syntax-case stx ()
[(_ x)
(let ([y (datum->syntax #'fresh (syntax-e #'x) #'x)])
#`(begin
#,y
(define #,y 1)))]))
(uncaught-exception-handler
(λ (exn)
(displayln (exn:fail:contract:variable-id exn))
((error-escape-handler))))
(m x) ; => x.6, not x
| Posted on the users mailing list. |
|