is shadowing allowed in CoreSyn?
Adam Megacz
megacz at cs.berkeley.edu
Mon Feb 14 15:13:25 CET 2011
Thank you (and Dimitrios) once again for so patiently answering my
System FC (and CoreSyn) questions!
http://www.cs.berkeley.edu/~megacz/garrows/ghc.-ddump-proofs.pdf
Hopefully this will soon lead to something more useful than gigantic,
illegible proof-tree printouts. :)
One last clarification:
Simon Peyton-Jones <simonpj at microsoft.com> writes:
> | If it is okay, I assume it creates a situation where you may shadow, but
> | only if the variables have the same type. In other words, you can't
> | represent this term without doing some \alpha-renaming:
> |
> | \lambda x:Int . \lambda x:Char . e
>
> Yes, that's fine too. You can shadow without using the same type.
Hrm, doesn't each "Var" know its own type (via Var.varType, a field of
the Id alternative)? How could I use the same Var twice at different
types? Or did you mean that OccName-shadowing is allowed, but
Var-shadowing is not?
- a
More information about the Cvs-ghc
mailing list