My dream would be to write the high-level thing *and* some high-level, composable specification of my performance requirements.  If the compiler can't meet the requirements, then it tells me so, together with helpful information about what broke down.  Using the error message, I then add some annotations and/or tweak my code and try again.  Just like static type-checking.

  - Conal

On Fri, May 16, 2008 at 12:04 PM, Don Stewart <dons@galois.com> wrote:
[...]
And the point is that it is *reliable*. If you make your money day in, day out
writing Haskell, and you don't want to rely on radical transformations for
correctness, this is a sensible idiom to follow.