From 88d9d2c6e02c6a29e25fbfa90e92c5416a9c13d4 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Mon, 4 Jun 2018 17:03:11 -0400 Subject: Add Option.List.map --- src/Util/Option.v | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/Util/Option.v') diff --git a/src/Util/Option.v b/src/Util/Option.v index b9e64910c..e14ad263e 100644 --- a/src/Util/Option.v +++ b/src/Util/Option.v @@ -18,6 +18,23 @@ Module Export Notations. End Notations. Local Open Scope option_scope. +Module List. + Section map. + Context {A B} + (f : A -> option B). + + Fixpoint map (ls : list A) : list B + := match ls with + | nil => nil + | cons x xs + => match f x with + | Some fx => fx :: map xs + | None => map xs + end + end. + End map. +End List. + Section Relations. Definition option_eq {A} eq (x y : option A) := match x with -- cgit v1.2.3