<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Oct 1, 2008 at 3:27 PM, Simon Brenner <span dir="ltr"><<a href="mailto:olsner@gmail.com">olsner@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On 10/1/08, John Van Enk <<a href="mailto:vanenkj@gmail.com">vanenkj@gmail.com</a>> wrote:<br>
> There's the well known "How to shoot your self in the foot" list which I<br>
> have it printed and taped on my desk at work.<br>
><br>
> <a href="http://www-users.cs.york.ac.uk/susan/joke/foot.htm" target="_blank">http://www-users.cs.york.ac.uk/susan/joke/foot.htm</a><br>
><br>
> I had a co-worker ask me how you'd shoot your self in the foot with<br>
> Haskell. Here's the best I could do:<br>
><br>
> "You shoot the gun, but the bullet gets trapped in the IO monad."<br>
<br>
</div>While compiling your program the compiler produces a type error long<br>
enough to overflow a kernel buffer, overwrite the trigger control<br>
register and shoot you in the foot.<br>
<br>
or<br>
<br>
After trying to decipher the type errors from the compiler, your head explodes.</blockquote><div><br>Or as GHC says:<br> My brain just exploded.<br><br>And of course it says that because:<br> I can't handle pattern bindings for existentially-quantified constructors.<br>
Instead, use a case-expression, or do-notation, to unpack the constructor.<br><br>But, telling people that part takes the fun out of :)<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
or<br>
<br>
After you've finally found a way to circumvent the type system and<br>
shoot yourself in the foot, Oleg appears out of nothing and shoots you<br>
in the foot for coming up with it before him.</blockquote><div><br>Heh. Nice. Oleg has earned himself the Haskell equivalent of a Chuck Norris reputation. Except that Oleg has really earned the respect he gets from our teasing. BTW, is there an Oleg Facts website?<br>
<br>Jason<br></div></div><br></div>