compdata VS lens-sop

Compare compdata vs lens-sop and see what are their differences.


Haskell library implementing "Data Types a la Carte" (by pa-ba)


Computing lenses generically using generics-sop (by well-typed)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
compdata lens-sop
1 -
89 15
- -
4.8 1.2
6 months ago 9 months ago
Haskell Haskell
BSD 3-clause "New" or "Revised" License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of compdata. We have used some of these posts to build our list of alternatives and similar projects.
  • Most Influential Functional Pearls since 2000?
    1 project | /r/haskell | 6 Mar 2023
    There is a quite comprehensive implementation of these ideas in compdata. Even if I don't use it (the paper or the library) directly, it builds on a quite natural idea (data types are initial algebras of functors, and functors compose) so it's nice to have a catchy name for it, "à la carte". A couple of papers have borrowed that phrase in their title as an allusion to that pearl.


Posts with mentions or reviews of lens-sop. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning lens-sop yet.
Tracking mentions began in Dec 2020.

What are some alternatives?

When comparing compdata and lens-sop you can also consider the following projects:

compdata-param - Haskell library implementing parametric compositional data types.

generics-sop - Generic Programming using True Sums of Products

compdata-dags - Compositional Data Types on DAGs

generic-random - Generic random generators

compdata-fixplate - Compdata basics implemented on top of Fixplate

emgm - Extensible and Modular Generics for the Masses

generics-eot - A library for generic programming that aims to be easy to understand

generic-records - Generically derive traversals, lenses, and prisms.

Capabilities - A Haskell library providing separation of effects on the type level, effectively splitting up the monolithic IO-monad into more limited capabilities.

genifunctors - Generate generalized fmap, foldMap and traverse

json-sop - Generic JSON (de)serialization using generics-sop