| Copyright | (c) Fumiaki Kinoshita 2018 | 
|---|---|
| License | BSD3 | 
| Maintainer | Fumiaki Kinoshita <fumiexcel@gmail.com> | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Data.Extensible.Nullable
Description
Synopsis
- vacancy :: Generate xs => xs :& Nullable h
 - coinclusion :: (Include ys xs, Generate ys) => ys :& Nullable (Membership xs)
 - wrench :: (Generate ys, xs ⊆ ys) => (xs :& h) -> ys :& Nullable h
 - retrench :: (Generate ys, xs ⊆ ys) => (ys :/ h) -> Nullable ((:/) xs) h
 - newtype Nullable h x = Nullable {
- getNullable :: Maybe (h x)
 
 - mapNullable :: (g x -> h y) -> Nullable g x -> Nullable h y
 - fromNullable :: h x -> Nullable h x -> h x
 
Documentation
coinclusion :: (Include ys xs, Generate ys) => ys :& Nullable (Membership xs) Source #
The inverse of inclusion.
wrench :: (Generate ys, xs ⊆ ys) => (xs :& h) -> ys :& Nullable h Source #
Extend a product and fill missing fields by Null.
retrench :: (Generate ys, xs ⊆ ys) => (ys :/ h) -> Nullable ((:/) xs) h Source #
Narrow the range of the sum, if possible.
Wrapped Maybe
Constructors
| Nullable | |
Fields 
  | |
Instances
mapNullable :: (g x -> h y) -> Nullable g x -> Nullable h y Source #
Apply a function to its content.