[Haskell-cafe] "show" for functional types

Greg Buchholz haskell at sleepingsquirrel.org
Fri Mar 31 21:41:36 EST 2006


Neil Mitchell wrote:
> Now lets define "super show" which takes a function, and prints its
> code behind it, so:
> 
> superShow f = "not"
> superShow g = "\x -> case ..."
> 
> now superShow f /= superShow g, so they are no longer referentially transparent.

    OK.  I'm probably being really dense today, but where did "g" come
from?  Is this is the internal definition of "not"?  And does this loss
of referential transparency contaminate the rest of the language, or is
this superShow just an anomaly?

Thanks,
    
Greg Buchholz


More information about the Haskell-Cafe mailing list