Mercurial > 12ws.info2
view exercises/src/AdditionParser.hs @ 39:9a7b9e0c9eb0 default tip
week 15 tutorial
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Fri, 08 Feb 2013 00:06:20 +0100 |
parents | 53732b9605c7 |
children |
line wrap: on
line source
module AdditionParser where import Data.Char import Parser digit :: Parser Char Char digit = one isDigit number :: Parser Char String number = list1(one isDigit) addition :: Parser Char [String] addition = number *** optional (item '+' *** addition >>> snd) >>> ints where ints (x, Just y) = x : y ints (x, _) = [x] test = addition "2134+123+1+2+3"