@hackage ruin0.1.0.1
Pliable records
Categories
License
BSD-3-Clause
Maintainer
nicolas.frisby@gmail.com
Links
Versions
ruin is a DSL for working with record types. It focuses on
converting between conventionally-declared record types and
supporting named function arguments.
Uses
-XOverloadedLabels, so that#xis a first-class label for the field namedx.Provides
GHC.Genericsdefaults.Named arguments:
\[rna|x y z] -> (x,y,z)inhabits("x" :@ a,"y" :@ b,"z" :@ c) -> (a,b,c).Relies on
-XDuplicateRecordFields; the generic defaults only work if record selector names do not have distinguishing prefices.Custom type errors, such as
ruin: Could not find the field `x' in the type ...Data.Ruin.Rprovides anonymous record types where the order of fields is irrelevant.
See the Data.Ruin module for an overview.