diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/control/parser/analysis.lux | 20 |
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])))) |