package preface

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

Source file validate.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
type 'a t = ('a, exn Nonempty_list.t) Validation.t

let pure = Validation.pure
let valid = Validation.valid
let invalid = Validation.invalid
let error err = invalid (Nonempty_list.create err)

module Exn_list = Preface_make.Semigroup.From_alt (Nonempty_list.Alt) (Exn)
module Functor = Validation.Functor (Exn_list)
module Invariant = Preface_make.Invariant.From_functor (Functor)
module Alt = Validation.Alt (Exn_list)
module Applicative = Validation.Applicative (Exn_list)
module Selective = Validation.Selective (Exn_list)
module Monad = Validation.Monad (Exn_list)
module Foldable = Validation.Foldable (Exn_list)

let case = Validation.case

let to_result = function
  | Validation.Valid x -> Ok x
  | Validation.Invalid x -> Error x
;;

let equal f = Validation.equal f (Nonempty_list.equal Exn.equal)
let pp f = Validation.pp f (Nonempty_list.pp Exn.pp)
OCaml

Innovation. Community. Security.