PQ2LKDLRPPS3JQBREYZRBUJ7DSU2TNWGJ6CKRXNZAUZF42IVMQRAC
LHB2J7Q7QZPVLC6EAZPB3MRVNMIWPCUXEJ55NUOOM3NCCRXLNOLQC
R3GV7TM2HTCXTHWA76FZK6JJRSXCPRPXHV7FKMWXPQ2W2RIOTXEQC
B2JWXIEPCMVVITDJDR2SACY4VHITXGH7ZM6A5RWN6E7OKTO43TUAC
, attoparsec
import Data.Bifunctor (bimap, first)
import Data.Attoparsec.Text (anyChar, parseOnly, endOfInput)import qualified Data.Attoparsec.Text as Attoimport Data.Bifunctor (bimap, first)
import Data.Attoparsec.Text (anyChar, parseOnly, endOfInput)
import qualified Data.Attoparsec.Text as Atto
char = argument auto . metavar
char = argument singleChar . metavarsingleChar :: ReadM CharsingleChar = eitherReader $ first parseError . (parseOnly oneChar . Text.pack) where parseError = const "Expecting a single character" oneChar = anyChar <* endOfInput
char = argument singleChar . metavar
singleChar :: ReadM Char
singleChar = eitherReader $
first parseError . (parseOnly oneChar . Text.pack)
where
parseError = const "Expecting a single character"
oneChar = anyChar <* endOfInput