@@ -130,8 +130,11 @@ data Elab : Type -> Type where
130 prim__Forall : TTName -> Raw -> Elab ()
130 prim__Forall : TTName -> Raw -> Elab ()
131 prim__PatVar : TTName -> Elab ()
131 prim__PatVar : TTName -> Elab ()
132 prim__PatBind : TTName -> Elab ()
132 prim__PatBind : TTName -> Elab ()
134 prim__Compute : Elab ()
135 prim__Compute : Elab ()
136+ prim__Normalise : (List (TTName, Binder TT)) -> TT -> Elab TT
137+ prim__Whnf : (List (TTName, Binder TT)) -> TT -> Elab TT
136 prim__DeclareType : TyDecl -> Elab ()
139 prim__DeclareType : TyDecl -> Elab ()
137 prim__DefineFunction : FunDefn -> Elab ()
140 prim__DefineFunction : FunDefn -> Elab ()
@@ -333,6 +336,20 @@ namespace Tactics
333 compute : Elab ()
336 compute : Elab ()
334 compute = prim__Compute
337 compute = prim__Compute
339+ ||| Normalise a term in some lexical environment
341+ ||| @ env the environment in which to compute (get one of these from `getEnv`)
342+ ||| @ term the term to normalise
343+ normalise : (env : List (TTName, Binder TT)) -> (term : TT) -> Elab TT
344+ normalise env term = prim__Normalise env term
346+ ||| Reduce a term to weak-head normal form
348+ ||| @ env the environment in which to compute (get one of these from `getEnv`)
349+ ||| @ term the term to reduce
350+ whnf : (env : List (TTName, Binder TT)) -> (term : TT) -> Elab TT
351+ whnf env term = prim__Whnf env term
336 ||| Find the source context for the elaboration script
353 ||| Find the source context for the elaboration script
337 getSourceLocation : Elab SourceLocation
354 getSourceLocation : Elab SourceLocation
338 getSourceLocation = prim__SourceLocation
355 getSourceLocation = prim__SourceLocation