Term.ml 756 Bytes
Newer Older
POTTIER Francois's avatar
POTTIER Francois committed
1 2 3 4 5 6 7 8 9 10 11
open AlphaLib
open Abstraction

type ('fn, 'bn) term =
  | TVar of 'fn
  | TLambda of ('bn, ('fn, 'bn) term) abstraction
  | TApp of ('fn, 'bn) term * ('fn, 'bn) term

  [@@deriving

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

  ]