diff options
author | Eduardo Julian | 2017-11-13 23:26:06 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-11-13 23:26:06 -0400 |
commit | 70005a6dee1eba3e3f5694aa4903e95988dcaa3d (patch) | |
tree | 19141f900847092c3aa5032a62b6b97eb1ea9a33 /new-luxc/source/luxc/lang/analysis/reference.lux | |
parent | b08f7d83a591be770af64b4c9ccd59f3306689e8 (diff) |
- Refactoring.
- Now giving type checking/inference a higher priority.
- Better error messages.
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/luxc/lang/analysis/reference.lux | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/new-luxc/source/luxc/lang/analysis/reference.lux b/new-luxc/source/luxc/lang/analysis/reference.lux index 5bc1f96c9..ef02919f4 100644 --- a/new-luxc/source/luxc/lang/analysis/reference.lux +++ b/new-luxc/source/luxc/lang/analysis/reference.lux @@ -14,9 +14,7 @@ (-> Ident (Meta Analysis)) (do meta;Monad<Meta> [actualT (meta;find-def-type def-name) - expectedT meta;expected-type - _ (&;with-type-env - (tc;check expectedT actualT))] + _ (&;infer actualT)] (wrap (code;symbol def-name)))) (def: (analyse-variable var-name) @@ -26,9 +24,7 @@ (case ?var (#;Some [actualT ref]) (do @ - [expectedT meta;expected-type - _ (&;with-type-env - (tc;check expectedT actualT))] + [_ (&;infer actualT)] (wrap (#;Some (` ((~ (code;int (variableL;from-ref ref)))))))) #;None @@ -41,8 +37,8 @@ (do meta;Monad<Meta> [?var (analyse-variable simple-name)] (case ?var - (#;Some analysis) - (wrap analysis) + (#;Some varA) + (wrap varA) #;None (do @ |