[Haskell-cafe] Re: Article review: Category Theory

Lennart Augustsson lennart at augustsson.net
Fri Jan 19 22:44:53 EST 2007


No, making $! the primitive would not help.  You can define seq from $!.
I think seq is a "suitable" primitive, it's just that it ruins nice  
properties.

The original formulation of seq in Haskell was the right one in my  
opinion:
class Eval where
     seq :: a -> b -> b
This way you get a context on anything that uses seq and you can tell
that there is some funny business going on.

	-- Lennart

On Jan 19, 2007, at 13:07 , Brian Hulley wrote:

> Lennart Augustsson wrote:
>
>> On Jan 19, 2007, at 08:05 , apfelmus at quantentunnel.de wrote:
>>> Thus, Hask is not a category, at least not as defined in the  
>>> article.
>>> The problem is that (either) morphisms or the morphism composition
>>> ('.')
>>> are not internalized correctly in Haskell.
>
>>
>> And this is why some of us think that adding polymorphic seq to
>> Haskell was a mistake. :(
>
> I've often wondered why seq is the primitive and not $!
> Would this solve the problem?
> Is there any solution that would allow excess laziness to be  
> removed from a Haskell program such that Hask would be a category?
>
> Thanks, Brian.
> -- 
> http://www.metamilk.com



More information about the Haskell-Cafe mailing list