<div dir="ltr">I hate to come across as a party-pooper, but do we really think it's realistic that any of these changes will be made? I understand that there may be benefits, but they don't outweigh the cost of breaking almost all existing code. The idea of opting in to this with pragmas just doesn't seem worth it, and further fragments the language, ultimately reducing readability when I pick up another author's code.<div><br></div><div><i>ocharles</i></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, Aug 8, 2015 at 7:29 PM Geraldus <<a href="mailto:heraldhoi@gmail.com">heraldhoi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">type -> alias<div>data -> data</div><div>newtype -> newalias or newdata?</div><div><br></div><div>`type` keyword was really confusing for me at the beginning, also this confusion brought another one about `newtype` keyword.</div></div><br><div class="gmail_quote"><div dir="ltr">сб, 8 авг. 2015 г. в 22:28, Hilco Wijbenga <<a href="mailto:hilco.wijbenga@gmail.com" target="_blank">hilco.wijbenga@gmail.com</a>>:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 8 August 2015 at 08:03, Daniel Trstenjak <<a href="mailto:daniel.trstenjak@gmail.com" target="_blank">daniel.trstenjak@gmail.com</a>> wrote:<br>
>> type Name = String<br>
>> data Date = Date Int Int Int<br>
><br>
> if we're at it ;), then please change it to:<br>
><br>
>    alias Name = String<br>
>    type Date = Date Int Int Int<br>
<br>
I wholeheartedly agree with replacing the current "type" with "alias",<br>
the current "type" is just flat out wrong: it does *not* create a<br>
type. This should be very simple to do too: introduce "alias" as a new<br>
keyword and deprecate "type". No existing code would be affected.<br>
<br>
I'm on the fence about "type" instead of "data", though. "data"<br>
clearly conveys the meaning that we are talking about data only, not<br>
functions on that data (as in OOP). (Well, data constructors are<br>
functions too.) Then again, as soon as you add "deriving", you *are*<br>
defining functions on that data.<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div>