aboutsummaryrefslogtreecommitdiff
path: root/src/lux/analyser.clj
diff options
context:
space:
mode:
authorEduardo Julian2015-09-07 01:33:53 -0400
committerEduardo Julian2015-09-07 01:33:53 -0400
commit08584c8d9a462ce0bd3ffb6d9535ecb3f7043289 (patch)
tree7e8355c804c26c0232620a67f7c1054151ee21aa /src/lux/analyser.clj
parent77aae538ed0d128e291292b5defe80967d181be9 (diff)
- Type checking of polymorphic functions now relies on ExT types to guarantee that type-variables don't unify to anything, instead of relying on VarT types.
- Fixed some bugs in the standard library due to improper behavior of the type-checker. - The analysis and pattern-matching code for records now reuses that of tuples.
Diffstat (limited to '')
-rw-r--r--src/lux/analyser.clj6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lux/analyser.clj b/src/lux/analyser.clj
index fbc360628..9a57191f5 100644
--- a/src/lux/analyser.clj
+++ b/src/lux/analyser.clj
@@ -532,6 +532,12 @@
(prn 'analyse-basic-ast/Error-1 e)
(prn 'analyse-basic-ast/Error-2 (&/show-ast token))
(prn 'analyse-basic-ast/Error-3 (&type/show-type exo-type))
+ (|case ((&type/deref+ exo-type) state)
+ (&/$Right [_state _exo-type])
+ (prn 'analyse-basic-ast/Error-4 (&type/show-type _exo-type))
+
+ _
+ (prn 'analyse-basic-ast/Error-4 'YOLO))
(throw e))
)
(&/$Right state* output)