generic-maybe: A generic version of Data.Maybe

[ bsd3, generics, library ] [ Propose Tags ]

This module is a drop in replacement for Data.Maybe. It generalizes the functions to any types that share the same "sum of products" view of Maybe.

To use the module for your type, enable GHC's DeriveGeneric extension and derive a Generic instance for your type.

import GHC.Generics

data Result a = Success a | Fail
   deriving (Show, Generic)

After which you can use the functions, like your type was Data.Maybe.Maybe

> fromMaybe 'a' Fail
'a'
> fromMaybe 'a' $ Success 'b'
'b'
Versions 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.2.0.0, 0.2.1.0, 0.3.0.0, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.3.0.4
Dependencies base (>=4.5 && <4.8), ghc-prim [details]
License BSD-3-Clause
Author Jonathan Fischoff
Maintainer jonathangfischoff@gmail.com
Category Generics
Home page https://github.com/jfischoff/generic-maybe
Uploaded by JonathanFischoff at Thu Feb 13 17:01:55 UTC 2014
Distributions NixOS:0.3.0.4
Downloads 3654 total (158 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
test-doctestsEnabledManual
test-hlintEnabledManual

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees