[Haskell-cafe] Incredibly slow type-level Nub

Dmitry Olshansky olshanskydr at gmail.com
Mon Feb 8 10:21:34 UTC 2016


Hello,

I wonder if singletons <https://hackage.haskell.org/package/singletons> library
doesn't satisfy your requrements? Did you look at this opportunity? Here
<https://hackage.haskell.org/package/singletons-2.0.1/docs/Data-Promotion-Prelude-List.html#t:Nub>
is
a Nub implementation.

I am particulary interested in this because I am checking now this library
for usung it in my project. Had you some reasons to refuse it?

Best regards,
Dmitry

2016-02-07 16:37 GMT+03:00 Nickolay Kudasov <nickolay.kudasov at gmail.com>:

> Dear Cafe,
>
> I have faced a type-level performance problem (with GHC 7.10.3).
> I am trying to implement type-level Nub which removes duplicates from a
> type-level list.
>
> My implementation [1] with an example of a list of length 20 takes forever
> to compile. If you reduce the size of the example list (e.g. to 15 items),
> it will compile faster. Also, if you remove the Nub application from
> exampleVals, it compiles instantly (this is how I know the problem is in
> Nub).
>
> My question is how can I speed up type-level Nub?
> And less importantly why exactly is it this slow?
>
> The practical application for this is building automatic tests [2] for
> servant-swagger. There I am interested in generating exactly one test for
> each distinct type.
>
> Kind regards,
> Nick
>
> [1] https://gist.github.com/fizruk/06458fe8b62a1e562af1
> [2]
> http://hackage.haskell.org/package/servant-swagger-1.0.2/docs/Servant-Swagger-Test.html
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160208/a4996f8d/attachment.html>


More information about the Haskell-Cafe mailing list