From 530a14bfe7714f94babdb34c237b88321408a685 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 13 Nov 2017 23:45:12 -0400 Subject: - More refactoring. --- new-luxc/source/luxc/lang/analysis/function.lux | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'new-luxc/source/luxc/lang/analysis/function.lux') diff --git a/new-luxc/source/luxc/lang/analysis/function.lux b/new-luxc/source/luxc/lang/analysis/function.lux index 0bb46aba1..2a9826683 100644 --- a/new-luxc/source/luxc/lang/analysis/function.lux +++ b/new-luxc/source/luxc/lang/analysis/function.lux @@ -39,17 +39,14 @@ #;None (&;throw Invalid-Function-Type (%type expectedT))) - - (#;UnivQ _) - (do @ - [[var-id var] (&;with-type-env - tc;existential)] - (recur (maybe;assume (type;apply (list var) expectedT)))) - (#;ExQ _) - (do @ - [[var-id var] (&;with-type-env tc;var)] - (recur (maybe;assume (type;apply (list var) expectedT)))) + (^template [ ] + ( _) + (do @ + [[_ instanceT] (&;with-type-env )] + (recur (maybe;assume (type;apply (list instanceT) expectedT))))) + ([#;UnivQ tc;existential] + [#;ExQ tc;var]) (#;Var id) (do @ @@ -106,5 +103,5 @@ (format "\n " (%n idx) " " (%code argC)))) (text;join-with ""))))) (do meta;Monad - [[applyT argsA] (&inference;apply-function analyse funcT args)] + [[applyT argsA] (&inference;general analyse funcT args)] (wrap (la;apply argsA funcA))))) -- cgit v1.2.3