On Tue, Apr 28, 2009 at 4:09 PM, Vasili I. Galchin <span dir="ltr">&lt;<a href="mailto:vigalchin@gmail.com">vigalchin@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>     Is there anyway when defining a dat type record struct to indicate default values for some of the </blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
fields?</blockquote><div><br>The usual pattern is to use a default record, and specialize it:<br><br>data Foo = Foo { bar :: Int, baz :: Int, quux :: Int }<br><br>fooDefault = Foo { bar = 1, baz = 2, quux = 3 }<br><br>newRecord = fooDefault { quux = 42 }<br>
<br>If you only want some of the fields to be defaulted, you can make them undefined in the default record... unfortunately this won&#39;t be checked by the compiler.<br><br>Luke</div></div><br>