Change return type for Int64# and Word64# comparisons?
Jan Stolarek
jan.stolarek at p.lodz.pl
Thu Aug 15 17:47:08 CEST 2013
> for me personally Bool would be even better
To get a Bool you can use wrappers defined in the same module, e.g.:
geInt64# :: Int64# -> Int64# -> Bool
geInt64# a b = tagToEnum# (int64ToInt# (geInt64## a b))
Looking at the implementation of this wrapper I think Luite has a point - to get a Bool it has to be caste to a machine supported Int#. So I think that it would make sense to have these primops retunr Int# instead of Int64#, but I'd like to hear what others have to say.
Janek
----- Oryginalna wiadomość -----
Od: "Luite Stegeman" <stegeman at gmail.com>
Do: "ghc-devs" <ghc-devs at haskell.org>
Wysłane: czwartek, 15 sierpień 2013 16:36:59
Temat: Change return type for Int64# and Word64# comparisons?
Hi all,
With the recent change of comparison primops to return Int# instead of Bool, the 64 bit operations were also changed, to return Int64# or Word64#:
https://github.com/jstolarek/packages-ghc-prim/commit/07920f03d76dbaec64e3829404d332af22d744fe
It seems a bit wasteful to me to return a value bigger than a machine word for just a boolean. Changing the type to Int# would make the same optimizations possible as for the native-sized primops (though since they map to JavaScript bools in GHCJS).
thoughts?
luite
_______________________________________________
ghc-devs mailing list
ghc-devs at haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs
More information about the ghc-devs
mailing list