anonymous-sums: Anonymous sum types

[ bsd3, data, library ] [ Propose Tags ]

Anonymous sum types. Like tuples, but for sum types rather than for product types. Or, like Either, but for more than two types.

[Skip to Readme]
Versions [RSS] [faq],,,
Change log ChangeLog
Dependencies base (>= && <5) [details]
License BSD-3-Clause
Author Omari Norman
Category Data
Home page
Source repo head: git clone
Uploaded by OmariNorman at 2014-02-24T01:46:04Z
Distributions NixOS:
Executables generate-sums
Downloads 3652 total (22 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]



Manual Flags

Automatic Flags

Build binary to generate program source


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees


Readme for anonymous-sums-

[back to package description]


Provides anonymous sum types for Haskell. Kind of like Either, but for multiple types rather than just two.

This is boring and tedious but sometimes I find it handy so I shuffled it off to this library so I wouldn't have to reimplement it each time. I'm sure it could be done better with Template Haskell or Scrap Your Boilerplate or some such thing...but this works, so here it is.

The module Data.Sums is generated by another program (I generate it manually and ship that; it's not generated at compile time.) You will find the source for that in generate-sums.hs.

I generated a maximum of 15 types because the Prelude includes 15-tuples, so that seemed as good a place to stop as any. In practice I have never needed more than four types.

Github homepage: