pandoc-crossref-0.3.22: Pandoc filter for cross-references
CopyrightCopyright (C) 2025 Nikolay Yakimov
LicenseGNU GPL, version 2 or above
MaintainerNikolay Yakimov <root@livid.pp.ru>
Stabilityalpha
Portabilityportable
Safe HaskellNone
LanguageGHC2021

Text.Pandoc.CrossRef.Internal

Description

Internal definitions, exported only for convenience. No stability guarantees.

Synopsis

Documentation

data CrossRefEnv Source #

Enviromnent for CrossRefM

Constructors

CrossRefEnv 

Fields

newtype CrossRefM a Source #

Bit of a weird self-recursive State monad (not MonadFix). The inner reader (function) monad takes the final state (or part of it anyway) as its input. This is all carefully choreographed to lazily converge to a fixpoint, but it is also feasible to evaluate this in two passes instead.

Constructors

CrossRefM (ReaderT Meta WS a) 

Instances

Instances details
Applicative CrossRefM Source # 
Instance details

Defined in Text.Pandoc.CrossRef.Internal

Methods

pure :: a -> CrossRefM a #

(<*>) :: CrossRefM (a -> b) -> CrossRefM a -> CrossRefM b #

liftA2 :: (a -> b -> c) -> CrossRefM a -> CrossRefM b -> CrossRefM c #

(*>) :: CrossRefM a -> CrossRefM b -> CrossRefM b #

(<*) :: CrossRefM a -> CrossRefM b -> CrossRefM a #

Functor CrossRefM Source # 
Instance details

Defined in Text.Pandoc.CrossRef.Internal

Methods

fmap :: (a -> b) -> CrossRefM a -> CrossRefM b #

(<$) :: a -> CrossRefM b -> CrossRefM a #

Monad CrossRefM Source # 
Instance details

Defined in Text.Pandoc.CrossRef.Internal

Methods

(>>=) :: CrossRefM a -> (a -> CrossRefM b) -> CrossRefM b #

(>>) :: CrossRefM a -> CrossRefM b -> CrossRefM b #

return :: a -> CrossRefM a #

MonadReader Meta CrossRefM Source # 
Instance details

Defined in Text.Pandoc.CrossRef.Internal

Methods

ask :: CrossRefM Meta #

local :: (Meta -> Meta) -> CrossRefM a -> CrossRefM a #

reader :: (Meta -> a) -> CrossRefM a #