The latest version of ruin is 0.1.0.1-0.

ruin

Version 0.1.0.0 revision 0 uploaded by NicolasFrisby.

Package meta

Synopsis
Pliable records
Description

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 #x is a first-class label for the field named x.

  • Provides GHC.Generics defaults.

  • 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.R provides anonymous record types where the order of fields is irrelevant.

See the Data.Ruin module for an overview.

Author
Nicolas Frisby
Bug reports
n/a
Category
Data, Records
Copyright
2016 Nicolas Frisby
Homepage
n/a
Maintainer
nicolas.frisby@gmail.com
Package URL
n/a
Stability
n/a

Components