Run from ghci
. Must have attoparsec
available via cabal repl
.
:set -XOverloadedStrings
import Prelude
import Control.Applicative
import Data.Attoparsec.Text
data IPAddress = IPAddress Int Int Int Int deriving (Eq, Show)
let ipParser = IPAddress <$> decimal <* char '.' <*> decimal <* char '.' <*> decimal <* char '.' <*> decimal
-- Should return `Right (IPAddress 1 2 3 4)`
parseOnly ipParser "1.2.3.4"