Source file computation_status.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
open! Core
type 'input t =
| Active of 'input
| Inactive
[@@deriving sexp_of]
let of_option = function
| Some x -> Active x
| None -> Inactive
;;
let bind t ~f =
match t with
| Active x -> f x
| Inactive -> Inactive
;;
let map t ~f =
match t with
| Active x -> Active (f x)
| Inactive -> Inactive
;;