The flexible-defaults package

[Tags: library, public-domain]

Template Haskell code to implement default implementations for type-class functions based on which functions are already implemented. Currently extremely crude but still fairly effective.

When defining a type class with many functions, each of which can be implemented based on arbitrary subsets of the others, the standard default-implementation concept breaks down quite badly. This library provides a system by which more complex rules can be described for choosing default implementations based on which ones the user supplies. These implementations can additionally be given "suitability scores", so that when multiple possible choices could be made, the library can choose the "best" one.

Changes in 0.0.1.0: Updated for Template Haskell changes in GHC 7.6

Changes in v0.0.0.3: Added a hack to fix under GHC 7.2.

Changes in v0.0.0.2: Nothing at all except setting 'buildable: False' under GHC 7.2.1.


Properties

Versions0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.1.0, 0.0.1.1
Dependenciesbase (>=3 && <5), containers, template-haskell, th-extras, transformers
LicensePublicDomain
AuthorJames Cook <mokus@deepbondi.net>
MaintainerJames Cook <mokus@deepbondi.net>
Stabilityprovisional
CategoryCode Generation, Template Haskell
Home pagehttps://github.com/mokus0/flexible-defaults
Source repositoryhead: git clone https://github.com/mokus0/flexible-defaults.git
Upload dateSun Sep 9 16:49:50 UTC 2012
Uploaded byJamesCook
DistributionsNixOS:0.0.1.1
Downloads2317 total (235 in last 30 days)

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees