package oxbow

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file mode.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type t = string

let normal = "normal"
let locked = "locked"
let equal = String.equal
let to_string = Fun.id

let resolve name ~declared =
  Option.to_result ~none:(Printf.sprintf "mode not declared: %S" name)
  @@ List.find_opt (equal name) declared
;;

let declare name ~declared =
  if List.mem name declared
  then Error (Printf.sprintf "mode already declared: %S" name)
  else Ok name
;;