aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/control/parser/analysis.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/control/parser/analysis.lux20
1 files changed, 5 insertions, 15 deletions
diff --git a/stdlib/source/lux/control/parser/analysis.lux b/stdlib/source/lux/control/parser/analysis.lux
index fe8b4c4f0..824e2a83c 100644
--- a/stdlib/source/lux/control/parser/analysis.lux
+++ b/stdlib/source/lux/control/parser/analysis.lux
@@ -35,29 +35,19 @@
(list.interpose " ")
(text.join-with ""))))
-## TODO: Use "type:" ASAP.
-(def: Input Type (type (List Analysis)))
-
-(exception: #export (cannot-parse {input ..Input})
+(exception: #export (cannot-parse {input (List Analysis)})
(exception.report
["Input" (exception.enumerate /.%analysis input)]))
-(exception: #export (unconsumed-input {input ..Input})
+(exception: #export (unconsumed-input {input (List Analysis)})
(exception.report
["Input" (exception.enumerate /.%analysis input)]))
-(exception: #export (wrong-arity {expected Arity} {actual Arity})
- (exception.report
- ["Expected" (%.nat expected)]
- ["Actual" (%.nat actual)]))
-
-(exception: #export empty-input)
-
(type: #export Parser
- (//.Parser ..Input))
+ (//.Parser (List Analysis)))
(def: #export (run parser input)
- (All [a] (-> (Parser a) ..Input (Try a)))
+ (All [a] (-> (Parser a) (List Analysis) (Try a)))
(case (parser input)
(#try.Failure error)
(#try.Failure error)
@@ -73,7 +63,7 @@
(function (_ input)
(case input
#.Nil
- (exception.throw ..empty-input [])
+ (exception.throw ..cannot-parse input)
(#.Cons [head tail])
(#try.Success [tail head]))))