I started using Python around 1998, and I loved the elegance of it, but I was frustrated with the performance. Around 2001 I was poking around for something that would give me better performance but still allow some nice capabilities for abstraction. 
<br><br>I started using OCaml after reading a commentary from one of the Shootout guys that he had been impressed with it. I loved the performance and the parametrized modules, but the lack of overloading was frustrating. Once I was looking for a nice rule of thumb for when to use foldl vs. foldr, and was disappointed to hear &quot;Just use foldl - it&#39;s tail recursive.&quot; Maybe there&#39;s a place for folding right in a strict language, but I haven&#39;t seen it.
<br clear="all"><br>Once I was deep into OCaml, Haskell kept coming up, since so many people using OCaml also like Haskell. Seeing some elegance in &quot;A Gentle Introduction to Haskell&quot; and not immediately understanding it got me hooked right away. And there&#39;s a time to fold right!
<br><br>Chad<br>