base-4.7.0.0: Basic libraries

Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilitystable
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Maybe

Description

The Maybe type, and associated operations.

Synopsis

Documentation

data Maybe a Source

The Maybe type encapsulates an optional value. A value of type Maybe a either contains a value of type a (represented as Just a), or it is empty (represented as Nothing ). Using Maybe is a good way to deal with errors or exceptional cases without resorting to drastic measures such as error .

The Maybe type is also a monad. It is a simple kind of error monad, where all errors are represented by Nothing . A richer error monad can be built using the Either type.

Constructors

Just a

Instances

Eq a => Eq (Maybe a)
Data a => Data (Maybe a)
Ord a => Ord (Maybe a)
Read a => Read (Maybe a)
Show a => Show (Maybe a)
Monoid a => Monoid (Maybe a)

Lift a semigroup into Maybe forming a Monoid according to http://en.wikipedia.org/wiki/Monoid: "Any semigroup S may be turned into a monoid simply by adjoining an element e not in S and defining e*e = e and e*s = s = s*e for all s ∈ S." Since there is no "Semigroup" typeclass providing just mappend , we use Monoid instead.

Typeable (* -> *) Maybe
type Rep1 Maybe
type Rep (Maybe a)
type (==) (Maybe k) a b

maybe :: b -> (a -> b) -> Maybe a -> b Source

The maybe function takes a default value, a function, and a Maybe value. If the Maybe value is Nothing , the function returns the default value. Otherwise, it applies the function to the value inside the Just and returns the result.

isJust :: Maybe a -> Bool Source

The isJust function returns True iff its argument is of the form Just _.

isNothing :: Maybe a -> Bool Source

The isNothing function returns True iff its argument is Nothing .

fromJust :: Maybe a -> a Source

The fromJust function extracts the element out of a Just and throws an error if its argument is Nothing .

fromMaybe :: a -> Maybe a -> a Source

The fromMaybe function takes a default value and and Maybe value. If the Maybe is Nothing , it returns the default values; otherwise, it returns the value contained in the Maybe .

listToMaybe :: [a] -> Maybe a Source

The listToMaybe function returns Nothing on an empty list or Just a where a is the first element of the list.

maybeToList :: Maybe a -> [a] Source

The maybeToList function returns an empty list when given Nothing or a singleton list when not given Nothing .

catMaybes :: [Maybe a] -> [a] Source

The catMaybes function takes a list of Maybe s and returns a list of all the Just values.

mapMaybe :: (a -> Maybe b) -> [a] -> [b] Source

The mapMaybe function is a version of map which can throw out elements. In particular, the functional argument returns something of type Maybe b. If this is Nothing , no element is added on to the result list. If it just Just b, then b is included in the result list.

AltStyle によって変換されたページ (->オリジナル) /