diff options
Diffstat (limited to 'src/lux/analyser/case.clj')
-rw-r--r-- | src/lux/analyser/case.clj | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lux/analyser/case.clj b/src/lux/analyser/case.clj index 7e5fd924b..d975d8989 100644 --- a/src/lux/analyser/case.clj +++ b/src/lux/analyser/case.clj @@ -69,6 +69,11 @@ (|do [=type (&type/apply-type type $var)] (adjust-type* (&/Cons$ (&/T _aenv 1 $var) (&/|map update-up-frame up)) =type)))) + (&/$ExQ _aenv _abody) + (|do [$var &type/existential + =type (&type/apply-type type $var)] + (adjust-type* up =type)) + (&/$TupleT ?members) (|do [(&/$TupleT ?members*) (&/fold% (fn [_abody ena] (|let [[_aenv _aidx (&/$VarT _avar)] ena] |