@@ -17,6 +17,7 @@ import Idris.Core.Evaluate
1717import Idris.Core.Unify
1818import Idris.Core.ProofTerm (getProofTerm)
1919import Idris.Core.Typecheck (check, recheck, converts, isType)
20+import Idris.Core.WHNF (whnf)
2021import Idris.Coverage (buildSCG, checkDeclTotality, genClauses, recoverableCoverage, validCoverageCase)
2122import Idris.ErrReverse (errReverse)
2223import Idris.ElabQuasiquote (extractUnquotes)
@@ -2086,8 +2087,10 @@ runElabAction ist fc env tm ns = do tm' <- eval tm
20862087 ctxt <- get_context
20872088 let out = normaliseAll ctxt env' (finalise tm')
20882089 fmap fst . checkClosed $ reflect out
2089− | n == tacN "prim__Whnf", [env, tm] <- args
2090− = undefined -- TODO: merge Edwin's whnf from master, then call here
2090+ | n == tacN "prim__Whnf", [tm] <- args
2091+ = do tm' <- reifyTT tm
2092+ ctxt <- get_context
2093+ fmap fst . checkClosed . reflect $ whnf ctxt tm'
20912094 | n == tacN "prim__DeclareType", [decl] <- args
20922095 = do (RDeclare n args res) <- reifyTyDecl decl
20932096 ctxt <- get_context