I am trying to implement a variation of define. In order to do that I am
trying to understand the source of the define macro in racket.
It calls a function normalize-definition which looks like this:
(define-values (normalize-definition)
(case-lambda
[(stx lambda-stx check-context? allow-key+opt?)
(let-values ([(id mk-rhs body)
(normalize-definition/mk-rhs stx lambda-stx
check-context? allow-key+opt? #t)])
(values id (mk-rhs body)))]
[(stx lambda-stx check-context?) (normalize-definition stx lambda-stx
check-context? #f)]
[(stx lambda-stx) (normalize-definition stx lambda-stx #t #f)])))
In the two last cases of the case-lambda there is a call to
normalize-definition. It is not a recursive call, since define-values
cannot be used recursively. I cannot find any other normalize-definition in
the modules required by the norm-define module.
If I try to enter a copy of the definition (renamed to
normalize-definition1) I get (as expected) that normalize-definition1 is
undefined.
What is going on?
Thanks
Dan
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/ce5ce36e-03ee-44b1-a5ae-4f5a6e7b9d1en%40googlegroups.com.