@@ -120,14 +120,12 @@ data Elab : Type -> Type where
120 prim__SourceLocation : Elab SourceLocation
120 prim__SourceLocation : Elab SourceLocation
121 prim__Namespace : Elab (List String)
121 prim__Namespace : Elab (List String)
123− prim__Forget : TT -> Elab Raw
125 prim__Gensym : String -> Elab TTName
123 prim__Gensym : String -> Elab TTName
127 prim__Solve : Elab ()
125 prim__Solve : Elab ()
128 prim__Fill : Raw -> Elab ()
126 prim__Fill : Raw -> Elab ()
129− prim__Apply : Raw -> List (Bool, Int) -> Elab (List (TTName, TTName))
127+ prim__Apply : Raw -> List Bool -> Elab (List (TTName, TTName))
130− prim__MatchApply : Raw -> List (Bool, Int) -> Elab (List (TTName, TTName))
128+ prim__MatchApply : Raw -> List Bool -> Elab (List (TTName, TTName))
131 prim__Focus : TTName -> Elab ()
129 prim__Focus : TTName -> Elab ()
132 prim__Unfocus : TTName -> Elab ()
130 prim__Unfocus : TTName -> Elab ()
133 prim__Attack : Elab ()
131 prim__Attack : Elab ()
@@ -187,7 +185,7 @@ namespace Tactics
187 ||| Halt elaboration with an error
185 ||| Halt elaboration with an error
188 fail : List ErrorReportPart -> Elab a
186 fail : List ErrorReportPart -> Elab a
189 fail err = prim__Fail err
187 fail err = prim__Fail err
191 ||| Look up the lexical binding at the focused hole. Fails if no holes are present.
189 ||| Look up the lexical binding at the focused hole. Fails if no holes are present.
192 getEnv : Elab (List (TTName, Binder TT))
190 getEnv : Elab (List (TTName, Binder TT))
193 getEnv = prim__Env
191 getEnv = prim__Env
@@ -237,16 +235,6 @@ namespace Tactics
237 check : (env : List (TTName, Binder TT)) -> (tm : Raw) -> Elab (TT, TT)
235 check : (env : List (TTName, Binder TT)) -> (tm : Raw) -> Elab (TT, TT)
238 check env tm = prim__Check env tm
236 check env tm = prim__Check env tm
240− ||| Convert a type-annotated reflected term to its untyped
242− forgetTypes : TT -> Elab Raw
243− forgetTypes tt = prim__Forget tt
245− ||| Get the goal type as a Raw term. Fails if there are no holes.
247− goalType = do g <- getGoal
251 ||| Generate a unique name based on some hint.
239 ||| Generate a unique name based on some hint.
@@ -281,10 +269,8 @@ namespace Tactics
281 ||| where the Boolean states whether or not to attempt to solve
269 ||| where the Boolean states whether or not to attempt to solve
282 ||| the argument and the Int gives the priority in which to do
270 ||| the argument and the Int gives the priority in which to do
284− apply : (op : Raw) ->
285− (argSpec : List (Bool, Int)) ->
272+ apply : (op : Raw) -> (argSpec : List Bool) -> Elab (List TTName)
286− Elab (List (TTName, TTName))
287− apply tm argSpec = prim__Apply tm argSpec
273+ apply tm argSpec = map snd <$> prim__Apply tm argSpec
289 ||| Attempt to apply an operator to fill the current hole,
275 ||| Attempt to apply an operator to fill the current hole,
290 ||| potentially solving arugments by matching.
276 ||| potentially solving arugments by matching.
@@ -303,10 +289,8 @@ namespace Tactics
303 ||| where the Boolean states whether or not to attempt to solve
289 ||| where the Boolean states whether or not to attempt to solve
304 ||| the argument and the Int gives the priority in which to do
290 ||| the argument and the Int gives the priority in which to do
306− matchApply : (op : Raw) ->
292+ matchApply : (op : Raw) -> (argSpec : List Bool) -> Elab (List TTName)
307− (argSpec : List (Bool, Int)) ->
308− Elab (List (TTName, TTName))
309− matchApply tm argSpec = prim__Apply tm argSpec
293+ matchApply tm argSpec = map snd <$> prim__Apply tm argSpec
311 ||| Move the focus to the specified hole. Fails if the hole does not
295 ||| Move the focus to the specified hole. Fails if the hole does not
312 ||| exist.
296 ||| exist.