On Mon, 2007-07-16 at 11:53 +0100, Sebastian Sylvan wrote: > On 16/07/07, Bulat Ziganshin <[EMAIL PROTECTED]> wrote: > > Hello Sebastian, > > > > Sunday, July 15, 2007, 9:05:14 PM, you wrote: > > > > > As we've demonstrated there's nothing stopping you from writing > > > imperative "C-like" algorithms in Haskell (just like C#), and there > > > certainly wasn't any major performance difference > > > > as Donald mentioned, this test is just limited by cache speed, not by > > speed of code generated. > > But wouldn't you say that in general, if you spend the effort you can > write low-level imperative algorithms in Haskell that perform > reasonably well? Especially compared to e.g. C#? I think your own > libraries demonstrate this! > > I'm not saying it's as convenient (see the recent thread about "monad > splices") to write low-level imperative code in Haskell, but using > laziness in C# was hardly a walk on the beach either! > So my point is that Haskell isn't geared towards low-level > optimizations and performance, but in the few places where you do need > it, you *can* get it (IMO for only moderately more inconvenience than > you pay for *everything* in a low-level imperative language). Whereas > C# is a bit the other way around (easy to modify state, inconvenient > to write high-level/lazy/concurrent/etc. code), though something like > C is even more the other way around. >
Ah, the secret of Haskell is to make low-level-looking code run slower than high level code so that people write high-level code. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe