This is perhaps not the right place, but if there are benchmarks proving that genericLength is slower than it should be, it should be easy to add a SPECIALIZE pragma.
On 11/13/18 9:13 PM, David Feuer wrote:
genericLength is extremely inefficient for typical numeric types. Int is a rather sad type for these things; it really should be Word. But that may not be worth fixing.
On Tue, Nov 13, 2018, 9:51 PM Evan Laforge <qdunkan@gmail.com wrote:
You can already get these as Data.List.genericLength and
Data.List.genericReplicate
As for changing the prelude ones, this would probably cause a lot of
busywork. Where I work we compile with -Werror and -Wtype-defaults,
so a lot of places might have to get type annotations.
On Tue, Nov 13, 2018 at 5:19 PM Vanessa McHale <vanessa.mchale@iohk.io> wrote:
>
> 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
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries