From 5c178d01bce64bdae234c05823f7cb617925e621 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 21 Oct 2016 01:42:47 -0400 Subject: - Added an extra rule to the type-checker to avoid some stack-overflow errors. --- src/lux/type.clj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lux/type.clj b/src/lux/type.clj index 774d6b4d8..ad76fbadc 100644 --- a/src/lux/type.clj +++ b/src/lux/type.clj @@ -629,6 +629,7 @@ (&/$NamedT ?name ?type) (apply-type ?type param) + ;; TODO: This one must go... (&/$ExT id) (return (&/$AppT type-fn param)) @@ -767,6 +768,9 @@ (|do [expected* (apply-type F A)] (check* class-loader (fp-put fp-pair true fixpoints) invariant?? expected* actual)))) + [_ (&/$AppT (&/$ExT aid) A)] + (check-error "" expected actual) + [_ (&/$AppT F A)] (|do [actual* (apply-type F A)] (check* class-loader fixpoints invariant?? expected actual*)) -- cgit v1.2.3