@@ -704,6 +704,8 @@ data PTerm = PQuote Raw
704704 | PDisamb [[T.Text]] PTerm -- ^ Preferences for explicit namespaces
705705 | PUnifyLog PTerm -- ^ dump a trace of unifications when building term
706706 | PNoImplicits PTerm -- ^ never run implicit converions on the term
707+ | PQuasiquote PTerm -- ^ `(Term)
708+ | PUnquote PTerm -- ^ ,Term
707709 deriving Eq
708710
709711
@@ -971,14 +973,15 @@ data SyntaxInfo = Syn { using :: [Using],
971973 implicitAllowed :: Bool,
972974 maxline :: Maybe Int,
973975 mut_nesting :: Int,
974− dsl_info :: DSL }
976+ dsl_info :: DSL,
977+ syn_in_quasiquote :: Bool }
975978 deriving Show
976979{-!
977980deriving instance NFData SyntaxInfo
978981deriving instance Binary SyntaxInfo
979982!-}
980983
981−defaultSyntax = Syn [] [] [] [] id False False Nothing 0 initDSL
984+defaultSyntax = Syn [] [] [] [] id False False Nothing 0 initDSL False
982985
983986expandNS :: SyntaxInfo -> Name -> Name
984987expandNS syn n@(NS _ _) = n
@@ -1353,8 +1356,10 @@ pprintPTerm ppo bnd docArgs infixes = prettySe 10 bnd
13531356 prettySe p bnd (PDoBlock _) = text "do block pretty not implemented"
13541357 prettySe p bnd (PCoerced t) = prettySe p bnd t
13551358 prettySe p bnd (PElabError s) = pretty s
1359+ prettySe p bnd (PQuasiquote t) = text "`(" <> prettySe p bnd t <> text ")"
1360+ prettySe p bnd (PUnquote t) = text "~" <> prettySe p bnd t
13561361
1357− prettySe p bnd _ = text "test"
1362+ prettySe p bnd _ = text "missing pretty-printer for term"
13581363
13591364 prettyArgS bnd (PImp _ _ _ n tm) = prettyArgSi bnd (n, tm)
13601365 prettyArgS bnd (PExp _ _ _ tm) = prettyArgSe bnd tm