[Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-23 Thread Simon Marlow
On 19/11/09 12:17, Simon Marlow wrote: Ok, unless there are any further objections, I'll change the names back to class NFData a where rnf :: a - () and also add deepseq :: a - b - b but I'll leave the module name as Control.DeepSeq. I made this change and uploaded deepseq-1.1.0.0 on

Re: [Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-19 Thread Simon Marlow
On 18/11/2009 04:05, Malcolm Wallace wrote: The documentation claim that The default implementation of 'deepseq' is simply 'seq' is not exactly right, as `deepseq` and `seq` have different signatures. Yes indeed. In order to use deepseq, it looks like I also need some way to force the ()

[Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-19 Thread Simon Marlow
On 19/11/2009 11:52, Sittampalam, Ganesh wrote: Yitzchak Gale wrote: Simon Marlow wrote: So then what shall we call the a - () version? One possibility is to go back to calling it rnf. In light of apfelmus' comment, I vote for rnf. And in that case, how about the analogous alternative for

[Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-18 Thread Simon Marlow
On 18/11/2009 03:48, Dean Herington wrote: At 11:00 AM + 11/17/09, Simon Marlow wrote: I've just uploaded deepseq-1.0.0.0 to Hackage http://hackage.haskell.org/package/deepseq This provides a DeepSeq class with a deepseq method, equivalent to the existing NFData/rnf in the parallel

Re: [Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-18 Thread Bulat Ziganshin
Hello Simon, Wednesday, November 18, 2009, 12:17:31 PM, you wrote: You could argue that (a - b - b) is doing more than (a - ()), if i correctly understand, we have two versions: 1) easier to use 2) more efficient and one of them may be defined via another? how about providing both versions,

[Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-18 Thread Heinrich Apfelmus
Simon Marlow wrote: I've just uploaded deepseq-1.0.0.0 to Hackage http://hackage.haskell.org/package/deepseq This provides a DeepSeq class with a deepseq method, equivalent to the existing NFData/rnf in the parallel package. I'll be using this in a newly revamped parallel package,

Re: [Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-18 Thread Duncan Coutts
On Wed, 2009-11-18 at 09:17 +, Simon Marlow wrote: So the main difference is that with the current formulation of deepseq, you need to explicitly force the result in order to use it, either with a pattern match, another seq, or a pseq. If we used (a - b - b) then the top-level forcing

[Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-17 Thread Duncan Coutts
On Tue, 2009-11-17 at 11:00 +, Simon Marlow wrote: I've just uploaded deepseq-1.0.0.0 to Hackage http://hackage.haskell.org/package/deepseq This provides a DeepSeq class with a deepseq method, equivalent to the existing NFData/rnf in the parallel package. I'll be using this in a

[Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-17 Thread Dean Herington
At 11:00 AM + 11/17/09, Simon Marlow wrote: I've just uploaded deepseq-1.0.0.0 to Hackage http://hackage.haskell.org/package/deepseq This provides a DeepSeq class with a deepseq method, equivalent to the existing NFData/rnf in the parallel package. I'll be using this in a newly

Re: [Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-17 Thread Luke Palmer
On Tue, Nov 17, 2009 at 8:48 PM, Dean Herington heringtonla...@mindspring.com wrote: The documentation claim that The default implementation of 'deepseq' is simply 'seq' is not exactly right, as `deepseq` and `seq` have different signatures.  Which raises the more interesting question: Why did

Re: [Haskell-cafe] Re: ANNOUNCE: deepseq-1.0.0.0

2009-11-17 Thread Malcolm Wallace
The documentation claim that The default implementation of 'deepseq' is simply 'seq' is not exactly right, as `deepseq` and `seq` have different signatures. Yes indeed. In order to use deepseq, it looks like I also need some way to force the () return value, e.g. let res = deepseq