Term.ml 635 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
type ('bn, 'fn) term =
POTTIER Francois's avatar
POTTIER Francois committed
5
  | TVar of 'fn
6 7
  | TLambda of ('bn, ('bn, 'fn) term) abs
  | TApp of ('bn, 'fn) term * ('bn, 'fn) term
POTTIER Francois's avatar
POTTIER Francois committed
8 9 10 11

  [@@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 = "iter2"; public = ["visit_term"];
21
               ancestors = ["BindingForms.iter2"] }
POTTIER Francois's avatar
POTTIER Francois committed
22 23

  ]