diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/lang/compiler/analysis/inference.lux | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/stdlib/source/lux/lang/compiler/analysis/inference.lux b/stdlib/source/lux/lang/compiler/analysis/inference.lux index 5e3fb0cfe..42ab27a6c 100644 --- a/stdlib/source/lux/lang/compiler/analysis/inference.lux +++ b/stdlib/source/lux/lang/compiler/analysis/inference.lux @@ -43,30 +43,30 @@ [invalid-type-application] ) -(def: (replace bound-idx replacement type) +(def: (replace parameter-idx replacement type) (-> Nat Type Type Type) (case type (#.Primitive name params) - (#.Primitive name (list/map (replace bound-idx replacement) params)) + (#.Primitive name (list/map (replace parameter-idx replacement) params)) (^template [<tag>] (<tag> left right) - (<tag> (replace bound-idx replacement left) - (replace bound-idx replacement right))) + (<tag> (replace parameter-idx replacement left) + (replace parameter-idx replacement right))) ([#.Sum] [#.Product] [#.Function] [#.Apply]) - (#.Bound idx) - (if (n/= bound-idx idx) + (#.Parameter idx) + (if (n/= parameter-idx idx) replacement type) (^template [<tag>] (<tag> env quantified) - (<tag> (list/map (replace bound-idx replacement) env) - (replace (n/+ +2 bound-idx) replacement quantified))) + (<tag> (list/map (replace parameter-idx replacement) env) + (replace (n/+ +2 parameter-idx) replacement quantified))) ([#.UnivQ] [#.ExQ]) |