NAME
Data::Monad::Maybe - The Maybe monad.
SYNOPSIS
use
Data::Monad::Maybe;
sub
div {
my
(
$n
,
$m
) =
@_
;
$m
== 0 ? nothing : just(
$n
/
$m
);
}
# answer: 1.5
just(3, 2)->flat_map(\
&div
)
->
map
(
sub
{
"answer: $_[0]"
})
->value,
"\n"
;
# nothing
"nothing\n"
if
just(3, 0)->flat_map(\
&div
)
->
map
(
sub
{
"answer: $_[0]"
})
->is_nothing;
DESCRIPTION
Data::Monad::Maybe represents optional values.
This module is marked EXPERIMENTAL. API could be changed without any notice.
METHODS
- $maybe = just(@values)
- $maybe = nothing()
-
Is the constructors of this class.
- unit
- flat_map
-
Overrides methods of Data::Monad::Base::Monad.
- zero
-
Overrides methods of Data::Monad::Base::MonadZero.
- $maybe->is_nothing
-
Checks if
$maybe
contains any values. - @values = $maybe->value
-
Returns a list of values which is contained by
$maybe
.
AUTHOR
hiratara <hiratara {at} cpan.org>
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.