incremental-parser-0.3.2.1: Generic parser library capable of providing partial results from partial input.

Control.Applicative.Monoid

Description

This module defines the MonoidApplicative and MonoidAlternative type classes. Their methods are specialized forms of the standard Applicative and Alternative class methods. Instances of these classes should override the default method implementations with more efficient ones.

# Documentation

class Applicative f => MonoidApplicative f where Source #

Minimal complete definition

Nothing

Methods

(+<*>) :: f (a -> a) -> f a -> f a infixl 4 Source #

A variant of the Applicative's <*> operator specialized for endomorphic functions.

(><) :: Semigroup a => f a -> f a -> f a infixl 5 Source #

Lifted and potentially optimized monoid mappend operation from the parameter type.

Instances
 Monoid s => MonoidApplicative (Parser t s) Source # The +<*> operator is specialized to return incremental parsing results. Instance detailsDefined in Text.ParserCombinators.Incremental Methods(+<*>) :: Parser t s (a -> a) -> Parser t s a -> Parser t s a Source #(><) :: Semigroup a => Parser t s a -> Parser t s a -> Parser t s a Source #

class (Alternative f, MonoidApplicative f) => MonoidAlternative f where Source #

Minimal complete definition

Nothing

Methods

moptional :: (Semigroup a, Monoid a) => f a -> f a Source #

Like optional, but restricted to Monoid results.

concatMany :: (Semigroup a, Monoid a) => f a -> f a Source #

Zero or more argument occurrences like many, but concatenated.

concatSome :: (Semigroup a, Monoid a) => f a -> f a Source #

One or more argument occurrences like some, but concatenated.

Instances
 (Alternative (Parser t s), Monoid s) => MonoidAlternative (Parser t s) Source # Instance detailsDefined in Text.ParserCombinators.Incremental Methodsmoptional :: (Semigroup a, Monoid a) => Parser t s a -> Parser t s a Source #concatMany :: (Semigroup a, Monoid a) => Parser t s a -> Parser t s a Source #concatSome :: (Semigroup a, Monoid a) => Parser t s a -> Parser t s a Source #