3 ms·
I think the main issues are that lazy evaluation makes it more difficult to reason about the performance of your code, both in terms of what actually gets compu
by Niten 16y ago
I think the main issues are that lazy evaluation makes it more difficult to reason about the performance of your code, both in terms of what actually gets computed in which thread / on which core, and in terms of space requirements (lazy evaluation can force the runtime to keep things referenced longer than you might expect offhand). I'm not saying a good Haskell programmer can't overcome these obstacles, just that this is definitely a perceived barrier to commercial Haskell development.
Check out this paper for a discussion of these issues in a real world Haskell application:
http://www.starling-software.com/misc/icfp-2009-cjs.pdf http://www.starling-software.com/misc/icfp-2009-cjs.pdf