operators.mli 685 Bytes
Newer Older
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
open Location
type type_fun = Types.t -> bool -> Types.t

module Unary: sig
  include Custom.T with type t = int

  val register: 
    string -> 
    (Typer.t -> 'a) ->
    ('a -> loc -> type_fun -> type_fun) ->
    ('a -> Value.t -> Value.t) ->
    ('a Serialize.Put.f) ->
    ('a Serialize.Get.f) -> unit
end


module Binary: sig
  include Custom.T with type t = int

  val register: 
    string -> 
    (Typer.t -> 'a) ->
    ('a -> loc -> type_fun -> type_fun -> type_fun) ->
    ('a -> Value.t -> Value.t -> Value.t) ->
    ('a Serialize.Put.f) ->
    ('a Serialize.Get.f) -> unit
end
28
29
30
31
32


val register: 
  string -> (type_fun list -> type_fun) -> (Value.t list -> Value.t) -> unit