Term.ml 754 Bytes
Newer Older
POTTIER Francois's avatar
POTTIER Francois committed
1
open AlphaLib
2
open BindingForms
POTTIER Francois's avatar
POTTIER Francois committed
3 4 5

type ('fn, 'bn) term =
  | TVar of 'fn
6
  | TLambda of ('bn, ('fn, 'bn) term) abs
POTTIER Francois's avatar
POTTIER Francois committed
7 8 9 10 11
  | TApp of ('fn, 'bn) term * ('fn, 'bn) term

  [@@deriving

    visitors { variety = "iter"; public = ["visit_term"];
12
               ancestors = ["BindingForms.iter"] }
POTTIER Francois's avatar
POTTIER Francois committed
13 14
    ,
    visitors { variety = "map"; public = ["visit_term"];
15
               ancestors = ["BindingForms.map"] }
POTTIER Francois's avatar
POTTIER Francois committed
16 17
    ,
    visitors { variety = "endo"; public = ["visit_term"];
18
               ancestors = ["BindingForms.endo"] }
POTTIER Francois's avatar
POTTIER Francois committed
19 20
    ,
    visitors { variety = "reduce"; public = ["visit_term"];
21
               ancestors = ["BindingForms.reduce"] }
POTTIER Francois's avatar
POTTIER Francois committed
22 23
    ,
    visitors { variety = "iter2"; public = ["visit_term"];
24
               ancestors = ["BindingForms.iter2"] }
POTTIER Francois's avatar
POTTIER Francois committed
25 26

  ]