@@ -144,6 +144,7 @@ data Elab : Type -> Type where
144 prim__DeclareType : TyDecl -> Elab ()
144 prim__DeclareType : TyDecl -> Elab ()
145 prim__DefineFunction : FunDefn -> Elab ()
145 prim__DefineFunction : FunDefn -> Elab ()
146 prim__AddInstance : TTName -> TTName -> Elab ()
146 prim__AddInstance : TTName -> TTName -> Elab ()
147+ prim__IsTCName : TTName -> Elab Bool
148 prim__ResolveTC : TTName -> Elab ()
149 prim__ResolveTC : TTName -> Elab ()
149 prim__Search : Int -> List TTName -> Elab ()
150 prim__Search : Int -> List TTName -> Elab ()
@@ -427,13 +428,19 @@ namespace Tactics
427 defineFunction : FunDefn -> Elab ()
428 defineFunction : FunDefn -> Elab ()
428 defineFunction defun = prim__DefineFunction defun
429 defineFunction defun = prim__DefineFunction defun
430− ||| Register a new instance for type class resolution
431+ ||| Register a new instance for type class resolution.
432 ||| @ className the name of the class for which an instance is being registered
433 ||| @ className the name of the class for which an instance is being registered
433 ||| @ instName the name of the definition to use in instance search
434 ||| @ instName the name of the definition to use in instance search
434 addInstance : (className, instName : TTName) -> Elab ()
435 addInstance : (className, instName : TTName) -> Elab ()
435 addInstance className instName = prim__AddInstance className instName
436 addInstance className instName = prim__AddInstance className instName
438+ ||| Determine whether a name denotes a class.
440+ ||| @ name a name that might denote a class.
441+ isTCName : (name : TTName) -> Elab Bool
442+ isTCName name = prim__IsTCName name
437 ||| Attempt to solve the current goal with a type class dictionary
444 ||| Attempt to solve the current goal with a type class dictionary
439 ||| @ fn the name of the definition being elaborated (to prevent Idris
446 ||| @ fn the name of the definition being elaborated (to prevent Idris