diff options
author | Eduardo Julian | 2015-09-07 01:33:53 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-09-07 01:33:53 -0400 |
commit | 08584c8d9a462ce0bd3ffb6d9535ecb3f7043289 (patch) | |
tree | 7e8355c804c26c0232620a67f7c1054151ee21aa /src/lux/analyser.clj | |
parent | 77aae538ed0d128e291292b5defe80967d181be9 (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.clj | 6 |
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) |