package frama-c
Install
dune-project
Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
NNicolas Bellec
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
VVincent Botbol
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
SSylvain Chiron
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
BBenjamin Jorge
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
KKilyan Le Gallic
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
PPierre Nigron
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
JJan Rochel
-
MMuriel Roger
-
CCécile Ruet-Cros
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=095ffbb3086a6cd963a03e3defab4f0dc32e9a43f026e552ec9ae346a6e20522
doc/frama-c.kernel/Frama_c_kernel/Option/index.html
Module Frama_c_kernel.Option
Extend the option
type to a full fleshed monad. Be wary that the parameters order of the bind
function are reversed compared to the standard library.
include module type of Option
Options
The type for option values. Either None
or a value Some v
.
value o ~default
is v
if o
is Some v
and default
otherwise.
join oo
is Some v
if oo
is Some (Some v)
and None
otherwise.
map f o
is None
if o
is None
and Some (f v)
if o
is Some v
.
fold ~none ~some o
is none
if o
is None
and some v
if o
is Some v
.
Predicates and comparisons
equal eq o0 o1
is true
if and only if o0
and o1
are both None
or if they are Some v0
and Some v1
and eq v0 v1
is true
.
compare cmp o0 o1
is a total order on options using cmp
to compare values wrapped by Some _
. None
is smaller than Some _
values.
Converting
val to_result : none:'e -> 'a option -> ('a, 'e) result
to_result ~none o
is Ok v
if o
is Some v
and Error none
otherwise.
val to_seq : 'a option -> 'a Seq.t
to_seq o
is o
as a sequence. None
is the empty sequence and Some v
is the singleton sequence containing v
.
Reverse Stdlib.Option.bind
parameters for monad compatibility. bind f o
is f v
if o
is Some v
and None
if o
is None
.