Proposal: add `Proxy`fied versions of `bitSizeMaybe` and `finiteBitSize`

Ryan Scott ryan.gl.scott at gmail.com
Thu Dec 14 13:15:02 UTC 2017


I don't have a particular opinion on this proposal, but I did want to
chime in to note that there are several other functions in base
besides biteSizeMaybe, finiteBitSize, sizeOf, and alignment that take
a dummy argument. The last time I checked, all of these functions also
fit the bill [1]:

* Data.Bits.isSigned :: Bits a => a -> Bool
* Data.Data.dataTypeOf :: Data a => a -> DataType
* GHC.Generics.datatypeName :: Datatype d => t d f a -> String
* GHC.Generics.moduleName :: Datatype d => t d f a -> String
* GHC.Generics.isNewtype :: Datatype d => t d f a -> Bool
* GHC.Generics.packageName :: Datatype d => t d f a -> String
* GHC.Generics.conName :: Constructor c => t c f a -> String
* GHC.Generics.conFixity :: Constructor c => t c f a -> Fixity
* GHC.Generics.conIsRecord :: Constructor c => t c f a -> Bool
* GHC.Generics.selName :: Selector s => t s f a -> String
* GHC.Generics.selSourceUnpackedness :: Selector s => t s f a ->
SourceUnpackedness
* GHC.Generics.selSourceStrictness :: Selector s => t s f a -> SourceStrictness
* GHC.Generics.selDecidedStrictness :: Selector s => t s f a ->
DecidedStrictness
* Prelude.floatRadix :: RealFloat => a -> Integer
* Prelude.floatDigits :: RealFloat => a -> (Int, Int)
* Text.Printf :: PrintfArg a => a -> ModifierParser

Ryan S.
-----
[1] This list was taken from
http://hackage.haskell.org/package/proxied-0.3/docs/Data-Proxied.html


More information about the Libraries mailing list