diff options
Diffstat (limited to 'stdlib/source/lux/control/effect.lux')
-rw-r--r-- | stdlib/source/lux/control/effect.lux | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/stdlib/source/lux/control/effect.lux b/stdlib/source/lux/control/effect.lux index 29db302da..16605e1c7 100644 --- a/stdlib/source/lux/control/effect.lux +++ b/stdlib/source/lux/control/effect.lux @@ -292,16 +292,16 @@ output compiler;expected-type] (case [input output] (^=> [(#;AppT eff0 _) (#;AppT stackT0 recT0)] - {(type;apply-type stackT0 recT0) (#;Some unfoldT0)} - {stackT0 (^ (#;AppT (#;NamedT (ident-for ;;Eff) _) - stackT1))} - {(type;apply-type stackT1 recT0) (#;Some unfoldT1)} - {(list;find (lambda [[idx effect]] + [(type;apply-type stackT0 recT0) (#;Some unfoldT0)] + [stackT0 (^ (#;AppT (#;NamedT (ident-for ;;Eff) _) + stackT1))] + [(type;apply-type stackT1 recT0) (#;Some unfoldT1)] + [(list;find (lambda [[idx effect]] (if (tc;checks? (clean-effect effect) eff0) (#;Some idx) #;None)) (|> unfoldT1 type;flatten-sum (List/map un-apply) list;enumerate)) - (#;Some idx)}) + (#;Some idx)]) (wrap (list (` (#;;Effect (:: (~ g!functor) (~' map) (~' wrap) ((~ (ast;int (nat-to-int idx))) (~ (ast;symbol var)))))))) |