[Haskell-cafe] is value evaluated?
dons at galois.com
Fri May 8 18:14:12 EDT 2009
Andy Gill has been advocating programmatic access to the 'is evaluated'
status bit for years now. 'seq' becomes cheaper, and we can write
operational properties/assertions about strictness.
> Nikhil Patil wrote:
> > Hi,
> > I am curious to know if there is a function in Haskell to find if a
> > value has already been evaluated. The function I need would have the type:
> >> (?!) :: a -> Bool
> I will call this function `evaluated', since it is not a binary operator.
> The existence of such a function would violate referential transparency.
> What would the value of
> ( evaluated (fibs !! 100), evaluated (fibs !! 100) )
> be ? Suppose that I first print the `fst' of this tuple, then print the
> 101st Fibonacci nummber, and then print the `snd' of this tuple. By lazy
> evaluation, one would expect that this yields
> <the 101st Fibonacci number>
> but this violates referential transparency.
> Jochem Berndsen | jochem at functor.nl
> GPG: 0xE6FABFAB
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe