3 value rec mk_tuple _loc t n =
4 if n <= 1 then t else <:ctyp< $t$ * $mk_tuple _loc t (n - 1)$ >>;
6 value ctyp_eoi = Gram.Entry.mk "ctyp eoi";
9 ctyp_eoi: [[ t = Syntax.ctyp; `EOI -> t ]];
13 Scanf.sscanf s " %d | %[^!]" begin fun n s ->
14 let t = Syntax.Gram.parse_string ctyp_eoi _loc(* not accurate *) s in
15 <:ctyp< $tup:mk_tuple _loc t n$ >>
18 Quotation.add "power" Quotation.DynAst.ctyp_tag exp;