@@ -9,7 +9,7 @@ module Idris.Core.Evaluate(normalise, normaliseTrace, normaliseC, normaliseAll,
9 addToCtxt, setAccess, setTotal, setMetaInformation, addCtxtDef, addTyDecl,
9 addToCtxt, setAccess, setTotal, setMetaInformation, addCtxtDef, addTyDecl,
10 addDatatype, addCasedef, simplifyCasedef, addOperator,
10 addDatatype, addCasedef, simplifyCasedef, addOperator,
11 lookupNames, lookupTyName, lookupTyNameExact, lookupTy, lookupTyExact,
11 lookupNames, lookupTyName, lookupTyNameExact, lookupTy, lookupTyExact,
12− lookupP, lookupDef, lookupNameDef, lookupDefExact, lookupDefAcc, lookupDefAccExact, lookupVal,
12+ lookupP, lookupP_all, lookupDef, lookupNameDef, lookupDefExact, lookupDefAcc, lookupDefAccExact, lookupVal,
13 mapDefCtxt,
13 mapDefCtxt,
14 lookupTotal, lookupNameTotal, lookupMetaInformation, lookupTyEnv, isTCDict, isDConName, canBeDConName, isTConName, isConName, isFnName,
14 lookupTotal, lookupNameTotal, lookupMetaInformation, lookupTyEnv, isTCDict, isDConName, canBeDConName, isTConName, isConName, isFnName,
15 Value(..), Quote(..), initEval, uniqueNameCtxt, uniqueBindersCtxt, definitions,
15 Value(..), Quote(..), initEval, uniqueNameCtxt, uniqueBindersCtxt, definitions,
@@ -1007,7 +1007,10 @@ isTCDict n ctxt
1007 _ -> False
1007 _ -> False
1009lookupP :: Name -> Context -> [Term]
1009lookupP :: Name -> Context -> [Term]
1010−lookupP n ctxt
1010+lookupP = lookupP_all False
1012+lookupP_all :: Bool -> Name -> Context -> [Term]
1013+lookupP_all all n ctxt
1011 = do def <- lookupCtxt n (definitions ctxt)
1014 = do def <- lookupCtxt n (definitions ctxt)
1012 p <- case def of
1015 p <- case def of
1013 (Function ty tm, a, _, _) -> return (P Ref n ty, a)
1016 (Function ty tm, a, _, _) -> return (P Ref n ty, a)
@@ -1015,7 +1018,7 @@ lookupP n ctxt
1015 (CaseOp _ ty _ _ _ _, a, _, _) -> return (P Ref n ty, a)
1018 (CaseOp _ ty _ _ _ _, a, _, _) -> return (P Ref n ty, a)
1016 (Operator ty _ _, a, _, _) -> return (P Ref n ty, a)
1019 (Operator ty _ _, a, _, _) -> return (P Ref n ty, a)
1017 case snd p of
1020 case snd p of
1018− Hidden -> []
1021+ Hidden -> if all then return (fst p) else []
1019 _ -> return (fst p)
1022 _ -> return (fst p)
1021lookupDefExact :: Name -> Context -> Maybe Def
1024lookupDefExact :: Name -> Context -> Maybe Def