Re: [racket] macro vs function differing results

2014-02-07 Thread Matthew Flatt
The `=defun` macro introduces the `*cont*` binding as the argument of `=foo`. Hygienic macro expansion ensures that this macro-introduced bindings does not capture uses of `*cont*` that appear in the macro use. Specifically, the `*cont*` in (=defun (foo x) *cont*) refers to the module-level de

[racket] macro vs function differing results

2014-02-07 Thread Kevin Forchione
I’m trying to resolve why I get differing results in a let form when using a macro versus using the expanded function version. Here’s an example using racket 5.93: #lang racket (require (for-syntax racket/syntax)) (define *cont* identity) (define-syntax (=defun stx) (syntax-case stx ()