Benjamin Franksen wrote:

 | > I think hiding the fact that certain objects are not
 | > constants but functions is a bad idea, because it will break
 | > sharing in a lazy implementation.
 |
 | You probably mean the case where the implicit parameter
 | is the only one. I don't see why that would "break
 | sharing in a lazy implementation". The compiler is fully
 | aware of the complete type of all functions and can use
 | sharing whenever appropriate.

Maybe you misunderstood me. What about:

  x :: Int
  x = expensive ?foo

The type of x makes it look like a value that can be shared.
But really it cannot since it depends on ?foo. How can a
compiler share different uses of x?

/Koen
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to