package hardcaml_waveterm

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

Source file waves_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
open Base

module type S = sig
  module Data : Data.S
  module Wave : Wave.M(Data).S

  module Config : sig
    type t =
      { mutable signals_width : int
      ; mutable values_width : int
      ; mutable wave_width : int
      ; mutable wave_height : int
      ; mutable start_cycle : int
      ; mutable start_signal : int
      ; mutable selected_signal : int
      ; mutable wave_cursor : int
      ; mutable signal_scroll : int
      ; mutable value_scroll : int
      }
    [@@deriving sexp]

    val default : t
  end

  type t =
    { cfg : Config.t
    ; waves : Wave.t array
    }
  [@@deriving sexp_of]
end

module M (Data : Data.S) (Wave : Wave.M(Data).S) = struct
  module type S = S with module Data := Data and module Wave := Wave
end

module type Waves = sig
  module type S = S

  module M = M
  module Make (Data : Data.S) (Wave : Wave.M(Data).S) : M(Data)(Wave).S
end
OCaml

Innovation. Community. Security.