The following code (full code available here[1], example taken from comments here[2]),

const' = \a _ -> a

test1 c = let a = const' (nthPrime 100000)
          in (a c, a c)

test2 c = let a = \_ -> (nthPrime 100000)
          in (a c, a c)

 in a ghci session (with :set +s):

*Primes> test1 1
(9592,9592)
(0.89 secs, 106657468 bytes)
*Primes> test2 1
(9592,9592)
(1.80 secs, 213077068 bytes)

test1, although denotationally equivalent to test2 runs about twice as fast.

My questions are:
Thanks,

David

[1] http://hpaste.org/40033/operational_semantics
[2] http://conal.net/blog/posts/lazier-functional-programming-part-2/

--
David Sankel
Sankel Software
www.sankelsoftware.com