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