> > There shouldn't be any difference, as far as I can tell.  
> The two types
> > have the same representation.  But strange things do happen.  If you
> > have an example where it makes a difference, we can take a look.
> 
> If I can manage to get a small example, I'll let you know 
> (adds this to
> his list of things to get small examples of).
> 
> Also, I'm curious about something.  You obviously can't do:
> 
>   5.0# < 6.0#
> 
> because they aren't instances of Ord (they can't be, as the 
> have the wrong kind).

But you can do
        
        5.0# `ltFloat#` 6.0#

(where ltFloat# :: Float# -> Float# -> Bool)

>  Yet somehow:
> 
>   data Log = Log Float# deriving (Eq, Ord)

I believe the deriving mechanism knows how to do comparisons for the
various primitive types.  You can check that the code being generated
looks reasonable by dumping out the intermediate code (-ddump-simpl is a
good choice).

Cheers,
        Simon




_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to