
3 Jun
2016
3 Jun
'16
12:44 p.m.
I'd like to be sure when one defines a type with "type", it truly merely creates a synonym, and no matter what one could replace the left side by the right side in the whole program, and vice versa, and it wouldn't change a thing in the actual meaning, value of the program. Eg if i define: type In2 t = t -> t -> t I can thereafter replace for any type t, any signature like f :: t -> t -> t with f :: In2 t then strictly no consequence other than visual in the source code, by me, will occur. Thanks!