Int is the right type to be able to do efficient internal operations when implementing length and replicate. It's unlikely that someone would want to run these operations on another type internally than Int. Some times people propose types like these where they imagine just a built-in use of fromIntegral on either the initial argument or the result, but that really quite unnecessary. Could you elaborate on what cases you had in mind?

While genericLength exists, I have yet to see a good use of it.

Best regards,
Eric Mertens
glguy

On Tue, Nov 13, 2018 at 5:34 PM Alexandre Rodrigues <alexandreR_B@outlook.com> wrote:

:+1: from me.

 


From: Libraries <libraries-bounces@haskell.org> on behalf of Vanessa McHale <vanessa.mchale@iohk.io>
Sent: Wednesday, November 14, 2018 1:18:58 AM
To: Haskell Libraries
Subject: Generalizing some type signatures involving Int
 
Would it be possible to generalize replicate and length to have type
signatures

replicate :: Integral a => a -> b -> [b]

and

length :: (Integral a, Foldable t) => t b -> a

?

There have been a few instances where such a thing would have been
useful to me.

Cheers


_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries


--
Eric Mertens