package file_path

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

Source file file_path_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
(** Implements typed file paths. See [../doc/index.mdx] for an introduction. *)

open! Core

module type Types = Types.S
module type Part = Part.S
module type Relative = Relative.S
module type Absolute = Absolute.S
module type Path = Path.S
module type Operators = Operators.S

module type Stable = sig
  module Types : Types
  module Part : Common.Stable with module Type := Types.Part
  module Relative : Common.Stable with module Type := Types.Relative
  module Absolute : Common.Stable with module Type := Types.Absolute
  include Common.Stable with module Type := Types.Path
end

module type S = sig
  (** Everything below uses the types and subtyping relationships of [Types]. *)
  module Types : Types

  module Part : Part with module Types := Types
  module Relative : Relative with module Types := Types
  module Absolute : Absolute with module Types := Types
  include Path with module Types := Types
  module Operators : Operators with module Types := Types
  module Stable : Stable with module Types := Types
end

module type File_path = sig
  module type Types = Types
  module type Part = Part
  module type Relative = Relative
  module type Absolute = Absolute
  module type Path = Path
  module type Operators = Operators
  module type Stable = Stable
  module type S = S

  include S
end