<div dir="ltr"><p>Anybody who comes acros "data _ = _" and feels entitled to understand it 
      before looking up the data keyword is being too lazy.     </p></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 19, 2015 at 1:09 AM, Alexey Muranov <span dir="ltr"><<a href="mailto:alexey.muranov@gmail.com" target="_blank">alexey.muranov@gmail.com</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 18 août 2015, at 08:16, Richard A. O'Keefe <<a href="mailto:ok@cs.otago.ac.nz">ok@cs.otago.ac.nz</a>> wrote:<br>
<br>
> If you want to argue about the grammar of 'data' declarations,<br>
> go right ahead.  I myself was a little confused by them at<br>
> the beginning, because the declare a new type and some<br>
> constructors, but do not declare 'data' in the sense that a<br>
> DATA statement in BASIC or Fortran or the DATA DIVISION in<br>
> COBOL does.  The word 'data' is so very far from conveying<br>
> the idea "introduce a new type" that it's not funny.<br>
<br>
</span>Ok, then, just hypothetically (i do not want to argue about actually introducing it), how about<br>
<br>
    type Name = String<br>
<span class="">    type Date ::= Date Int Int Int<br>
</span>    type Anniversary ::= Birthday Name Date | Wedding Name Name Date<br>
<br>
instead of<br>
<span class=""><br>
    type Name = String<br>
    data Date = Date Int Int Int<br>
</span><span class="">    data Anniversary = Birthday Name Date | Wedding Name Name Date<br>
<br>
</span>?<br>
<span class="HOEnZb"><font color="#888888"><br>
Alexey.<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://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>
</div></div></blockquote></div><br></div>