@@ -940,10 +940,13 @@ elab ist info emode opts fn tm
940 elab' ina fc (PQuasiquote t goal)
940 elab' ina fc (PQuasiquote t goal)
941 = do -- First extract the unquoted subterms, replacing them with fresh
941 = do -- First extract the unquoted subterms, replacing them with fresh
942 -- names in the quasiquoted term. Claim their reflections to be
942 -- names in the quasiquoted term. Claim their reflections to be
943− -- of type TT.
943+ -- an inferred type (to support polytypic quasiquotes).
944 (t, unq) <- extractUnquotes 0 t
944 (t, unq) <- extractUnquotes 0 t
945 let unquoteNames = map fst unq
945 let unquoteNames = map fst unq
946+ mapM_ (\uqn -> do uqh <- getNameFrom (sMN 0 "uqh")
946− mapM_ (flip claim (Var tt)) unquoteNames
949+ claim uqn (Var uqh)) unquoteNames
949 -- Save the old state - we need a fresh proof state to avoid
952 -- Save the old state - we need a fresh proof state to avoid