
Hi
Obviously when
Cost(Upgrade) > Cost(Optimisation)
for the customer. Those costs are
Cost(Upgrade) = Price of more memory or new PC which is fast enough.
Cost(Optimisation) = Hours_spent * Fee_per_Hour / N
You are talking closed source commercial software for the masses. I don't know anyone who distributes software like this written in Haskell (although I'm sure there might be one or two) Now imagine working for a single company, or for small volume software. You ask them to upgrade, they turn around and say "bye bye". Now imagine you are working for a company, and have to convince people to throw away C and move to Haskell. Haskell is too slow will often be an initial argument, if its in any way right, that will be enough. Now imagine you are writing an open source project. People will turn around and use a Haskell compiler written in C (Hugs) instead of one written in Haskell (GHC) because its 100 times faster to load the program. Imagine you are writing a version control client, people will complain because certain operations take 100's of years on their big Haskell repo. [I use Hugs, and complain that darcs on the Yhc repo sometimes goes into virtual non-termination - although I love both GHC and darcs at the same time] Speed is sometimes important. Let's not forget that and wheel out cost of hardware arguments. Thanks Neil