diff options
author | Eduardo Julian | 2017-11-12 23:49:34 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-11-12 23:49:34 -0400 |
commit | ca297162d5416a8c7b8af5f27757900d82d3ad03 (patch) | |
tree | ec9e664f09d6c29d91e9ae6be5d3abb6ef0e7ca4 /new-luxc/source/luxc/lang/analysis/function.lux | |
parent | 63624fd6b7f9f2563898655472025020483d398f (diff) |
- Fixed some bugs.
- Improved error reporting.
- Optimized pattern-matching a bit.
Diffstat (limited to 'new-luxc/source/luxc/lang/analysis/function.lux')
-rw-r--r-- | new-luxc/source/luxc/lang/analysis/function.lux | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/new-luxc/source/luxc/lang/analysis/function.lux b/new-luxc/source/luxc/lang/analysis/function.lux index 627fb7c0a..5a6df4d3e 100644 --- a/new-luxc/source/luxc/lang/analysis/function.lux +++ b/new-luxc/source/luxc/lang/analysis/function.lux @@ -102,10 +102,14 @@ (&;with-stacked-errors (function [_] (Cannot-Apply-Function (format " Function: " (%type funcT) "\n" - "Arguments: " (|> args (list/map %code) (text;join-with " "))))) + "Arguments:" (|> args + list;enumerate + (list/map (function [[idx argC]] + (format "\n " (%n idx) " " (%code argC)))) + (text;join-with ""))))) (do meta;Monad<Meta> - [expected meta;expected-type + [expectedT meta;expected-type [applyT argsA] (&inference;apply-function analyse funcT args) _ (&;with-type-env - (tc;check expected applyT))] + (tc;check expectedT applyT))] (wrap (la;apply argsA funcA))))) |