Quasiquoting (part 3) In camlp4, an antiquotation is written as $ty:var$ It means "put the AST named var, of type ty, here". For example, writing: let ast1 = <:expr< (fun y -> y + 1) >> let ast2 = <:expr< List.map $expr:ast1$ [1; 2; 3] >> Is equivalent to writing: let ast2 = <:expr< List.map (fun y -> y + 1) [1; 2; 3] >> Or in lisp, using backquote: (define ast1 '(lambda (y) (+ y 1))) (define ast2 `(map ,ast1 (1 2 3)))