blob: cac653ccec7c7b0195be47e4a005113efd423400 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
module Hakyll.Parsec.Parsec
( compileParsec
, compileParsec_
, evalParsec
) where
import Prolog
import Hakyll
import Text.Parsec
import Text.Parsec.Error
import Hakyll.Error
-- evalParsec :: (MonadError [String] m) => Either ParseError a -> m a
-- evalParsec = either (throwError . fmap messageString . errorMessages) pure
compileParsec :: (MonadError [String] m, Stream s Identity t) => Parsec s u a -> u -> Item s -> m (Item a)
compileParsec p u itm@(Item i _) = traverse (liftErr . runParser p u (show i)) itm
compileParsec_ :: (MonadError [String] m, Stream s Identity t) => Parsec s () a -> Item s -> m (Item a)
compileParsec_ p = compileParsec p ()
|