ref: 81a532e9e8abbff99dc41eed3a630b19281c0e75
parent: f88cfe40033a403c19c8e97a5d1cc4222e47598c
author: Lennart Augustsson <lennart@augustsson.net>
date: Mon Sep 16 06:58:03 EDT 2024
Fix bug in tuple constructor type.
--- a/src/MicroHs/TypeCheck.hs
+++ b/src/MicroHs/TypeCheck.hs
@@ -640,7 +640,7 @@
vks = [IdKind (mkIdent ("a" ++ show i)) kType | i <- enumFromTo 1 n]
ts = map tVarK vks
r = tApps c ts
- in (c, [Entry (ECon $ ConData [(c, n)] c []) $ EForall vks $ foldr tArrow r ts ])
+ in (c, [Entry (ECon $ ConData [(c, n)] c []) $ EForall vks $ EForall [] $ foldr tArrow r ts ])
in map tuple (enumFromTo 2 10)
kArrow :: EKind -> EKind -> EKind
@@ -2059,7 +2059,7 @@
case xpt of
-- Sanity check
EForall _ (EForall _ _) -> return ()
- _ -> undefined
+ _ -> impossibleShow i
EForall avs apt <- tInst' xpt
(sks, spt) <- shallowSkolemise avs apt
(d, p, pt) <-
--
⑨