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