At Mon, 12 Oct 2015 13:23:48 +0200, Jens Axel Søgaard wrote:
> In DrRacket with just #lang racket in the definitions window.
> Click Run.
> 
>     Welcome to DrRacket, version 6.3.0.1--2015-10-12(a683542/a) [3m].
>     Language: racket; memory limit: 1024 MB.
> 
>     > (syntax->datum (expand #'(begin (define (sort v) v) (sort t))))
>     '(begin (define-values (sort) (lambda (v) v)) (#%app sort9 t))
> 
> Notice that the identifiers sort and sort9 in the expansion are different.
> 
> Why?

The `sort` binding exported from `racket/base` is a macro that expands
to `sort9`. The use of `sort` in the right-hand side of the definition
refers to that binding, instead of the `sort` being defined, because
the top level is hopeless.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to