Deprecating fromIntegral

Herbert Valerio Riedel hvr at gnu.org
Thu Aug 13 15:48:08 UTC 2020


Fwiw, this was proposed back then in 2014, you can find the libraries thread
and the patch over at

- https://mail.haskell.org/pipermail/libraries/2014-November/024383.html

- https://gitlab.haskell.org/ghc/ghc/-/issues/9816

respectively.

It might also be worth pointing out the function added to `base`
originated from my package `int-cast`

- https://hackage.haskell.org/package/int-cast-0.2.0.0/docs/Data-IntCast.html

which provides the means to have compile-time verified "safe" (and also
a slightly weaker lossless "iso"morphic) integer conversions without
requiring O(n^2) instances.

I typically use `int-cast` for critical code where I need more assurance
and want to prove that my integer conversions are safe.

-- hvr

Mikolaj Konarski <mikolaj at well-typed.com> writes:
> This doesn't work when the target type is, e.g., Double (Num, but not
> Integral), but thank you for the tip, I've already used it in my code
> to fail when wrapping, etc., would occur for integral types.
>
> On Thu, Aug 13, 2020 at 3:10 PM Andrew Lelechenko
> <andrew.lelechenko at gmail.com> wrote:
>>
>> > From: Edward Kmett <ekmett at gmail.com>
>> >
>> > fromIntegralMaybe :: (Integral a, Num b) => a -> Maybe b
>> > fromIntegralMaybe = fromIntegerMaybe . toInteger
>>
>> I’m late to the party, so might be missing something. Did someone already proposed using http://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Bits.html#v:toIntegralSized, which has a very similar signature?
>>
>> toIntegralSized :: (Integral a, Integral b, Bits a, Bits b) => a -> Maybe b
>>
>> No need for O(n^2) instances and it is already in `base`.
>>
>> Best regards,
>> Andrew
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20200813/514e08f1/attachment.sig>


More information about the Libraries mailing list