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