on master help sign in
Detect kernel variables in canonicalization
commit9eb1ab6c387ee7bd7ce6218cd8cb95728487fb96 authorEvan Czaplicki <evancz@users.noreply.github.com> dateWed 13 Dec 2017, 15:25 (9 years ago) parent27ffde4
1 file changed+9−1
src/Canonicalize/Expression.hs+9−1
src/Canonicalize/Expression.hs+9−1
@@ -639,7 +639,15 @@ findVar :: R.Region -> Env.Env -> Maybe N.Name -> N.Name -> Result FreeLocals w
639639findVar region (Env.Env localHome vars _ _ _) maybePrefix name =
640640 case Map.lookup name vars of
641641 Nothing ->
642− Result.throw (error "TODO no name" region)
642+ case maybePrefix of
643+ Nothing ->
644+ Result.throw (error "TODO no name" region)
645+
646+ Just prefix ->
647+ if ModuleName.isKernel prefix then
648+ Result.ok $ Can.VarKernel (ModuleName.getKernel prefix) name
649+ else
650+ Result.throw (error "TODO no name" region)
643651
644652 Just (Env.VarHomes unqualified qualified) ->
645653 case maybePrefix of