aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/analysis/case/coverage.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/analysis/case/coverage.lux')
-rw-r--r--new-luxc/source/luxc/lang/analysis/case/coverage.lux13
1 files changed, 7 insertions, 6 deletions
diff --git a/new-luxc/source/luxc/lang/analysis/case/coverage.lux b/new-luxc/source/luxc/lang/analysis/case/coverage.lux
index ae72b47e4..b81a3b7a9 100644
--- a/new-luxc/source/luxc/lang/analysis/case/coverage.lux
+++ b/new-luxc/source/luxc/lang/analysis/case/coverage.lux
@@ -13,6 +13,9 @@
(luxc ["&" lang]
(lang ["la" analysis])))
+(exception: #export (Unknown-Pattern {message Text})
+ message)
+
## The coverage of a pattern-matching expression summarizes how well
## all the possible values of an input are being covered by the
## different patterns involved.
@@ -42,8 +45,6 @@
_
false))
-(exception: #export Unknown-Pattern)
-
(def: #export (determine pattern)
(-> la.Pattern (Meta Coverage))
(case pattern
@@ -142,7 +143,7 @@
(let [flatR (flatten-alt reference)
flatS (flatten-alt sample)]
(and (n/= (list.size flatR) (list.size flatS))
- (list.every? (function [[coverageR coverageS]]
+ (list.every? (function (_ [coverageR coverageS])
(= coverageR coverageS))
(list.zip2 flatR flatS))))
@@ -184,7 +185,7 @@
## else
(do e.Monad<Error>
[casesM (monad.fold @
- (function [[tagA coverageA] casesSF']
+ (function (_ [tagA coverageA] casesSF')
(case (dict.get tagA casesSF')
(#.Some coverageSF)
(do @
@@ -251,7 +252,7 @@
[#let [fuse-once (: (-> Coverage (List Coverage)
(e.Error [(Maybe Coverage)
(List Coverage)]))
- (function [coverage possibilities]
+ (function (_ coverage possibilities)
(loop [alts possibilities]
(case alts
#.Nil
@@ -284,7 +285,7 @@
#.None
(case (list.reverse possibilities)
(#.Cons last prevs)
- (wrap (list/fold (function [left right] (#Alt left right))
+ (wrap (list/fold (function (_ left right) (#Alt left right))
last
prevs))