Аппликативный конструктор для записей

Я хочу в общем случае создать аппликативные конструкторы для записей haskell, чтобы создать парсер для записи.

Рассмотрим запись:

data Record = Record {i :: Int, f :: Float}

конструктор, который мне нужен:

Record <$> pInt <*> pFloat

Даны парсеры для основных типов:

class Parseable a where
  getParser :: Parser a

instance Parseable Int where
  getParser = pInt

instance Parseable Float where
  getParser = pFloat

Есть ли библиотеки, которые уже могут это сделать? Возможно ли определить getParser для записи? Заранее спасибо.

5
задан Maarten 10 July 2012 в 14:58
поделиться