package core

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

Source file int_intf.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
(** This module extends {{!Base.Int_intf}[Base.Int_intf]}. *)

module type Round = Base.Int.Round

module type Stable = sig
  module V1 : sig
    type t [@@deriving sexp_grammar]

    include Stable_comparable.With_stable_witness.V1 with type t := t
  end
end

module type Hexable = sig
  type t

  module Hex : sig
    type nonrec t = t [@@deriving bin_io, sexp, sexp_grammar, compare, hash, typerep]

    include Base.Stringable.S with type t := t

    val to_string_hum : ?delimiter:char -> t -> string
  end

  (*_ Ensure that this module is an extension of [Base.Int.Hexable]. *)
  include Base.Int.Hexable with type t := t and module Hex := Hex
end

module type Extension = sig
  type t [@@deriving bin_io, typerep]

  include Hexable with type t := t
  include Identifiable.S with type t := t
  include Comparable.Validate_with_zero with type t := t
  include Quickcheckable.S_int with type t := t
end

module type S_unbounded = sig
  include Base.Int.S_unbounded
  include Extension with type t := t with type comparator_witness := comparator_witness
end

module type S = sig
  include Base.Int.S
  include Extension with type t := t with type comparator_witness := comparator_witness
end

module type Extension_with_stable = sig
  include Extension

  module Stable :
    Stable with type V1.t = t and type V1.comparator_witness = comparator_witness
end
OCaml

Innovation. Community. Security.