shithub: MicroHs

Download patch

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) <-
--