<div dir="ltr"><div>I agree with Stefan -- type synonyms are really useful in 
developing project by yourself (or a small team), where you are the one 
both using and generating the synonyms, and no-one else needs to care. 
Then, the simple Age = Int is still very meaningful for yourself in both 
documenting and directing the writing.<br><br></div>But in a public 
library, finding out that a type X is actually 'Either z' kind of blocks
 the way -- you don't know how to operate with X until you become to 
know what it really is.. And then you have to memorize this for the 
future to stay productive, which is not very easy if there are many 
libraries that you're using. (But on the other hand if X equals 
something else and more complex, that you don't know, then the synonym I
 think becomes more useful again.)</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 19, 2015 at 11:16 AM, Stefan Kersten <span dir="ltr"><<a href="mailto:sk@k-hornz.de" target="_blank">sk@k-hornz.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 19/01/2015 01:02, Christopher Done wrote:<br>
> I personally really dislike type synonyms, 9 times out of 10 I would<br>
> prefer to just read a full type than the obscured synonym which hides<br>
> useful structure from me.<br>
<br>
</span>i find type synonyms mostly useful during prototyping, i.e. when what I<br>
want is actually a newtype for safer interfaces but I don't want to<br>
bother with wrapping/unwrapping or figuring out how to derive instances;<br>
this is especially true for monad transformer stacks. later, after the<br>
code has settled a bit, it's straight forward, if tedious, to change the<br>
type to a newtype and fix the resulting type errors.<br>
<span class="HOEnZb"><font color="#888888"><br>
sk<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div></div>Carl Eyeinsky<br></div></div></div></div>
</div>