[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>  
wrote:

> 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"
   "OK"


Regards,
Henk-Jan van Tuyl


-- 
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--



More information about the Beginners mailing list