Haskell: runGetState и списки - PullRequest
       13

Haskell: runGetState и списки

1 голос
/ 04 апреля 2011

Здравствуйте. Я пытаюсь написать простой двоичный парсер в Haskell, используя монаду runGetState.

Однако я столкнулся с проблемой разбора списка полей и застрял.

Проблема в том, что список полей может время от времени меняться, поэтому я хочу построить поля списка и затем прочитать их, используя карту.Фрагмент кода ниже:

readField field_type =

            case (field_type) of
              0   -> A1 <$> getWord8
              132 -> A2 <$> getWord16be
              134 -> A3 <$> getWord32be

parseData fields =  return $ map (\x -> readField x) a

(fdata,input,no) <- return (runGetState (parseData [132,134,0]) input no)

Я попробовал вышеуказанное решение без удачи.Может кто-нибудь сказать мне, что я делаю не так?

1 Ответ

1 голос
/ 04 апреля 2011

Похоже, что-то вроде

parseData = mapM readField
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...