package hack_parallel
Parallel and shared memory library
Install
Dune Dependency
Authors
Maintainers
Sources
1.0.1.tar.gz
md5=ba7c72bc207e326b72e294fc76f6ad2c
sha512=5020d47f97bea2f88e2a40411894d03232a7f2282606926c93c7d4c96d72e94a966be852897a9b16f7e0893ba376512045abb9d93020a7c03c3def4f3d918f8e
doc/src/hack_parallel.hack_core/hack_option.ml.html
Source file hack_option.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
type 'a t = 'a option let is_none = function None -> true | _ -> false let is_some = function Some _ -> true | _ -> false let value_map o ~default ~f = match o with | Some x -> f x | None -> default let iter o ~f = match o with | None -> () | Some a -> f a let map2 o1 o2 ~f = match o1, o2 with | Some a1, Some a2 -> Some (f a1 a2) | _ -> None let call x ~f = match f with | None -> () | Some f -> f x let value t ~default = match t with | None -> default | Some x -> x ;; let to_array t = match t with | None -> [||] | Some x -> [|x|] ;; let to_list t = match t with | None -> [] | Some x -> [x] ;; let min_elt t ~cmp:_ = t let max_elt t ~cmp:_ = t let sum (type a) (module M : Hack_commutative_group.S with type t = a) t ~f = match t with | None -> M.zero | Some x -> f x ;; let for_all t ~f = match t with | None -> true | Some x -> f x ;; let exists t ~f = match t with | None -> false | Some x -> f x ;; let mem ?(equal = (=)) t a = match t with | None -> false | Some a' -> equal a a' ;; let length t = match t with | None -> 0 | Some _ -> 1 ;; let is_empty = is_none let fold t ~init ~f = match t with | None -> init | Some x -> f init x ;; let count t ~f = match t with | None -> 0 | Some a -> if f a then 1 else 0 ;; let find t ~f = match t with | None -> None | Some x -> if f x then Some x else None ;; let find_map t ~f = match t with | None -> None | Some a -> f a ;; let equal f t t' = match t, t' with | None, None -> true | Some x, Some x' -> f x x' | _ -> false let some x = Some x let both x y = match x,y with | Some a, Some b -> Some (a,b) | _ -> None let first_some x y = match x with | Some _ -> x | None -> y let some_if cond x = if cond then Some x else None let merge a b ~f = match a, b with | None, x | x, None -> x | Some a, Some b -> Some (f a b) let filter t ~f = match t with | Some v as o when f v -> o | _ -> None let try_with f = try Some (f ()) with _ -> None include Hack_monad.Make (struct type 'a t = 'a option let return x = Some x let map t ~f = match t with | None -> None | Some a -> Some (f a) ;; let map = `Custom map let bind o f = match o with | None -> None | Some x -> f x end)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>