[Haskell-beginners] Seq question

Henk-Jan van Tuyl hjgtuyl at chello.nl
Thu Apr 19 11:31:13 CEST 2012

On Wed, 18 Apr 2012 16:45:05 +0200, Brent Yorgey <byorgey at seas.upenn.edu>  

> On Tue, Apr 17, 2012 at 02:41:15PM -0700, Tim Perry wrote:
>> seq evaluates to Weak Head Normal Form (WHNF). WHNF is the first
>> contructor. So your use of seq only evaluates the first number and the
>> cons. I.E., it evaluates to:
>> s:(Thunk)
> Actually, it doesn't even force the first number.  You just get
> Thunk : Thunk

A nice way to demonstrate this, is the following GHCi session:
   Prelude> undefined `seq` print "OK"
   *** Exception: Prelude.undefined
   Prelude> [undefined] `seq` print "OK"

Henk-Jan van Tuyl

Haskell programming

More information about the Beginners mailing list