<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">This Joni Mitchell lyric just popped into my head:<br><br>"I've looked at clouds from both sides now<br>From up and down, and still somehow<br>It's cloud illusions I recall<br>I really don't know clouds at all"<br><br>A LOT of cool stuff here, but the learning curve is murder.<br><br>Michael<br><br><br><br>--- On <b>Sat, 7/31/10, Ivan Lazar Miljenovic <i><ivan.miljenovic@gmail.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Ivan Lazar Miljenovic <ivan.miljenovic@gmail.com><br>Subject: Re: [Haskell-cafe] Constructor question<br>To: "michael rice" <nowgate@yahoo.com><br>Cc: haskell-cafe@haskell.org<br>Date: Saturday, July 31, 2010, 9:32 AM<br><br><div class="plainMail">michael rice <<a ymailto="mailto:nowgate@yahoo.com"
href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>> writes:<br><br>> From: Data.Complex<br>><br>> data (RealFloat a) => Complex a<br>> = !a :+ !a<br>><br>> What's the purpose of the exclamation marks?<br><br>Forcing; it means that the values are evaluated (up to WHNF) before the<br>Complex value is constructed:<br><br><a href="http://www.haskell.org/ghc/docs/6.12.1/html/users_guide/bang-patterns.html" target="_blank">http://www.haskell.org/ghc/docs/6.12.1/html/users_guide/bang-patterns.html</a><br><br>-- <br>Ivan Lazar Miljenovic<br><a ymailto="mailto:Ivan.Miljenovic@gmail.com" href="/mc/compose?to=Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>IvanMiljenovic.wordpress.com<br></div></blockquote></td></tr></table><br>