@@ -173,18 +173,18 @@ elab ist info pattern opts fn tm
173173 elab' ina (PResolveTC (FC "HACK" _ _)) -- for chasing parent classes
174174 = do g <- goal; resolveTC 5 g fn ist
175175 elab' ina (PResolveTC fc)
176− | True = do c <- getNameFrom (MN 0 "class")
176+ | True = do c <- getNameFrom (sMN 0 "class")
177177 instanceArg c
178178 | otherwise = do g <- goal
179179 try (resolveTC 2 g fn ist)
180− (do c <- getNameFrom (MN 0 "class")
180+ (do c <- getNameFrom (sMN 0 "class")
181181 instanceArg c)
182182 elab' ina (PRefl fc t)
183− = elab' ina (PApp fc (PRef fc eqCon) [pimp (MN 0 "A") Placeholder True,
184− pimp (MN 0 "x") t False])
183+ = elab' ina (PApp fc (PRef fc eqCon) [pimp (sMN 0 "A") Placeholder True,
184+ pimp (sMN 0 "x") t False])
185185 elab' ina (PEq fc l r) = elab' ina (PApp fc (PRef fc eqTy)
186− [pimp (MN 0 "A") Placeholder True,
187− pimp (MN 0 "B") Placeholder False,
186+ [pimp (sMN 0 "A") Placeholder True,
187+ pimp (sMN 0 "B") Placeholder False,
188188 pexp l, pexp r])
189189 elab' ina@(_, a, inty) (PPair fc l r)
190190 = do hnf_compute
@@ -193,8 +193,8 @@ elab ist info pattern opts fn tm
193193 TType _ -> elabE (True, a,inty) (PApp fc (PRef fc pairTy)
194194 [pexp l,pexp r])
195195 _ -> elabE (True, a, inty) (PApp fc (PRef fc pairCon)
196− [pimp (MN 0 "A") Placeholder True,
197− pimp (MN 0 "B") Placeholder True,
196+ [pimp (sMN 0 "A") Placeholder True,
197+ pimp (sMN 0 "B") Placeholder True,
198198 pexp l, pexp r])
199199 elab' ina (PDPair fc l@(PRef _ n) t r)
200200 = case t of
@@ -209,12 +209,12 @@ elab ist info pattern opts fn tm
209209 [pexp t,
210210 pexp (PLam n Placeholder r)])
211211 asValue = elab' ina (PApp fc (PRef fc existsCon)
212− [pimp (MN 0 "a") t False,
213− pimp (MN 0 "P") Placeholder True,
212+ [pimp (sMN 0 "a") t False,
213+ pimp (sMN 0 "P") Placeholder True,
214214 pexp l, pexp r])
215215 elab' ina (PDPair fc l t r) = elab' ina (PApp fc (PRef fc existsCon)
216− [pimp (MN 0 "a") t False,
217− pimp (MN 0 "P") Placeholder True,
216+ [pimp (sMN 0 "a") t False,
217+ pimp (sMN 0 "P") Placeholder True,
218218 pexp l, pexp r])
219219 elab' ina (PAlternative True as)
220220 = do hnf_compute
@@ -274,7 +274,7 @@ elab ist info pattern opts fn tm
274274 elab' ina@(_, a, inty) (PLam n ty sc)
275275 = do hsin <- get_holes
276276 ptmin <- get_term
277− tyn <- getNameFrom (MN 0 "lamty")
277+ tyn <- getNameFrom (sMN 0 "lamty")
278278 checkPiGoal n
279279 claim tyn RType
280280 explicit tyn
@@ -290,9 +290,9 @@ elab ist info pattern opts fn tm
290290 elabE (True, a, inty) sc
291291 solve
292292 elab' ina@(_, a, _) (PPi _ n Placeholder sc)
293− = do attack; arg n (MN 0 "ty"); elabE (True, a, True) sc; solve
293+ = do attack; arg n (sMN 0 "ty"); elabE (True, a, True) sc; solve
294294 elab' ina@(_, a, _) (PPi _ n ty sc)
295− = do attack; tyn <- getNameFrom (MN 0 "ty")
295+ = do attack; tyn <- getNameFrom (sMN 0 "ty")
296296 claim tyn RType
297297 n' <- case n of
298298 MN _ _ -> unique_hole n
@@ -304,9 +304,9 @@ elab ist info pattern opts fn tm
304304 solve
305305 elab' ina@(_, a, inty) (PLet n ty val sc)
306306 = do attack;
307− tyn <- getNameFrom (MN 0 "letty")
307+ tyn <- getNameFrom (sMN 0 "letty")
308308 claim tyn RType
309− valn <- getNameFrom (MN 0 "letval")
309+ valn <- getNameFrom (sMN 0 "letval")
310310 claim valn (Var tyn)
311311 explicit valn
312312 letbind n (Var tyn) (Var valn)
@@ -327,9 +327,9 @@ elab ist info pattern opts fn tm
327327 elab' ina@(_, a, inty) (PGoal fc r n sc) = do
328328 rty <- goal
329329 attack
330− tyn <- getNameFrom (MN 0 "letty")
330+ tyn <- getNameFrom (sMN 0 "letty")
331331 claim tyn RType
332− valn <- getNameFrom (MN 0 "letval")
332+ valn <- getNameFrom (sMN 0 "letval")
333333 claim valn (Var tyn)
334334 letbind n (Var tyn) (Var valn)
335335 focus valn
@@ -348,7 +348,7 @@ elab ist info pattern opts fn tm
348348 -- new function name
349349 env <- get_env
350350 argTys <- claimArgTys env args
351− fn <- getNameFrom (MN 0 "inf_fn")
351+ fn <- getNameFrom (sMN 0 "inf_fn")
352352 let fty = fnTy argTys rty
353353-- trace (show (ptm, map fst argTys)) $ focus fn
354354 -- build and defer the function application
@@ -362,8 +362,8 @@ elab ist info pattern opts fn tm
362362 ans <- claimArgTys env xs
363363 return ((n, (False, forget nty)) : ans)
364364 claimArgTys env (_ : xs)
365− = do an <- getNameFrom (MN 0 "inf_argTy")
366− aval <- getNameFrom (MN 0 "inf_arg")
365+ = do an <- getNameFrom (sMN 0 "inf_argTy")
366+ aval <- getNameFrom (sMN 0 "inf_arg")
367367 claim an RType
368368 claim aval (Var an)
369369 ans <- claimArgTys env xs
@@ -383,7 +383,7 @@ elab ist info pattern opts fn tm
383383 mkN n@(NS _ _) = n
384384 mkN n@(SN _) = n
385385 mkN n = case namespace info of
386− Just xs@(_:_) -> NS n xs
386+ Just xs@(_:_) -> sNS n xs
387387 _ -> n
388388
389389 elab' ina (PMatchApp fc fn)
@@ -467,7 +467,7 @@ elab ist info pattern opts fn tm
467467 do attack; defer n'; solve
468468 where mkN n@(NS _ _) = n
469469 mkN n = case namespace info of
470− Just xs@(_:_) -> NS n xs
470+ Just xs@(_:_) -> sNS n xs
471471 _ -> n
472472 elab' ina (PProof ts) = do compute; mapM_ (runTac True ist) ts
473473 elab' ina (PTactics ts)
@@ -476,11 +476,11 @@ elab ist info pattern opts fn tm
476476 elab' ina (PElabError e) = fail (pshow ist e)
477477 elab' ina (PRewrite fc r sc newg)
478478 = do attack
479− tyn <- getNameFrom (MN 0 "rty")
479+ tyn <- getNameFrom (sMN 0 "rty")
480480 claim tyn RType
481− valn <- getNameFrom (MN 0 "rval")
481+ valn <- getNameFrom (sMN 0 "rval")
482482 claim valn (Var tyn)
483− letn <- getNameFrom (MN 0 "rewrite_rule")
483+ letn <- getNameFrom (sMN 0 "rewrite_rule")
484484 letbind letn (Var tyn) (Var valn)
485485 focus valn
486486 elab' ina r
@@ -495,11 +495,11 @@ elab ist info pattern opts fn tm
495495 solve
496496 where doEquiv t sc =
497497 do attack
498− tyn <- getNameFrom (MN 0 "ety")
498+ tyn <- getNameFrom (sMN 0 "ety")
499499 claim tyn RType
500− valn <- getNameFrom (MN 0 "eqval")
500+ valn <- getNameFrom (sMN 0 "eqval")
501501 claim valn (Var tyn)
502− letn <- getNameFrom (MN 0 "equiv_val")
502+ letn <- getNameFrom (sMN 0 "equiv_val")
503503 letbind letn (Var tyn) (Var valn)
504504 focus tyn
505505 elab' ina t
@@ -509,10 +509,10 @@ elab ist info pattern opts fn tm
509509 solve
510510 elab' ina@(_, a, inty) c@(PCase fc scr opts)
511511 = do attack
512− tyn <- getNameFrom (MN 0 "scty")
512+ tyn <- getNameFrom (sMN 0 "scty")
513513 claim tyn RType
514− valn <- getNameFrom (MN 0 "scval")
515− scvn <- getNameFrom (MN 0 "scvar")
514+ valn <- getNameFrom (sMN 0 "scval")
515+ scvn <- getNameFrom (sMN 0 "scvar")
516516 claim valn (Var tyn)
517517 letbind scvn (Var tyn) (Var valn)
518518 focus valn
@@ -538,7 +538,7 @@ elab ist info pattern opts fn tm
538538-- mkCaseName (MN i x) = MN i (x ++ "_case")
539539 mkN n@(NS _ _) = n
540540 mkN n = case namespace info of
541− Just xs@(_:_) -> NS n xs
541+ Just xs@(_:_) -> sNS n xs
542542 _ -> n
543543 elab' ina (PUnifyLog t) = do unifyLog True
544544 elab' ina t
@@ -618,8 +618,8 @@ elab ist info pattern opts fn tm
618618 = elabArgs ina failed fc r ns args
619619 elabArgs ina failed fc r (n:ns) ((lazy, t) : args)
620620 | lazy && not pattern
621− = do elabArg n (PApp bi (PRef bi (UN "lazy"))
622− [pimp (UN "a") Placeholder True,
621+ = do elabArg n (PApp bi (PRef bi (sUN "lazy"))
622+ [pimp (sUN "a") Placeholder True,
623623 pexp t]);
624624 | otherwise = elabArg n t
625625 where elabArg n t
@@ -699,9 +699,9 @@ findInstances ist t
699699 | otherwise = []
700700
701701trivial' ist
702− = trivial (elab ist toplevel False [] (MN 0 "tac")) ist
702+ = trivial (elab ist toplevel False [] (sMN 0 "tac")) ist
703703proofSearch' ist top n hints
704− = proofSearch (elab ist toplevel False [] (MN 0 "tac")) top n hints ist
704+ = proofSearch (elab ist toplevel False [] (sMN 0 "tac")) top n hints ist
705705
706706
707707resolveTC :: Int -> Term -> Name -> IState -> ElabD ()
@@ -737,12 +737,15 @@ resolveTC depth topg fn ist
737737
738738 -- HACK! Rather than giving a special name, better to have some kind
739739 -- of flag in ClassInfo structure
740− chaser (UN ('@':'@':_)) = True -- old way
740+ chaser (UN nm)
741+ | ('@':'@':_) <- str nm = True -- old way
741742 chaser (SN (ParentN _ _)) = True
742743 chaser (NS n _) = chaser n
743744 chaser _ = False
744745
745− needsDefault t num@(P _ (NS (UN "Num") ["Classes","Prelude"]) _) [P Bound a _]
746+ numclass = sNS (sUN "Num") ["Classes","Prelude"]
747+
748+ needsDefault t num@(P _ nc _) [P Bound a _] | nc == numclass
746749 = do focus a
747750 fill (RConstant (AType (ATInt ITBig))) -- default Integer
748751 solve
@@ -830,7 +833,7 @@ runTac autoSolve ist tac
830833 where
831834 bname (Bind n _ _) = Just n
832835 bname _ = Nothing
833− runT (Exact tm) = do elab ist toplevel False [] (MN 0 "tac") tm
836+ runT (Exact tm) = do elab ist toplevel False [] (sMN 0 "tac") tm
834837 when autoSolve solveAll
835838 runT (MatchRefine fn)
836839 = do fnimps <-
@@ -870,27 +873,27 @@ runTac autoSolve ist tac
870873 when autoSolve solveAll
871874 runT (Equiv tm) -- let bind tm, then
872875 = do attack
873− tyn <- getNameFrom (MN 0 "ety")
876+ tyn <- getNameFrom (sMN 0 "ety")
874877 claim tyn RType
875− valn <- getNameFrom (MN 0 "eqval")
878+ valn <- getNameFrom (sMN 0 "eqval")
876879 claim valn (Var tyn)
877− letn <- getNameFrom (MN 0 "equiv_val")
880+ letn <- getNameFrom (sMN 0 "equiv_val")
878881 letbind letn (Var tyn) (Var valn)
879882 focus tyn
880− elab ist toplevel False [] (MN 0 "tac") tm
883+ elab ist toplevel False [] (sMN 0 "tac") tm
881884 focus valn
882885 when autoSolve solveAll
883886 runT (Rewrite tm) -- to elaborate tm, let bind it, then rewrite by that
884887 = do attack; -- (h:_) <- get_holes
885− tyn <- getNameFrom (MN 0 "rty")
888+ tyn <- getNameFrom (sMN 0 "rty")
886889 -- start_unify h
887890 claim tyn RType
888− valn <- getNameFrom (MN 0 "rval")
891+ valn <- getNameFrom (sMN 0 "rval")
889892 claim valn (Var tyn)
890− letn <- getNameFrom (MN 0 "rewrite_rule")
893+ letn <- getNameFrom (sMN 0 "rewrite_rule")
891894 letbind letn (Var tyn) (Var valn)
892895 focus valn
893− elab ist toplevel False [] (MN 0 "tac") tm
896+ elab ist toplevel False [] (sMN 0 "tac") tm
894897 rewrite (Var letn)
895898 when autoSolve solveAll
896899 runT (Induction nm)
@@ -898,27 +901,27 @@ runTac autoSolve ist tac
898901 when autoSolve solveAll
899902 runT (LetTac n tm)
900903 = do attack
901− tyn <- getNameFrom (MN 0 "letty")
904+ tyn <- getNameFrom (sMN 0 "letty")
902905 claim tyn RType
903− valn <- getNameFrom (MN 0 "letval")
906+ valn <- getNameFrom (sMN 0 "letval")
904907 claim valn (Var tyn)
905908 letn <- unique_hole n
906909 letbind letn (Var tyn) (Var valn)
907910 focus valn
908− elab ist toplevel False [] (MN 0 "tac") tm
911+ elab ist toplevel False [] (sMN 0 "tac") tm
909912 when autoSolve solveAll
910913 runT (LetTacTy n ty tm)
911914 = do attack
912− tyn <- getNameFrom (MN 0 "letty")
915+ tyn <- getNameFrom (sMN 0 "letty")
913916 claim tyn RType
914− valn <- getNameFrom (MN 0 "letval")
917+ valn <- getNameFrom (sMN 0 "letval")
915918 claim valn (Var tyn)
916919 letn <- unique_hole n
917920 letbind letn (Var tyn) (Var valn)
918921 focus tyn
919− elab ist toplevel False [] (MN 0 "tac") ty
922+ elab ist toplevel False [] (sMN 0 "tac") ty
920923 focus valn
921− elab ist toplevel False [] (MN 0 "tac") tm
924+ elab ist toplevel False [] (sMN 0 "tac") tm
922925 when autoSolve solveAll
923926 runT Compute = compute
924927 runT Trivial = do trivial' ist; when autoSolve solveAll
@@ -931,16 +934,16 @@ runTac autoSolve ist tac
931934 runT (ApplyTactic tm) = do tenv <- get_env -- store the environment
932935 tgoal <- goal -- store the goal
933936 attack -- let f : List (TTName, Binder TT) -> TT -> Tactic = tm in ...
934− script <- getNameFrom (MN 0 "script")
937+ script <- getNameFrom (sMN 0 "script")
935938 claim script scriptTy
936− scriptvar <- getNameFrom (MN 0 "scriptvar" )
939+ scriptvar <- getNameFrom (sMN 0 "scriptvar" )
937940 letbind scriptvar scriptTy (Var script)
938941 focus script
939− elab ist toplevel False [] (MN 0 "tac") tm
942+ elab ist toplevel False [] (sMN 0 "tac") tm
940943 (script', _) <- get_type_val (Var scriptvar)
941944 -- now that we have the script apply
942945 -- it to the reflected goal and context
943− restac <- getNameFrom (MN 0 "restac")
946+ restac <- getNameFrom (sMN 0 "restac")
944947 claim restac tacticTy
945948 focus restac
946949 fill (raw_apply (forget script')
@@ -954,27 +957,27 @@ runTac autoSolve ist tac
954957 let tactic = normalise ctxt env restac'
955958 runReflected tactic
956959 where tacticTy = Var (reflm "Tactic")
957− listTy = Var (NS (UN "List") ["List", "Prelude"])
958− scriptTy = (RBind (UN "__pi_arg")
960+ listTy = Var (sNS (sUN "List") ["List", "Prelude"])
961+ scriptTy = (RBind (sUN "__pi_arg")
959962 (Pi (RApp listTy envTupleType))
960− (RBind (UN "__pi_arg1")
963+ (RBind (sUN "__pi_arg1")
961964 (Pi (Var $ reflm "TT")) tacticTy))
962965 runT (ByReflection tm) -- run the reflection function 'tm' on the
963966 -- goal, then apply the resulting reflected Tactic
964967 = do tgoal <- goal
965968 attack
966− script <- getNameFrom (MN 0 "script")
969+ script <- getNameFrom (sMN 0 "script")
967970 claim script scriptTy
968− scriptvar <- getNameFrom (MN 0 "scriptvar" )
971+ scriptvar <- getNameFrom (sMN 0 "scriptvar" )
969972 letbind scriptvar scriptTy (Var script)
970973 focus script
971974 ptm <- get_term
972− elab ist toplevel False [] (MN 0 "tac")
975+ elab ist toplevel False [] (sMN 0 "tac")
973976 (PApp emptyFC tm [pexp (delabTy' ist [] tgoal True True)])
974977 (script', _) <- get_type_val (Var scriptvar)
975978 -- now that we have the script apply
976979 -- it to the reflected goal
977− restac <- getNameFrom (MN 0 "restac")
980+ restac <- getNameFrom (sMN 0 "restac")
978981 claim restac tacticTy
979982 focus restac
980983 fill (forget script')
@@ -990,28 +993,28 @@ runTac autoSolve ist tac
990993 scriptTy = tacticTy
991994
992995 runT (Reflect v) = do attack -- let x = reflect v in ...
993− tyn <- getNameFrom (MN 0 "letty")
996+ tyn <- getNameFrom (sMN 0 "letty")
994997 claim tyn RType
995− valn <- getNameFrom (MN 0 "letval")
998+ valn <- getNameFrom (sMN 0 "letval")
996999 claim valn (Var tyn)
997− letn <- getNameFrom (MN 0 "letvar")
1000+ letn <- getNameFrom (sMN 0 "letvar")
9981001 letbind letn (Var tyn) (Var valn)
9991002 focus valn
1000− elab ist toplevel False [] (MN 0 "tac") v
1003+ elab ist toplevel False [] (sMN 0 "tac") v
10011004 (value, _) <- get_type_val (Var letn)
10021005 ctxt <- get_context
10031006 env <- get_env
10041007 let value' = hnf ctxt env value
10051008 runTac autoSolve ist (Exact $ PQuote (reflect value'))
10061009 runT (Fill v) = do attack -- let x = fill x in ...
1007− tyn <- getNameFrom (MN 0 "letty")
1010+ tyn <- getNameFrom (sMN 0 "letty")
10081011 claim tyn RType
1009− valn <- getNameFrom (MN 0 "letval")
1012+ valn <- getNameFrom (sMN 0 "letval")
10101013 claim valn (Var tyn)
1011− letn <- getNameFrom (MN 0 "letvar")
1014+ letn <- getNameFrom (sMN 0 "letvar")
10121015 letbind letn (Var tyn) (Var valn)
10131016 focus valn
1014− elab ist toplevel False [] (MN 0 "tac") v
1017+ elab ist toplevel False [] (sMN 0 "tac") v
10151018 (value, _) <- get_type_val (Var letn)
10161019 ctxt <- get_context
10171020 env <- get_env
@@ -1021,7 +1024,7 @@ runTac autoSolve ist tac
10211024 runT (GoalType n tac) = do g <- goal
10221025 case unApply g of
10231026 (P _ n' _, _) ->
1024− if nsroot n' == UN n
1027+ if nsroot n' == sUN n
10251028 then runT tac
10261029 else fail "Wrong goal type"
10271030 _ -> fail "Wrong goal type"
@@ -1034,7 +1037,7 @@ runTac autoSolve ist tac
10341037
10351038-- | Prefix a name with the "Language.Reflection" namespace
10361039reflm :: String -> Name
1037−reflm n = NS (UN n) ["Reflection", "Language"]
1040+reflm n = sNS (sUN n) ["Reflection", "Language"]
10381041
10391042
10401043-- | Reify tactics from their reflected representation
@@ -1056,7 +1059,7 @@ reifyApp ist t [l, r] | t == reflm "Seq" = liftM2 TSeq (reify ist l) (reify ist
10561059reifyApp ist t [Constant (Str n), x]
10571060 | t == reflm "GoalType" = liftM (GoalType n) (reify ist x)
10581061reifyApp _ t [Constant (Str n)]
1059− | t == reflm "Intro" = return $ Intro [UN n]
1062+ | t == reflm "Intro" = return $ Intro [sUN n]
10601063reifyApp ist t [t']
10611064 | t == reflm "ApplyTactic" = liftM (ApplyTactic . delab ist) (reifyTT t')
10621065reifyApp ist t [t']
@@ -1147,13 +1150,13 @@ reifyTTName t = fail ("Unknown reflection term name: " ++ show t)
11471150
11481151reifyTTNameApp :: Name -> [Term] -> ElabD Name
11491152reifyTTNameApp t [Constant (Str n)]
1150− | t == reflm "UN" = return $ UN n
1153+ | t == reflm "UN" = return $ sUN n
11511154reifyTTNameApp t [n, ns]
11521155 | t == reflm "NS" = do n' <- reifyTTName n
11531156 ns' <- reifyTTNamespace ns
1154− return $ NS n' ns'
1157+ return $ sNS n' ns'
11551158reifyTTNameApp t [Constant (I i), Constant (Str n)]
1156− | t == reflm "MN" = return $ MN i n
1159+ | t == reflm "MN" = return $ sMN i n
11571160reifyTTNameApp t []
11581161 | t == reflm "NErased" = return NErased
11591162reifyTTNameApp t args = fail ("Unknown reflection term name: " ++ show (t, args))
@@ -1162,9 +1165,9 @@ reifyTTNamespace :: Term -> ElabD [String]
11621165reifyTTNamespace t@(App _ _)
11631166 = case unApply t of
11641167 (P _ f _, [Constant StrType])
1165− | f == NS (UN "Nil") ["List", "Prelude"] -> return []
1168+ | f == sNS (sUN "Nil") ["List", "Prelude"] -> return []
11661169 (P _ f _, [Constant StrType, Constant (Str n), ns])
1167− | f == NS (UN "::") ["List", "Prelude"] -> liftM (n:) (reifyTTNamespace ns)
1170+ | f == sNS (sUN "::") ["List", "Prelude"] -> liftM (n:) (reifyTTNamespace ns)
11681171 _ -> fail ("Unknown reflection namespace arg: " ++ show t)
11691172reifyTTNamespace t = fail ("Unknown reflection namespace arg: " ++ show t)
11701173
@@ -1286,19 +1289,19 @@ reflectNameType (TCon x y)
12861289 = reflCall "TCon" [RConstant (I x), RConstant (I y)]
12871290
12881291reflectName :: Name -> Raw
1289−reflectName (UN str)
1290− = reflCall "UN" [RConstant (Str str)]
1292+reflectName (UN s)
1293+ = reflCall "UN" [RConstant (Str (str s))]
12911294reflectName (NS n ns)
12921295 = reflCall "NS" [ reflectName n
12931296 , foldr (\ n s ->
1294− raw_apply ( Var $ NS (UN "::") ["List", "Prelude"] )
1297+ raw_apply ( Var $ sNS (sUN "::") ["List", "Prelude"] )
12951298 [ RConstant StrType, RConstant (Str n), s ])
1296− ( raw_apply ( Var $ NS (UN "Nil") ["List", "Prelude"] )
1299+ ( raw_apply ( Var $ sNS (sUN "Nil") ["List", "Prelude"] )
12971300 [ RConstant StrType ])
1298− ns
1301+ (map str ns)
12991302 ]
13001303reflectName (MN i n)
1301− = reflCall "MN" [RConstant (I i), RConstant (Str n)]
1304+ = reflCall "MN" [RConstant (I i), RConstant (Str (str n))]
13021305reflectName (NErased) = Var (reflm "NErased")
13031306reflectName n = Var (reflm "NErased") -- special name, not yet implemented
13041307
@@ -1355,7 +1358,7 @@ reflectEnv = foldr consToEnvList emptyEnvList
13551358 where
13561359 consToEnvList :: (Name, Binder Term) -> Raw -> Raw
13571360 consToEnvList (n, b) l
1358− = raw_apply (Var (NS (UN "::") ["List", "Prelude"]))
1361+ = raw_apply (Var (sNS (sUN "::") ["List", "Prelude"]))
13591362 [ envTupleType
13601363 , raw_apply (Var pairCon) [ (Var $ reflm "TTName")
13611364 , (RApp (Var $ reflm "Binder")
@@ -1367,19 +1370,19 @@ reflectEnv = foldr consToEnvList emptyEnvList
13671370 ]
13681371
13691372 emptyEnvList :: Raw
1370− emptyEnvList = raw_apply (Var (NS (UN "Nil") ["List", "Prelude"]))
1373+ emptyEnvList = raw_apply (Var (sNS (sUN "Nil") ["List", "Prelude"]))
13711374 [envTupleType]
13721375
13731376-- | Reflect an error into the internal datatype of Idris -- TODO
13741377rawBool :: Bool -> Raw
1375−rawBool True = Var (NS (UN "True") ["Bool", "Prelude"])
1376−rawBool False = Var (NS (UN "False") ["Bool", "Prelude"])
1378+rawBool True = Var (sNS (sUN "True") ["Bool", "Prelude"])
1379+rawBool False = Var (sNS (sUN "False") ["Bool", "Prelude"])
13771380
13781381rawNil :: Raw -> Raw
1379−rawNil ty = raw_apply (Var (NS (UN "Nil") ["List", "Prelude"])) [ty]
1382+rawNil ty = raw_apply (Var (sNS (sUN "Nil") ["List", "Prelude"])) [ty]
13801383
13811384rawCons :: Raw -> Raw -> Raw -> Raw
1382−rawCons ty hd tl = raw_apply (Var (NS (UN "::") ["List", "Prelude"])) [ty, hd, tl]
1385+rawCons ty hd tl = raw_apply (Var (sNS (sUN "::") ["List", "Prelude"])) [ty, hd, tl]
13831386
13841387rawList :: Raw -> [Raw] -> Raw
13851388rawList ty = foldr (rawCons ty) (rawNil ty)
@@ -1445,7 +1448,7 @@ reflectErr (NotInjective t1 t2 t3) =
14451448reflectErr (CantResolve t) = raw_apply (Var $ reflErrName "CantResolve") [reflect t]
14461449reflectErr (CantResolveAlts ss) =
14471450 raw_apply (Var $ reflErrName "CantResolve")
1448− [rawList (Var $ (UN "String")) (map (RConstant . Str) ss)]
1451+ [rawList (Var $ (sUN "String")) (map (RConstant . Str) ss)]
14491452reflectErr (IncompleteTerm t) = raw_apply (Var $ reflErrName "IncompleteTerm") [reflect t]
14501453reflectErr UniverseError = Var $ reflErrName "UniverseError"
14511454reflectErr ProgramLineComment = Var $ reflErrName "ProgramLineComment"
@@ -1470,7 +1473,7 @@ reflectErr (ProviderError str) =
14701473 raw_apply (Var $ reflErrName "ProviderError") [RConstant (Str str)]
14711474reflectErr (LoadingFailed str err) =
14721475 raw_apply (Var $ reflErrName "LoadingFailed") [RConstant (Str str)]
1473−reflectErr x = raw_apply (Var (NS (UN "Msg") ["Errors", "Reflection", "Language"])) [RConstant . Str $ "Default reflection: " ++ show x]
1476+reflectErr x = raw_apply (Var (sNS (sUN "Msg") ["Errors", "Reflection", "Language"])) [RConstant . Str $ "Default reflection: " ++ show x]
14741477
14751478withErrorReflection :: Idris a -> Idris a
14761479withErrorReflection x = idrisCatch x (\ e -> handle e >>= ierror)
@@ -1504,11 +1507,12 @@ withErrorReflection x = idrisCatch x (\ e -> handle e >>= ierror)
15041507 parts -> ReflectionError errorparts e
15051508
15061509 fromTTMaybe :: Term -> Maybe Term -- WARNING: Assumes the term has type Maybe a
1507− fromTTMaybe (App (App (P (DCon _ _) (NS (UN "Just") _) _) ty) tm) = Just tm
1510+ fromTTMaybe (App (App (P (DCon _ _) (NS (UN just) _) _) ty) tm)
1511+ | just == txt "Just" = Just tm
15081512 fromTTMaybe x = Nothing
15091513
15101514reflErrName :: String -> Name
1511−reflErrName n = NS (UN n) ["Errors", "Reflection", "Language"]
1515+reflErrName n = sNS (sUN n) ["Errors", "Reflection", "Language"]
15121516
15131517reifyReportPart :: Term -> Idris ErrorReportPart
15141518reifyReportPart (App (P (DCon _ _) n _) (Constant (Str msg))) | n == reflErrName "TextPart" =