This commit is contained in:
2026-03-27 20:19:27 -07:00
parent a40956a4cc
commit aa6604038b
5 changed files with 5 additions and 6 deletions

View File

@@ -300,7 +300,7 @@ termToJS {e} env (CCase t alts) f =
termToJSAlt : JSEnv -> JSExp -> CAlt -> JAlt
termToJSAlt env nm (CConAlt ix name info args qs u) = JConAlt ix (termToJS (conAltEnv nm 0 env args) u f)
-- intentionally reusing scrutinee name here
termToJSAlt env nm (CDefAlt u) = JDefAlt (termToJS (env) u f)
termToJSAlt env nm (CDefAlt u) = JDefAlt (termToJS (env) u f)
termToJSAlt env nm (CLitAlt lit u) = JLitAlt (litToJS lit) (termToJS env u f)
getArgs : CAlt List String

View File

@@ -96,7 +96,7 @@ erase env t sp = case t of
eraseSpine env (LetRec fc nm ty u' v') sp Nothing
(Bnd fc k) => do
case getAt (cast k) env of
Nothing => error fc "bad index \{show k}"
Nothing => error fc "Erase: bad index \{show k}"
Just (nm, Zero, ty) => error fc "used erased value \{show nm} (FIXME FC may be wrong here)"
Just (nm, Many, ty) => eraseSpine env t sp ty
(UU fc) => eraseSpine env t sp (Just $ UU fc)

View File

@@ -12,7 +12,7 @@ import Data.SortedMap
eval : Env -> Tm -> M Val
-- REVIEW everything is evalutated whether it's needed or not
-- REVIEW everything is evaluated whether it's needed or not
-- It would be nice if the environment were lazy.
-- e.g. case is getting evaluated when passed to a function because
-- of dependencies in pi-types, even if the dependency isn't used
@@ -50,7 +50,7 @@ unlet : Env -> Val -> M Val
unlet env t@(VVar fc k sp) = case lookupVar env k of
Just tt@(VVar fc' k' sp') => do
debug $ \ _ => "lookup \{show k} is \{show tt}"
if k' == k then pure t else (vappSpine (VVar fc' k' sp') sp >>= unlet env)
if k' == k then pure t else (vappSpine tt sp >>= unlet env)
Just t => vappSpine t sp >>= unlet env
Nothing => do
debug $ \ _ => "lookup \{show k} is Nothing in env \{show env}"

View File

@@ -310,7 +310,6 @@ processInstance ns instfc ty decls = do
vdcty@(VPi _ nm icit rig a b) <- eval Nil dcty
| x => error (getFC x) "dcty not Pi"
debug $ \ _ => "dcty \{render 90 $ pprint Nil dcty}"
let (_,args) = funArgs codomain
debug $ \ _ => "traverse \{show $ map show args}"
-- This is a little painful because we're reverse engineering the