@@ -8,7 +8,7 @@ module Idris.Core.Evaluate(normalise, normaliseTrace, normaliseC, normaliseAll,
88 Context, initContext, ctxtAlist, uconstraints, next_tvar,
99 addToCtxt, setAccess, setTotal, setMetaInformation, addCtxtDef, addTyDecl,
1010 addDatatype, addCasedef, simplifyCasedef, addOperator,
11− lookupNames, lookupTy, lookupP, lookupDef, lookupNameDef, lookupDefExact, lookupDefAcc, lookupVal,
11+ lookupNames, lookupTyName, lookupTy, lookupP, lookupDef, lookupNameDef, lookupDefExact, lookupDefAcc, lookupVal,
1212 mapDefCtxt,
1313 lookupTotal, lookupNameTotal, lookupMetaInformation, lookupTyEnv, isDConName, isTConName, isConName, isFnName,
1414 Value(..), Quote(..), initEval, uniqueNameCtxt, uniqueBindersCtxt, definitions) where
@@ -863,14 +863,19 @@ lookupNames n ctxt
863863 = let ns = lookupCtxtName n (definitions ctxt) in
864864 map fst ns
865865
866−lookupTy :: Name -> Context -> [Type]
867−lookupTy n ctxt
868− = do def <- lookupCtxt n (definitions ctxt)
869− case tfst def of
866+lookupTyName :: Name -> Context -> [(Name, Type)]
867+lookupTyName n ctxt = do
868+ (name, def) <- lookupCtxtName n (definitions ctxt)
869+ ty <- case tfst def of
870870 (Function ty _) -> return ty
871871 (TyDecl _ ty) -> return ty
872872 (Operator ty _ _) -> return ty
873873 (CaseOp _ ty _ _ _ _) -> return ty
874+ return (name, ty)
875+
876+
877+lookupTy :: Name -> Context -> [Type]
878+lookupTy n ctxt = map snd (lookupTyName n ctxt)
874879
875880isConName :: Name -> Context -> Bool
876881isConName n ctxt = isTConName n ctxt || isDConName n ctxt