Mercurial > 12ws.info2
view exercises/src/AdditionParser.hs @ 30:8bf7ca2663d2
Advanced AdditionParser
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Sat, 12 Jan 2013 14:36:43 +0000 |
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"