F.fprintf f ")"*)
(* CSC: qua siamo grezzi *)
| NCic.Implicit `Hole -> idref (Ast.UserInput)
- | NCic.Implicit _ -> idref (Ast.Implicit)
+ | NCic.Implicit `Vector -> idref (Ast.Implicit `Vector)
+ | NCic.Implicit _ -> idref (Ast.Implicit `JustOne)
| NCic.Prod (n,s,t) ->
let n = if n.[0] = '_' then "_" else n in
let binder_kind = `Forall in
let rec eat_branch n ctx ty pat =
match (ty, pat) with
| NCic.Prod (name, s, t), _ when n > 0 ->
- eat_branch (pred n) ((name,NCic.Decl s)::ctx) t pat
+ eat_branch (pred n) ctx t pat
| NCic.Prod (_, _, t), NCic.Lambda (name, s, t') ->
let cv, rhs = eat_branch 0 ((name,NCic.Decl s)::ctx) t t' in
(Ast.Ident (name,None), Some (k ~context:ctx s)) :: cv, rhs