Re: Strict Haskell debate

2006-02-17 Thread Andy Gill
On Feb 17, 2006, at 3:30 PM, Ashley Yakeley wrote: Andy Gill wrote: I'd like to see a way of enforcing return strictness, that is where you have confidence that what a function is returning is fully evaluated. Imagine a function hstrict; hstrict :: a -> a Is this like deepseq, that st

Re: Strict Haskell debate

2006-02-17 Thread Ashley Yakeley
Andy Gill wrote: I'd like to see a way of enforcing return strictness, that is where you have confidence that what a function is returning is fully evaluated. Imagine a function hstrict; hstrict :: a -> a Is this like deepseq, that strictly evaluates internal structure using seq? With

Strict Haskell debate

2006-02-17 Thread Andy Gill
I'd like to see a way of enforcing return strictness, that is where you have confidence that what a function is returning is fully evaluated. Imagine a function hstrict; hstrict :: a -> a you can define hseq with this. hseq :: a -> b -> b hseq a b = hstrict a `seq` b and $!!. ($!!) :