strict-0.3.2: Strict data types and String IO.

Copyright(c) 2006-2007 Roman Leshchinskiy
LicenseBSD-style (see the file LICENSE)
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Data.Strict.Maybe

Description

Strict Maybe.

Same as the standard Haskell Maybe, but Just _|_ = _|_

Note that strict Maybe is not a monad since return _|_ >>= f = _|_ which is not necessarily the same as f _|_.

Synopsis

Documentation

data Maybe a Source #

The type of strict optional values.

Constructors

Nothing 
Just !a 

Instances

Functor Maybe Source # 

Methods

fmap :: (a -> b) -> Maybe a -> Maybe b #

(<$) :: a -> Maybe b -> Maybe a #

Eq a => Eq (Maybe a) Source # 

Methods

(==) :: Maybe a -> Maybe a -> Bool #

(/=) :: Maybe a -> Maybe a -> Bool #

Ord a => Ord (Maybe a) Source # 

Methods

compare :: Maybe a -> Maybe a -> Ordering #

(<) :: Maybe a -> Maybe a -> Bool #

(<=) :: Maybe a -> Maybe a -> Bool #

(>) :: Maybe a -> Maybe a -> Bool #

(>=) :: Maybe a -> Maybe a -> Bool #

max :: Maybe a -> Maybe a -> Maybe a #

min :: Maybe a -> Maybe a -> Maybe a #

Read a => Read (Maybe a) Source # 
Show a => Show (Maybe a) Source # 

Methods

showsPrec :: Int -> Maybe a -> ShowS #

show :: Maybe a -> String #

showList :: [Maybe a] -> ShowS #

isJust :: Maybe a -> Bool Source #

Yields True iff the argument is of the form Just _.

isNothing :: Maybe a -> Bool Source #

Yields True iff the argument is Nothing.

fromJust :: Maybe a -> a Source #

Extracts the element out of a Just and throws an error if the argument is Nothing.

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

Given a default value and a Maybe, yield the default value if the Maybe argument is Nothing and extract the value out of the Just otherwise.

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

Given a default value, a function and a Maybe value, yields the default value if the Maybe value is Nothing and applies the function to the value stored in the Just otherwise.