[Haskell-cafe] semantics of type synonym
Miguel Mitrofanov
miguelimo38 at yandex.ru
Tue Dec 29 09:57:08 EST 2009
pbrowne wrote:
> Hi,
> I am studying the underlying semantics behind Haskell and to what degree
> those semantics are actually implemented. I need to clarify what a *type
> synonym* actual means in relation to Haskell's logic (or formal
> semantics). I used the following type synonym:
>
> type Name = String
> getName(n) = n
>
> I checked the types with two tests:
> -- test 1
> :t "ww"
> "ww" :: [Char]
>
> -- test 2
> :t getName("ww")
> getName("ww") :: Name
>
> Obviously I get two different types.
Wrong. You get exactly the same type, it's just that GHCi detected that you have a fancy name for this type, so it gives you that name. It's not type system, it's just GHCi.
> In the case of the function Haskells type system seems to pick up enough
> information to determine that “ww” is a Name.
> But I am not sure what is happening with the literal "ww" in the first test.
>
>
> Pat
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
More information about the Haskell-Cafe
mailing list