Thanks, Minh. So are things like recursion and memory sharing typically out the window?<br>

<br>

Also, I don't see how thinking about type classes will help, without the benefits of polymorphism.<br>
<br>

-Chad<br><br>---------- Forwarded message ----------<br><span class="gmail_quote">From: <b class="gmail_sendername">minh thu</b> &lt;<a href="mailto:noteed@gmail.com">noteed@gmail.com</a>&gt;<br>Date: Jun 12, 2006 12:23 PM
<br>Subject: Re: [Haskell-cafe] Learning C after Haskell<br>To: Chad Scherrer &lt;<a href="mailto:chad.scherrer@gmail.com">chad.scherrer@gmail.com</a>&gt;<br><br></span>hi,<br><br>C is very different from Haskell.<br>* you'lle have to manage explicitly memory de/allocation.
<br>* c programming is a bit like haskell io monad programming (but<br>without the functionnal part) :<br>&nbsp;&nbsp;you'lle use &quot;=&quot; in place of &quot;&lt;-&quot; and the left hand side can be<br>reassigned multiple times.
<br>* imperative programming (c is imperative) involve states (a lot !).<br>&nbsp;&nbsp;(see how to write the equivalent of mapM print [1..10]);<br>&nbsp;&nbsp;imperative programmers use loops, not much recursion<br><br>* things you can keep in your mind : the way you organize things
<br>(module, type classes (but there is no polymorphism in c), have<br>functions and not a huge amount of code lines...), the way you use<br>self documenting names.<br><br>well, not sure it helps, but here you are :)<br>mt
<br><br><br>2006/6/12, Chad Scherrer &lt;<a href="mailto:chad.scherrer@gmail.com">chad.scherrer@gmail.com</a>&gt;:<br>&gt; Ok, so I'm doing things somewhat backward. I've been using Haskell for a<br>&gt; while now, whenever I get a chance to. But in order to become more involved
<br>&gt; in high-performance computing projects at my work, I need to learn C.<br>&gt;<br>&gt; I've heard a lot of people say that experience in Haskell can improve one's<br>&gt; abilities in other languages, but I also wonder how different the C &quot;way of
<br>&gt; doing things&quot; is different from Haskell's.<br>&gt;<br>&gt; My question is, as I learn C, are there any particular Haskell concepts I<br>&gt; should keep in the back of my mind, or is it better to approach C from
<br>&gt; scratch?<br>&gt;<br>&gt; Thanks in advance!<br>&gt;<br>&gt; Preparing for a foot-shooting,<br>&gt; Chad<br>&gt;<br>&gt; _______________________________________________<br>&gt; Haskell-Cafe mailing list<br>&gt; <a href="mailto:Haskell-Cafe@haskell.org">
Haskell-Cafe@haskell.org</a><br>&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>&gt;<br>&gt;<br>&gt;<br><br clear="all"><br>-- <br><br>Chad Scherrer
<br><br>&quot;Time flies like an arrow; fruit flies like a banana&quot; -- Groucho Marx