Members
(static, constant) Nothing
Nothing
is the absence of a value, the opposite of Just
for a Maybe
object. Since all
nothings are the same nothing, there is only one Nothing
object.
(c.f. Wallace Stevens, "The Snow Man").
Haskell> Nothing :: Maybe a
- Source:
Methods
(static) catMaybes(xs) → {List}
Take a List
of Maybe
values and return a List
of all the Just
values.
Haskell> catMaybes :: [Maybe a] -> [a]
Parameters:
Name | Type | Description |
---|---|---|
xs |
List | A |
- Source:
Returns:
A List
of the Just
values from xs
- Type
- List
Example
const lst = list(just(1), just(2), just(null), just(3), Nothing, just(), just(4), just(5));
catMaybes(lst); // => [1:2:3:4:5:[]]
(static) fromJust(m) → {*}
Extract the value from a Just
. Throws an error if the Maybe
is Nothing
.
Haskell> fromJust :: Maybe a -> a
Parameters:
Name | Type | Description |
---|---|---|
m |
Maybe | A |
- Source:
Returns:
The value contained in the Just
- Type
- *
(static) fromMaybe(d, m) → {*}
Return the value contained in a Maybe
if it is a Just
or a default value if it is Nothing
.
Haskell> fromMaybe :: a -> Maybe a -> a
Parameters:
Name | Type | Description |
---|---|---|
d |
* | The default value to return if |
m |
Maybe | A |
- Source:
Returns:
The value contained in the Maybe
or d
if it is Nothing
- Type
- *
(static) isJust(m) → {boolean}
Determine whether an object is a Just
.
Haskell> isJust :: Maybe a -> Bool
Parameters:
Name | Type | Description |
---|---|---|
m |
Maybe | Any object |
- Source:
Returns:
true
if the object is a Just
and false
otherwise
- Type
- boolean
(static) isMaybe(a) → {boolean}
Determine whether an object is a Maybe
.
Parameters:
Name | Type | Description |
---|---|---|
a |
* | Any object |
- Source:
Returns:
true
if the object is a Maybe
and false
otherwise
- Type
- boolean
(static) isNothing(m) → {boolean}
Determine whether an object is Nothing
.
Haskell> isNothing :: Maybe a -> Bool
Parameters:
Name | Type | Description |
---|---|---|
m |
Maybe | Any object |
- Source:
Returns:
true
if the object is Nothing
and false
otherwise
- Type
- boolean
(static) just(a) → {Maybe}
Construct a Maybe
value. Returns Nothing
if the argument value is undefined
,
null
, or NaN
.
Haskell> Just :: a -> Maybe a
Parameters:
Name | Type | Description |
---|---|---|
a |
* | The value to wrap in a |
- Source:
Returns:
Just a
or Nothing
- Type
- Maybe
(static) listToMaybe(xs) → {Maybe}
Take a List
and return Just a
where a
is the first element of the List
or Nothing
if
the List
is empty.
Haskell> listToMaybe :: [a] -> Maybe a
Parameters:
Name | Type | Description |
---|---|---|
xs |
List | A |
- Source:
Returns:
A Just
containing the head of xs
or Nothing
if xs
is an empty List
- Type
- Maybe
Example
const lst = list(1,2,3);
listToMaybe(lst); // => Just 1
listToMaybe(emptyList); // => Nothing
(static) mapMaybe(f, as) → {List}
Map a function f
that returns a Maybe
over a List
. For each element of the list, if the
result of applying the function is a Just
, then the value it contains is included in the result
list. If it is Nothing
, then no element is added to the result list.
Haskell> mapMaybe :: (a -> Maybe b) -> [a] -> [b]
Parameters:
Name | Type | Description |
---|---|---|
f |
function | A function that returns a |
as |
List | A |
- Source:
Returns:
A List
of Just
values returned from f
mapped over as
- Type
- List
Example
const lst1 = list(1,2,3);
const lst2 = listRange(1, 25);
const f = x => even(x) ? just(x * 2) : Nothing;
mapMaybe(just, lst1); // => [1:2:3:[]]
mapMaybe(f, lst2); // => [4:8:12:16:20:24:28:32:36:40:44:48:[]]
(static) maybe(n, f, m) → {*}
Take a default value, a function, and a Maybe
value. If the Maybe
value is Nothing
, return
the default value. Otherwise, apply the function to the Just
value and return the result.
Haskell> maybe :: b -> (a -> b) -> Maybe a -> b
Parameters:
Name | Type | Description |
---|---|---|
n |
* | The default value to return if |
f |
function | The function to apply to the value inside |
m |
Maybe | A |
- Source:
Returns:
f
applied to the Just
value or n
if the Maybe
is Nothing
- Type
- *
Example
const m1 = just(100);
const m2 = just(null);
const f = x => x * 10;
maybe(0, f, m1); // => 1000
maybe(0, f, m2); // => 0
(static) maybeToList(m) → {List}
Take a Maybe
and return a singleton List
containing the Just
value or an empty List
if
the Maybe
is Nothing
.
Haskell> maybeToList :: Maybe a -> [a]
Parameters:
Name | Type | Description |
---|---|---|
m |
Maybe | A |
- Source:
Returns:
A new List
- Type
- List
Example
const l = list(1,2,3);
const m = just(10);
maybeToList(m); // => [10:[]]
maybeToList(Nothing); // => [[]]