People must see haskell-perf/sequences adding DList, Acc & snoc into comparison

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SaaSHub - Software Alternatives and Reviews
  • sequences

    Benchmarks for sequence data structures: lists, vectors, etc.

    As !! is used very rarely (& in lot of cases algorithm can be re-thought to other way). Comparing to cons,snoc,<>, which are used more frequently then fold*,traverse - which are used more frequently than !! - I agree that the lack of built-in !! is not hat big of a deal for me, in the end I can add indexDList = fromList $ (toList x) !! i into Utils if I ever need one (because I would still save a lot of computations on cons,snoc,<> phases & would wait on https://github.com/haskell-perf/sequences/issues/26 results.

  • dlist

    Difference lists in Haskell

    To be sure I additionally checked with spl (DList author) in: https://github.com/spl/dlist/issues/102 & chrisdone of course holds the benchmarking repository.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • I had a play around a while ago with a very similar idea, using a fold over a slice as the container https://gitlab.com/transportengineering/vector-odd/-/blob/master/src/Data/Vector/Odd/Slice.hs . The idea was it would keep track of the number of indirections and re-optimise (i.e. write all the elements to a vector, and then turn the CPS function into a fold over that) automatically. It would probably work better if it were actually integrated in the GC or something so it would transparently "optimise". There were some basic benchmarks that I can't remember the results for :).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts