HaXml-1.25.14: Utilities for manipulating XML documents
Safe HaskellSafe-Inferred
LanguageHaskell98

Text.XML.HaXml.XmlContent.Parser

Description

The class XmlContent is a kind of replacement for Read and Show: it provides conversions between a generic XML tree representation and your own more specialised typeful Haskell data trees.

If you are starting with a set of Haskell datatypes, use DrIFT to derive instances of this class for you: http://repetae.net/john/computer/haskell/DrIFT If you are starting with an XML DTD, use HaXml's tool DtdToHaskell to generate both the Haskell types and the corresponding instances.

This unified class interface replaces two previous (somewhat similar) classes: Haskell2Xml and Xml2Haskell. There was no real reason to have separate classes depending on how you originally defined your datatypes. However, some instances for basic types like lists will depend on which direction you are using. See Text.XML.HaXml.XmlContent and Text.XML.HaXml.XmlContent.Haskell.

Synopsis

Re-export the relevant set of generic XML document type definitions

data Document i Source #

The symbol table stored in a document holds all its general entity reference definitions.

Constructors

Document Prolog (SymTab EntityDef) (Element i) [Misc] 

Instances

Instances details
Functor Document Source # 
Instance details

Defined in Text.XML.HaXml.Types

Methods

fmap :: (a -> b) -> Document a -> Document b Source #

(<$) :: a -> Document b -> Document a Source #

Show i => Show (Document i) Source # 
Instance details

Defined in Text.XML.HaXml.Types

Eq (Document i) Source # 
Instance details

Defined in Text.XML.HaXml.Types

Methods

(==) :: Document i -> Document i -> Bool Source #

(/=) :: Document i -> Document i -> Bool Source #

data Element i Source #

Constructors

Elem QName [Attribute] [Content i] 

Instances

Instances details
Functor Element Source # 
Instance details

Defined in Text.XML.HaXml.Types

Methods

fmap :: (a -> b) -> Element a -> Element b Source #

(<$) :: a -> Element b -> Element a Source #

Verbatim (Element i) Source # 
Instance details

Defined in Text.XML.HaXml.Verbatim

Methods

verbatim :: Element i -> String Source #

Show i => Show (Element i) Source # 
Instance details

Defined in Text.XML.HaXml.Types

Eq (Element i) Source # 
Instance details

Defined in Text.XML.HaXml.Types

Methods

(==) :: Element i -> Element i -> Bool Source #

(/=) :: Element i -> Element i -> Bool Source #

data ElemTag Source #

Constructors

ElemTag QName [Attribute] 

Instances

Instances details
Eq ElemTag Source # 
Instance details

Defined in Text.XML.HaXml.Types

data Content i Source #

Constructors

CElem (Element i) i 
CString Bool CharData i

bool is whether whitespace is significant

CRef Reference i 
CMisc Misc i 

Instances

Instances details
Functor Content Source # 
Instance details

Defined in Text.XML.HaXml.Types

Methods

fmap :: (a -> b) -> Content a -> Content b Source #

(<$) :: a -> Content b -> Content a Source #

Verbatim (Content i) Source # 
Instance details

Defined in Text.XML.HaXml.Verbatim

Methods

verbatim :: Content i -> String Source #

Show i => Show (Content i) Source # 
Instance details

Defined in Text.XML.HaXml.Types

Eq (Content i) Source # 
Instance details

Defined in Text.XML.HaXml.Types

Methods

(==) :: Content i -> Content i -> Bool Source #

(/=) :: Content i -> Content i -> Bool Source #

data AttValue Source #

Instances

Instances details
Verbatim AttValue Source # 
Instance details

Defined in Text.XML.HaXml.Verbatim

Show AttValue Source # 
Instance details

Defined in Text.XML.HaXml.Types

Eq AttValue Source # 
Instance details

Defined in Text.XML.HaXml.Types

data Prolog Source #

Constructors

Prolog (Maybe XMLDecl) [Misc] (Maybe DocTypeDecl) [Misc] 

Instances

Instances details
Show Prolog Source # 
Instance details

Defined in Text.XML.HaXml.Types

Eq Prolog Source # 
Instance details

Defined in Text.XML.HaXml.Types

data Reference Source #

Instances

Instances details
Verbatim Reference Source # 
Instance details

Defined in Text.XML.HaXml.Verbatim

Show Reference Source # 
Instance details

Defined in Text.XML.HaXml.Types

Eq Reference Source # 
Instance details

Defined in Text.XML.HaXml.Types

The enabling classes, that define parsing/unparsing between Haskell

class HTypeable a => XmlContent a where Source #

The XmlContent class promises that an XML Content element can be converted to and from a Haskell value.

Minimal complete definition

parseContents, toContents

Methods

parseContents :: XMLParser a Source #

Convert from XML to Haskell

toContents :: a -> [Content ()] Source #

Convert from Haskell to XML

xToChar :: a -> Char Source #

Dummy functions (for most types): used only in the Char instance for coercing lists of Char into String.

xFromChar :: Char -> a Source #

Instances

Instances details
XmlContent ANYContent Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

XmlContent Integer Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent () Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent Bool Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent Char Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent Char Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent

XmlContent Double Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent Float Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent Int Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent a => XmlContent (OneOf1 a) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

XmlContent a => XmlContent (List1 a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

XmlContent a => XmlContent (Maybe a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

XmlContent a => XmlContent (Maybe a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent

XmlContent a => XmlContent [a] Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

Methods

parseContents :: XMLParser [a] Source #

toContents :: [a] -> [Content ()] Source #

xToChar :: [a] -> Char Source #

xFromChar :: Char -> [a] Source #

XmlContent a => XmlContent [a] Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent

Methods

parseContents :: XMLParser [a] Source #

toContents :: [a] -> [Content ()] Source #

xToChar :: [a] -> Char Source #

xFromChar :: Char -> [a] Source #

(XmlContent a, XmlContent b) => XmlContent (OneOf2 a b) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

(XmlContent a, XmlContent b) => XmlContent (Either a b) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Haskell

(XmlContent a, XmlContent b) => XmlContent (a, b) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b) Source #

toContents :: (a, b) -> [Content ()] Source #

xToChar :: (a, b) -> Char Source #

xFromChar :: Char -> (a, b) Source #

(XmlContent a, XmlContent b, XmlContent c) => XmlContent (OneOf3 a b c) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

(XmlContent a, XmlContent b, XmlContent c) => XmlContent (a, b, c) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c) Source #

toContents :: (a, b, c) -> [Content ()] Source #

xToChar :: (a, b, c) -> Char Source #

xFromChar :: Char -> (a, b, c) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d) => XmlContent (OneOf4 a b c d) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf4 a b c d) Source #

toContents :: OneOf4 a b c d -> [Content ()] Source #

xToChar :: OneOf4 a b c d -> Char Source #

xFromChar :: Char -> OneOf4 a b c d Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d) => XmlContent (a, b, c, d) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d) Source #

toContents :: (a, b, c, d) -> [Content ()] Source #

xToChar :: (a, b, c, d) -> Char Source #

xFromChar :: Char -> (a, b, c, d) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e) => XmlContent (OneOf5 a b c d e) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf5 a b c d e) Source #

toContents :: OneOf5 a b c d e -> [Content ()] Source #

xToChar :: OneOf5 a b c d e -> Char Source #

xFromChar :: Char -> OneOf5 a b c d e Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e) => XmlContent (a, b, c, d, e) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e) Source #

toContents :: (a, b, c, d, e) -> [Content ()] Source #

xToChar :: (a, b, c, d, e) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f) => XmlContent (OneOf6 a b c d e f) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf6 a b c d e f) Source #

toContents :: OneOf6 a b c d e f -> [Content ()] Source #

xToChar :: OneOf6 a b c d e f -> Char Source #

xFromChar :: Char -> OneOf6 a b c d e f Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f) => XmlContent (a, b, c, d, e, f) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f) Source #

toContents :: (a, b, c, d, e, f) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g) => XmlContent (OneOf7 a b c d e f g) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf7 a b c d e f g) Source #

toContents :: OneOf7 a b c d e f g -> [Content ()] Source #

xToChar :: OneOf7 a b c d e f g -> Char Source #

xFromChar :: Char -> OneOf7 a b c d e f g Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g) => XmlContent (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g) Source #

toContents :: (a, b, c, d, e, f, g) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h) => XmlContent (OneOf8 a b c d e f g h) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf8 a b c d e f g h) Source #

toContents :: OneOf8 a b c d e f g h -> [Content ()] Source #

xToChar :: OneOf8 a b c d e f g h -> Char Source #

xFromChar :: Char -> OneOf8 a b c d e f g h Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h) => XmlContent (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h) Source #

toContents :: (a, b, c, d, e, f, g, h) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i) => XmlContent (OneOf9 a b c d e f g h i) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf9 a b c d e f g h i) Source #

toContents :: OneOf9 a b c d e f g h i -> [Content ()] Source #

xToChar :: OneOf9 a b c d e f g h i -> Char Source #

xFromChar :: Char -> OneOf9 a b c d e f g h i Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i) => XmlContent (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i) Source #

toContents :: (a, b, c, d, e, f, g, h, i) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j) => XmlContent (OneOf10 a b c d e f g h i j) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf10 a b c d e f g h i j) Source #

toContents :: OneOf10 a b c d e f g h i j -> [Content ()] Source #

xToChar :: OneOf10 a b c d e f g h i j -> Char Source #

xFromChar :: Char -> OneOf10 a b c d e f g h i j Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j) => XmlContent (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i, j) Source #

toContents :: (a, b, c, d, e, f, g, h, i, j) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i, j) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i, j) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k) => XmlContent (OneOf11 a b c d e f g h i j k) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf11 a b c d e f g h i j k) Source #

toContents :: OneOf11 a b c d e f g h i j k -> [Content ()] Source #

xToChar :: OneOf11 a b c d e f g h i j k -> Char Source #

xFromChar :: Char -> OneOf11 a b c d e f g h i j k Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k) => XmlContent (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i, j, k) Source #

toContents :: (a, b, c, d, e, f, g, h, i, j, k) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i, j, k) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i, j, k) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l) => XmlContent (OneOf12 a b c d e f g h i j k l) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf12 a b c d e f g h i j k l) Source #

toContents :: OneOf12 a b c d e f g h i j k l -> [Content ()] Source #

xToChar :: OneOf12 a b c d e f g h i j k l -> Char Source #

xFromChar :: Char -> OneOf12 a b c d e f g h i j k l Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l) => XmlContent (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i, j, k, l) Source #

toContents :: (a, b, c, d, e, f, g, h, i, j, k, l) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m) => XmlContent (OneOf13 a b c d e f g h i j k l m) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf13 a b c d e f g h i j k l m) Source #

toContents :: OneOf13 a b c d e f g h i j k l m -> [Content ()] Source #

xToChar :: OneOf13 a b c d e f g h i j k l m -> Char Source #

xFromChar :: Char -> OneOf13 a b c d e f g h i j k l m Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m) => XmlContent (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

toContents :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n) => XmlContent (OneOf14 a b c d e f g h i j k l m n) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf14 a b c d e f g h i j k l m n) Source #

toContents :: OneOf14 a b c d e f g h i j k l m n -> [Content ()] Source #

xToChar :: OneOf14 a b c d e f g h i j k l m n -> Char Source #

xFromChar :: Char -> OneOf14 a b c d e f g h i j k l m n Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n) => XmlContent (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

toContents :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o) => XmlContent (OneOf15 a b c d e f g h i j k l m n o) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf15 a b c d e f g h i j k l m n o) Source #

toContents :: OneOf15 a b c d e f g h i j k l m n o -> [Content ()] Source #

xToChar :: OneOf15 a b c d e f g h i j k l m n o -> Char Source #

xFromChar :: Char -> OneOf15 a b c d e f g h i j k l m n o Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o) => XmlContent (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

parseContents :: XMLParser (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

toContents :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> [Content ()] Source #

xToChar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Char Source #

xFromChar :: Char -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o, XmlContent p) => XmlContent (OneOf16 a b c d e f g h i j k l m n o p) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf16 a b c d e f g h i j k l m n o p) Source #

toContents :: OneOf16 a b c d e f g h i j k l m n o p -> [Content ()] Source #

xToChar :: OneOf16 a b c d e f g h i j k l m n o p -> Char Source #

xFromChar :: Char -> OneOf16 a b c d e f g h i j k l m n o p Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o, XmlContent p, XmlContent q) => XmlContent (OneOf17 a b c d e f g h i j k l m n o p q) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf17 a b c d e f g h i j k l m n o p q) Source #

toContents :: OneOf17 a b c d e f g h i j k l m n o p q -> [Content ()] Source #

xToChar :: OneOf17 a b c d e f g h i j k l m n o p q -> Char Source #

xFromChar :: Char -> OneOf17 a b c d e f g h i j k l m n o p q Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o, XmlContent p, XmlContent q, XmlContent r) => XmlContent (OneOf18 a b c d e f g h i j k l m n o p q r) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf18 a b c d e f g h i j k l m n o p q r) Source #

toContents :: OneOf18 a b c d e f g h i j k l m n o p q r -> [Content ()] Source #

xToChar :: OneOf18 a b c d e f g h i j k l m n o p q r -> Char Source #

xFromChar :: Char -> OneOf18 a b c d e f g h i j k l m n o p q r Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o, XmlContent p, XmlContent q, XmlContent r, XmlContent s) => XmlContent (OneOf19 a b c d e f g h i j k l m n o p q r s) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf19 a b c d e f g h i j k l m n o p q r s) Source #

toContents :: OneOf19 a b c d e f g h i j k l m n o p q r s -> [Content ()] Source #

xToChar :: OneOf19 a b c d e f g h i j k l m n o p q r s -> Char Source #

xFromChar :: Char -> OneOf19 a b c d e f g h i j k l m n o p q r s Source #

(XmlContent a, XmlContent b, XmlContent c, XmlContent d, XmlContent e, XmlContent f, XmlContent g, XmlContent h, XmlContent i, XmlContent j, XmlContent k, XmlContent l, XmlContent m, XmlContent n, XmlContent o, XmlContent p, XmlContent q, XmlContent r, XmlContent s, XmlContent t) => XmlContent (OneOf20 a b c d e f g h i j k l m n o p q r s t) Source # 
Instance details

Defined in Text.XML.HaXml.OneOfN

Methods

parseContents :: XMLParser (OneOf20 a b c d e f g h i j k l m n o p q r s t) Source #

toContents :: OneOf20 a b c d e f g h i j k l m n o p q r s t -> [Content ()] Source #

xToChar :: OneOf20 a b c d e f g h i j k l m n o p q r s t -> Char Source #

xFromChar :: Char -> OneOf20 a b c d e f g h i j k l m n o p q r s t Source #

class XmlAttributes a where Source #

The XmlAttributes class promises that a list of XML tag attributes can be converted to and from a Haskell value.

Methods

fromAttrs :: [Attribute] -> a Source #

toAttrs :: a -> [Attribute] Source #

class XmlAttrType a where Source #

The XmlAttrType class promises that an attribute taking an XML enumerated type can be converted to and from a Haskell value.

Auxiliaries for writing parsers in the XmlContent class

class Functor f => Applicative (f :: Type -> Type) where Source #

A functor with application, providing operations to

  • embed pure expressions (pure), and
  • sequence computations and combine their results (<*> and liftA2).

A minimal complete definition must include implementations of pure and of either <*> or liftA2. If it defines both, then they must behave the same as their default definitions:

(<*>) = liftA2 id
liftA2 f x y = f <$> x <*> y

Further, any definition must satisfy the following:

Identity
pure id <*> v = v
Composition
pure (.) <*> u <*> v <*> w = u <*> (v <*> w)
Homomorphism
pure f <*> pure x = pure (f x)
Interchange
u <*> pure y = pure ($ y) <*> u

The other methods have the following default definitions, which may be overridden with equivalent specialized implementations:

As a consequence of these laws, the Functor instance for f will satisfy

It may be useful to note that supposing

forall x y. p (q x y) = f x . g y

it follows from the above that

liftA2 p (liftA2 q u v) = liftA2 f u . liftA2 g v

If f is also a Monad, it should satisfy

(which implies that pure and <*> satisfy the applicative functor laws).

Minimal complete definition

pure, ((<*>) | liftA2)

Methods

pure :: a -> f a Source #

Lift a value into the Structure.

Examples

Expand
>>> pure 1 :: Maybe Int
Just 1
>>> pure 'z' :: [Char]
"z"
>>> pure (pure ":D") :: Maybe [String]
Just [":D"]

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

Sequential application.

A few functors support an implementation of <*> that is more efficient than the default one.

Example

Expand

Used in combination with (<$>), (<*>) can be used to build a record.

>>> data MyState = MyState {arg1 :: Foo, arg2 :: Bar, arg3 :: Baz}
>>> produceFoo :: Applicative f => f Foo
>>> produceBar :: Applicative f => f Bar
>>> produceBaz :: Applicative f => f Baz
>>> mkState :: Applicative f => f MyState
>>> mkState = MyState <$> produceFoo <*> produceBar <*> produceBaz

liftA2 :: (a -> b -> c) -> f a -> f b -> f c Source #

Lift a binary function to actions.

Some functors support an implementation of liftA2 that is more efficient than the default one. In particular, if fmap is an expensive operation, it is likely better to use liftA2 than to fmap over the structure and then use <*>.

This became a typeclass method in 4.10.0.0. Prior to that, it was a function defined in terms of <*> and fmap.

Example

Expand
>>> liftA2 (,) (Just 3) (Just 5)
Just (3,5)
>>> liftA2 (+) [1, 2, 3] [4, 5, 6]
[5,6,7,6,7,8,7,8,9]

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

Sequence actions, discarding the value of the first argument.

Examples

Expand

If used in conjunction with the Applicative instance for Maybe, you can chain Maybe computations, with a possible "early return" in case of Nothing.

>>> Just 2 *> Just 3
Just 3
>>> Nothing *> Just 3
Nothing

Of course a more interesting use case would be to have effectful computations instead of just returning pure values.

>>> import Data.Char
>>> import GHC.Internal.Text.ParserCombinators.ReadP
>>> let p = string "my name is " *> munch1 isAlpha <* eof
>>> readP_to_S p "my name is Simon"
[("Simon","")]

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

Sequence actions, discarding the value of the second argument.

Instances

Instances details
Applicative Complex

Since: base-4.9.0.0

Instance details

Defined in Data.Complex

Methods

pure :: a -> Complex a Source #

(<*>) :: Complex (a -> b) -> Complex a -> Complex b Source #

liftA2 :: (a -> b -> c) -> Complex a -> Complex b -> Complex c Source #

(*>) :: Complex a -> Complex b -> Complex b Source #

(<*) :: Complex a -> Complex b -> Complex a Source #

Applicative First

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

pure :: a -> First a Source #

(<*>) :: First (a -> b) -> First a -> First b Source #

liftA2 :: (a -> b -> c) -> First a -> First b -> First c Source #

(*>) :: First a -> First b -> First b Source #

(<*) :: First a -> First b -> First a Source #

Applicative Last

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

pure :: a -> Last a Source #

(<*>) :: Last (a -> b) -> Last a -> Last b Source #

liftA2 :: (a -> b -> c) -> Last a -> Last b -> Last c Source #

(*>) :: Last a -> Last b -> Last b Source #

(<*) :: Last a -> Last b -> Last a Source #

Applicative Max

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

pure :: a -> Max a Source #

(<*>) :: Max (a -> b) -> Max a -> Max b Source #

liftA2 :: (a -> b -> c) -> Max a -> Max b -> Max c Source #

(*>) :: Max a -> Max b -> Max b Source #

(<*) :: Max a -> Max b -> Max a Source #

Applicative Min

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

pure :: a -> Min a Source #

(<*>) :: Min (a -> b) -> Min a -> Min b Source #

liftA2 :: (a -> b -> c) -> Min a -> Min b -> Min c Source #

(*>) :: Min a -> Min b -> Min b Source #

(<*) :: Min a -> Min b -> Min a Source #

Applicative Put 
Instance details

Defined in Data.ByteString.Builder.Internal

Methods

pure :: a -> Put a Source #

(<*>) :: Put (a -> b) -> Put a -> Put b Source #

liftA2 :: (a -> b -> c) -> Put a -> Put b -> Put c Source #

(*>) :: Put a -> Put b -> Put b Source #

(<*) :: Put a -> Put b -> Put a Source #

Applicative Seq

Since: containers-0.5.4

Instance details

Defined in Data.Sequence.Internal

Methods

pure :: a -> Seq a Source #

(<*>) :: Seq (a -> b) -> Seq a -> Seq b Source #

liftA2 :: (a -> b -> c) -> Seq a -> Seq b -> Seq c Source #

(*>) :: Seq a -> Seq b -> Seq b Source #

(<*) :: Seq a -> Seq b -> Seq a Source #

Applicative Tree 
Instance details

Defined in Data.Tree

Methods

pure :: a -> Tree a Source #

(<*>) :: Tree (a -> b) -> Tree a -> Tree b Source #

liftA2 :: (a -> b -> c) -> Tree a -> Tree b -> Tree c Source #

(*>) :: Tree a -> Tree b -> Tree b Source #

(<*) :: Tree a -> Tree b -> Tree a Source #

Applicative NonEmpty

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> NonEmpty a Source #

(<*>) :: NonEmpty (a -> b) -> NonEmpty a -> NonEmpty b Source #

liftA2 :: (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c Source #

(*>) :: NonEmpty a -> NonEmpty b -> NonEmpty b Source #

(<*) :: NonEmpty a -> NonEmpty b -> NonEmpty a Source #

Applicative ZipList
f <$> ZipList xs1 <*> ... <*> ZipList xsN
    = ZipList (zipWithN f xs1 ... xsN)

where zipWithN refers to the zipWith function of the appropriate arity (zipWith, zipWith3, zipWith4, ...). For example:

(\a b c -> stimes c [a, b]) <$> ZipList "abcd" <*> ZipList "567" <*> ZipList [1..]
    = ZipList (zipWith3 (\a b c -> stimes c [a, b]) "abcd" "567" [1..])
    = ZipList {getZipList = ["a5","b6b6","c7c7c7"]}

Since: base-2.1

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

pure :: a -> ZipList a Source #

(<*>) :: ZipList (a -> b) -> ZipList a -> ZipList b Source #

liftA2 :: (a -> b -> c) -> ZipList a -> ZipList b -> ZipList c Source #

(*>) :: ZipList a -> ZipList b -> ZipList b Source #

(<*) :: ZipList a -> ZipList b -> ZipList a Source #

Applicative Par1

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> Par1 a Source #

(<*>) :: Par1 (a -> b) -> Par1 a -> Par1 b Source #

liftA2 :: (a -> b -> c) -> Par1 a -> Par1 b -> Par1 c Source #

(*>) :: Par1 a -> Par1 b -> Par1 b Source #

(<*) :: Par1 a -> Par1 b -> Par1 a Source #

Applicative P

Since: base-4.5.0.0

Instance details

Defined in GHC.Internal.Text.ParserCombinators.ReadP

Methods

pure :: a -> P a Source #

(<*>) :: P (a -> b) -> P a -> P b Source #

liftA2 :: (a -> b -> c) -> P a -> P b -> P c Source #

(*>) :: P a -> P b -> P b Source #

(<*) :: P a -> P b -> P a Source #

Applicative ReadP

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Text.ParserCombinators.ReadP

Methods

pure :: a -> ReadP a Source #

(<*>) :: ReadP (a -> b) -> ReadP a -> ReadP b Source #

liftA2 :: (a -> b -> c) -> ReadP a -> ReadP b -> ReadP c Source #

(*>) :: ReadP a -> ReadP b -> ReadP b Source #

(<*) :: ReadP a -> ReadP b -> ReadP a Source #

Applicative IO

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> IO a Source #

(<*>) :: IO (a -> b) -> IO a -> IO b Source #

liftA2 :: (a -> b -> c) -> IO a -> IO b -> IO c Source #

(*>) :: IO a -> IO b -> IO b Source #

(<*) :: IO a -> IO b -> IO a Source #

Applicative Parser 
Instance details

Defined in Text.ParserCombinators.HuttonMeijer

Methods

pure :: a -> Parser a Source #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b Source #

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c Source #

(*>) :: Parser a -> Parser b -> Parser b Source #

(<*) :: Parser a -> Parser b -> Parser a Source #

Applicative Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteString

Methods

pure :: a -> Parser a Source #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b Source #

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c Source #

(*>) :: Parser a -> Parser b -> Parser b Source #

(<*) :: Parser a -> Parser b -> Parser a Source #

Applicative Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteStringChar

Methods

pure :: a -> Parser a Source #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b Source #

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c Source #

(*>) :: Parser a -> Parser b -> Parser b Source #

(<*) :: Parser a -> Parser b -> Parser a Source #

Applicative Parser 
Instance details

Defined in Text.ParserCombinators.Poly.Text

Methods

pure :: a -> Parser a Source #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b Source #

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c Source #

(*>) :: Parser a -> Parser b -> Parser b Source #

(<*) :: Parser a -> Parser b -> Parser a Source #

Applicative Maybe

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> Maybe a Source #

(<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

liftA2 :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c Source #

(*>) :: Maybe a -> Maybe b -> Maybe b Source #

(<*) :: Maybe a -> Maybe b -> Maybe a Source #

Applicative Solo

Since: base-4.15

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> Solo a Source #

(<*>) :: Solo (a -> b) -> Solo a -> Solo b Source #

liftA2 :: (a -> b -> c) -> Solo a -> Solo b -> Solo c Source #

(*>) :: Solo a -> Solo b -> Solo b Source #

(<*) :: Solo a -> Solo b -> Solo a Source #

Applicative []

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> [a] Source #

(<*>) :: [a -> b] -> [a] -> [b] Source #

liftA2 :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

(*>) :: [a] -> [b] -> [b] Source #

(<*) :: [a] -> [b] -> [a] Source #

Monad m => Applicative (WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

pure :: a -> WrappedMonad m a Source #

(<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b Source #

liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c Source #

(*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b Source #

(<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a Source #

Applicative (SetM s) 
Instance details

Defined in Data.Graph

Methods

pure :: a -> SetM s a Source #

(<*>) :: SetM s (a -> b) -> SetM s a -> SetM s b Source #

liftA2 :: (a -> b -> c) -> SetM s a -> SetM s b -> SetM s c Source #

(*>) :: SetM s a -> SetM s b -> SetM s b Source #

(<*) :: SetM s a -> SetM s b -> SetM s a Source #

Applicative (Either e)

Since: base-3.0

Instance details

Defined in GHC.Internal.Data.Either

Methods

pure :: a -> Either e a Source #

(<*>) :: Either e (a -> b) -> Either e a -> Either e b Source #

liftA2 :: (a -> b -> c) -> Either e a -> Either e b -> Either e c Source #

(*>) :: Either e a -> Either e b -> Either e b Source #

(<*) :: Either e a -> Either e b -> Either e a Source #

Applicative (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> U1 a Source #

(<*>) :: U1 (a -> b) -> U1 a -> U1 b Source #

liftA2 :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Source #

(*>) :: U1 a -> U1 b -> U1 b Source #

(<*) :: U1 a -> U1 b -> U1 a Source #

Applicative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lazy

Methods

pure :: a -> Parser t a Source #

(<*>) :: Parser t (a -> b) -> Parser t a -> Parser t b Source #

liftA2 :: (a -> b -> c) -> Parser t a -> Parser t b -> Parser t c Source #

(*>) :: Parser t a -> Parser t b -> Parser t b Source #

(<*) :: Parser t a -> Parser t b -> Parser t a Source #

Applicative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lex

Methods

pure :: a -> Parser t a Source #

(<*>) :: Parser t (a -> b) -> Parser t a -> Parser t b Source #

liftA2 :: (a -> b -> c) -> Parser t a -> Parser t b -> Parser t c Source #

(*>) :: Parser t a -> Parser t b -> Parser t b Source #

(<*) :: Parser t a -> Parser t b -> Parser t a Source #

Applicative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

pure :: a -> Parser t a Source #

(<*>) :: Parser t (a -> b) -> Parser t a -> Parser t b Source #

liftA2 :: (a -> b -> c) -> Parser t a -> Parser t b -> Parser t c Source #

(*>) :: Parser t a -> Parser t b -> Parser t b Source #

(<*) :: Parser t a -> Parser t b -> Parser t a Source #

Applicative (Parser s) 
Instance details

Defined in Text.ParserCombinators.Poly.StateText

Methods

pure :: a -> Parser s a Source #

(<*>) :: Parser s (a -> b) -> Parser s a -> Parser s b Source #

liftA2 :: (a -> b -> c) -> Parser s a -> Parser s b -> Parser s c Source #

(*>) :: Parser s a -> Parser s b -> Parser s b Source #

(<*) :: Parser s a -> Parser s b -> Parser s a Source #

Monoid a => Applicative ((,) a)

For tuples, the Monoid constraint on a determines how the first values merge. For example, Strings concatenate:

("hello ", (+15)) <*> ("world!", 2002)
("hello world!",2017)

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a0 -> (a, a0) Source #

(<*>) :: (a, a0 -> b) -> (a, a0) -> (a, b) Source #

liftA2 :: (a0 -> b -> c) -> (a, a0) -> (a, b) -> (a, c) Source #

(*>) :: (a, a0) -> (a, b) -> (a, b) Source #

(<*) :: (a, a0) -> (a, b) -> (a, a0) Source #

Arrow a => Applicative (WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

pure :: a0 -> WrappedArrow a b a0 Source #

(<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 Source #

liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c Source #

(*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 Source #

(<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 Source #

(Applicative f, Monad f) => Applicative (WhenMissing f x)

Equivalent to ReaderT k (ReaderT x (MaybeT f)).

Since: containers-0.5.9

Instance details

Defined in Data.IntMap.Internal

Methods

pure :: a -> WhenMissing f x a Source #

(<*>) :: WhenMissing f x (a -> b) -> WhenMissing f x a -> WhenMissing f x b Source #

liftA2 :: (a -> b -> c) -> WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x c Source #

(*>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b Source #

(<*) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x a Source #

Monoid m => Applicative (Const m :: Type -> Type)

Since: base-2.0.1

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

pure :: a -> Const m a Source #

(<*>) :: Const m (a -> b) -> Const m a -> Const m b Source #

liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c Source #

(*>) :: Const m a -> Const m b -> Const m b Source #

(<*) :: Const m a -> Const m b -> Const m a Source #

(Generic1 f, Applicative (Rep1 f)) => Applicative (Generically1 f)

Since: base-4.17.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> Generically1 f a Source #

(<*>) :: Generically1 f (a -> b) -> Generically1 f a -> Generically1 f b Source #

liftA2 :: (a -> b -> c) -> Generically1 f a -> Generically1 f b -> Generically1 f c Source #

(*>) :: Generically1 f a -> Generically1 f b -> Generically1 f b Source #

(<*) :: Generically1 f a -> Generically1 f b -> Generically1 f a Source #

Applicative f => Applicative (Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> Rec1 f a Source #

(<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b Source #

liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Source #

(*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b Source #

(<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a Source #

Applicative (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateLazy

Methods

pure :: a -> Parser s t a Source #

(<*>) :: Parser s t (a -> b) -> Parser s t a -> Parser s t b Source #

liftA2 :: (a -> b -> c) -> Parser s t a -> Parser s t b -> Parser s t c Source #

(*>) :: Parser s t a -> Parser s t b -> Parser s t b Source #

(<*) :: Parser s t a -> Parser s t b -> Parser s t a Source #

Applicative (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateParser

Methods

pure :: a -> Parser s t a Source #

(<*>) :: Parser s t (a -> b) -> Parser s t a -> Parser s t b Source #

liftA2 :: (a -> b -> c) -> Parser s t a -> Parser s t b -> Parser s t c Source #

(*>) :: Parser s t a -> Parser s t b -> Parser s t b Source #

(<*) :: Parser s t a -> Parser s t b -> Parser s t a Source #

(Monoid a, Monoid b) => Applicative ((,,) a b)

Since: base-4.14.0.0

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a0 -> (a, b, a0) Source #

(<*>) :: (a, b, a0 -> b0) -> (a, b, a0) -> (a, b, b0) Source #

liftA2 :: (a0 -> b0 -> c) -> (a, b, a0) -> (a, b, b0) -> (a, b, c) Source #

(*>) :: (a, b, a0) -> (a, b, b0) -> (a, b, b0) Source #

(<*) :: (a, b, a0) -> (a, b, b0) -> (a, b, a0) Source #

(Applicative f, Applicative g) => Applicative (Product f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

Methods

pure :: a -> Product f g a Source #

(<*>) :: Product f g (a -> b) -> Product f g a -> Product f g b Source #

liftA2 :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Source #

(*>) :: Product f g a -> Product f g b -> Product f g b Source #

(<*) :: Product f g a -> Product f g b -> Product f g a Source #

(Monad f, Applicative f) => Applicative (WhenMatched f x y)

Equivalent to ReaderT Key (ReaderT x (ReaderT y (MaybeT f)))

Since: containers-0.5.9

Instance details

Defined in Data.IntMap.Internal

Methods

pure :: a -> WhenMatched f x y a Source #

(<*>) :: WhenMatched f x y (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b Source #

liftA2 :: (a -> b -> c) -> WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y c Source #

(*>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b Source #

(<*) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y a Source #

(Applicative f, Monad f) => Applicative (WhenMissing f k x)

Equivalent to ReaderT k (ReaderT x (MaybeT f)) .

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

pure :: a -> WhenMissing f k x a Source #

(<*>) :: WhenMissing f k x (a -> b) -> WhenMissing f k x a -> WhenMissing f k x b Source #

liftA2 :: (a -> b -> c) -> WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x c Source #

(*>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b Source #

(<*) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x a Source #

(Applicative f, Applicative g) => Applicative (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> (f :*: g) a Source #

(<*>) :: (f :*: g) (a -> b) -> (f :*: g) a -> (f :*: g) b Source #

liftA2 :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Source #

(*>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b Source #

(<*) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) a Source #

Monoid c => Applicative (K1 i c :: Type -> Type)

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> K1 i c a Source #

(<*>) :: K1 i c (a -> b) -> K1 i c a -> K1 i c b Source #

liftA2 :: (a -> b -> c0) -> K1 i c a -> K1 i c b -> K1 i c c0 Source #

(*>) :: K1 i c a -> K1 i c b -> K1 i c b Source #

(<*) :: K1 i c a -> K1 i c b -> K1 i c a Source #

Applicative (Parser s t e) 
Instance details

Defined in Text.ParserCombinators.HuttonMeijerWallace

Methods

pure :: a -> Parser s t e a Source #

(<*>) :: Parser s t e (a -> b) -> Parser s t e a -> Parser s t e b Source #

liftA2 :: (a -> b -> c) -> Parser s t e a -> Parser s t e b -> Parser s t e c Source #

(*>) :: Parser s t e a -> Parser s t e b -> Parser s t e b Source #

(<*) :: Parser s t e a -> Parser s t e b -> Parser s t e a Source #

(Monoid a, Monoid b, Monoid c) => Applicative ((,,,) a b c)

Since: base-4.14.0.0

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a0 -> (a, b, c, a0) Source #

(<*>) :: (a, b, c, a0 -> b0) -> (a, b, c, a0) -> (a, b, c, b0) Source #

liftA2 :: (a0 -> b0 -> c0) -> (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, c0) Source #

(*>) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, b0) Source #

(<*) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, a0) Source #

Applicative ((->) r)

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

pure :: a -> r -> a Source #

(<*>) :: (r -> (a -> b)) -> (r -> a) -> r -> b Source #

liftA2 :: (a -> b -> c) -> (r -> a) -> (r -> b) -> r -> c Source #

(*>) :: (r -> a) -> (r -> b) -> r -> b Source #

(<*) :: (r -> a) -> (r -> b) -> r -> a Source #

(Applicative f, Applicative g) => Applicative (Compose f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Compose

Methods

pure :: a -> Compose f g a Source #

(<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b Source #

liftA2 :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c Source #

(*>) :: Compose f g a -> Compose f g b -> Compose f g b Source #

(<*) :: Compose f g a -> Compose f g b -> Compose f g a Source #

(Monad f, Applicative f) => Applicative (WhenMatched f k x y)

Equivalent to ReaderT k (ReaderT x (ReaderT y (MaybeT f)))

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

pure :: a -> WhenMatched f k x y a Source #

(<*>) :: WhenMatched f k x y (a -> b) -> WhenMatched f k x y a -> WhenMatched f k x y b Source #

liftA2 :: (a -> b -> c) -> WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y c Source #

(*>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b Source #

(<*) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y a Source #

(Applicative f, Applicative g) => Applicative (f :.: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> (f :.: g) a Source #

(<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b Source #

liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c Source #

(*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b Source #

(<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a Source #

Applicative f => Applicative (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

pure :: a -> M1 i c f a Source #

(<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b Source #

liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Source #

(*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b Source #

(<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a Source #

class Applicative f => Alternative (f :: Type -> Type) where Source #

A monoid on applicative functors.

If defined, some and many should be the least solutions of the equations:

Examples

Expand
>>> Nothing <|> Just 42
Just 42
>>> [1, 2] <|> [3, 4]
[1,2,3,4]
>>> empty <|> print (2^15)
32768

Minimal complete definition

empty, (<|>)

Methods

empty :: f a Source #

The identity of <|>

empty <|> a     == a
a     <|> empty == a

(<|>) :: f a -> f a -> f a infixl 3 Source #

An associative binary operation

some :: f a -> f [a] Source #

One or more.

Examples

Expand
>>> some (putStr "la")
lalalalalalalalala... * goes on forever *
>>> some Nothing
nothing
>>> take 5 <$> some (Just 1)
* hangs forever *

Note that this function can be used with Parsers based on Applicatives. In that case some parser will attempt to parse parser one or more times until it fails.

many :: f a -> f [a] Source #

Zero or more.

Examples

Expand
>>> many (putStr "la")
lalalalalalalalala... * goes on forever *
>>> many Nothing
Just []
>>> take 5 <$> many (Just 1)
* hangs forever *

Note that this function can be used with Parsers based on Applicatives. In that case many parser will attempt to parse parser zero or more times until it fails.

Instances

Instances details
Alternative Seq

Since: containers-0.5.4

Instance details

Defined in Data.Sequence.Internal

Methods

empty :: Seq a Source #

(<|>) :: Seq a -> Seq a -> Seq a Source #

some :: Seq a -> Seq [a] Source #

many :: Seq a -> Seq [a] Source #

Alternative ZipList

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Alternative P

Since: base-4.5.0.0

Instance details

Defined in GHC.Internal.Text.ParserCombinators.ReadP

Methods

empty :: P a Source #

(<|>) :: P a -> P a -> P a Source #

some :: P a -> P [a] Source #

many :: P a -> P [a] Source #

Alternative ReadP

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Text.ParserCombinators.ReadP

Methods

empty :: ReadP a Source #

(<|>) :: ReadP a -> ReadP a -> ReadP a Source #

some :: ReadP a -> ReadP [a] Source #

many :: ReadP a -> ReadP [a] Source #

Alternative IO

Takes the first non-throwing IO action's result. empty throws an exception.

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

empty :: IO a Source #

(<|>) :: IO a -> IO a -> IO a Source #

some :: IO a -> IO [a] Source #

many :: IO a -> IO [a] Source #

Alternative Parser 
Instance details

Defined in Text.ParserCombinators.HuttonMeijer

Methods

empty :: Parser a Source #

(<|>) :: Parser a -> Parser a -> Parser a Source #

some :: Parser a -> Parser [a] Source #

many :: Parser a -> Parser [a] Source #

Alternative Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteString

Methods

empty :: Parser a Source #

(<|>) :: Parser a -> Parser a -> Parser a Source #

some :: Parser a -> Parser [a] Source #

many :: Parser a -> Parser [a] Source #

Alternative Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteStringChar

Methods

empty :: Parser a Source #

(<|>) :: Parser a -> Parser a -> Parser a Source #

some :: Parser a -> Parser [a] Source #

many :: Parser a -> Parser [a] Source #

Alternative Parser 
Instance details

Defined in Text.ParserCombinators.Poly.Text

Methods

empty :: Parser a Source #

(<|>) :: Parser a -> Parser a -> Parser a Source #

some :: Parser a -> Parser [a] Source #

many :: Parser a -> Parser [a] Source #

Alternative Maybe

Picks the leftmost Just value, or, alternatively, Nothing.

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

empty :: Maybe a Source #

(<|>) :: Maybe a -> Maybe a -> Maybe a Source #

some :: Maybe a -> Maybe [a] Source #

many :: Maybe a -> Maybe [a] Source #

Alternative []

Combines lists by concatenation, starting from the empty list.

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

empty :: [a] Source #

(<|>) :: [a] -> [a] -> [a] Source #

some :: [a] -> [[a]] Source #

many :: [a] -> [[a]] Source #

MonadPlus m => Alternative (WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Alternative (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

empty :: U1 a Source #

(<|>) :: U1 a -> U1 a -> U1 a Source #

some :: U1 a -> U1 [a] Source #

many :: U1 a -> U1 [a] Source #

Alternative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lazy

Methods

empty :: Parser t a Source #

(<|>) :: Parser t a -> Parser t a -> Parser t a Source #

some :: Parser t a -> Parser t [a] Source #

many :: Parser t a -> Parser t [a] Source #

Alternative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lex

Methods

empty :: Parser t a Source #

(<|>) :: Parser t a -> Parser t a -> Parser t a Source #

some :: Parser t a -> Parser t [a] Source #

many :: Parser t a -> Parser t [a] Source #

Alternative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

empty :: Parser t a Source #

(<|>) :: Parser t a -> Parser t a -> Parser t a Source #

some :: Parser t a -> Parser t [a] Source #

many :: Parser t a -> Parser t [a] Source #

Alternative (Parser s) 
Instance details

Defined in Text.ParserCombinators.Poly.StateText

Methods

empty :: Parser s a Source #

(<|>) :: Parser s a -> Parser s a -> Parser s a Source #

some :: Parser s a -> Parser s [a] Source #

many :: Parser s a -> Parser s [a] Source #

(ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

empty :: WrappedArrow a b a0 Source #

(<|>) :: WrappedArrow a b a0 -> WrappedArrow a b a0 -> WrappedArrow a b a0 Source #

some :: WrappedArrow a b a0 -> WrappedArrow a b [a0] Source #

many :: WrappedArrow a b a0 -> WrappedArrow a b [a0] Source #

(Generic1 f, Alternative (Rep1 f)) => Alternative (Generically1 f)

Since: base-4.17.0.0

Instance details

Defined in GHC.Internal.Generics

Alternative f => Alternative (Rec1 f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

empty :: Rec1 f a Source #

(<|>) :: Rec1 f a -> Rec1 f a -> Rec1 f a Source #

some :: Rec1 f a -> Rec1 f [a] Source #

many :: Rec1 f a -> Rec1 f [a] Source #

Alternative (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateLazy

Methods

empty :: Parser s t a Source #

(<|>) :: Parser s t a -> Parser s t a -> Parser s t a Source #

some :: Parser s t a -> Parser s t [a] Source #

many :: Parser s t a -> Parser s t [a] Source #

Alternative (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateParser

Methods

empty :: Parser s t a Source #

(<|>) :: Parser s t a -> Parser s t a -> Parser s t a Source #

some :: Parser s t a -> Parser s t [a] Source #

many :: Parser s t a -> Parser s t [a] Source #

(Alternative f, Alternative g) => Alternative (Product f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

Methods

empty :: Product f g a Source #

(<|>) :: Product f g a -> Product f g a -> Product f g a Source #

some :: Product f g a -> Product f g [a] Source #

many :: Product f g a -> Product f g [a] Source #

(Alternative f, Alternative g) => Alternative (f :*: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

empty :: (f :*: g) a Source #

(<|>) :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a Source #

some :: (f :*: g) a -> (f :*: g) [a] Source #

many :: (f :*: g) a -> (f :*: g) [a] Source #

Alternative (Parser s t e) 
Instance details

Defined in Text.ParserCombinators.HuttonMeijerWallace

Methods

empty :: Parser s t e a Source #

(<|>) :: Parser s t e a -> Parser s t e a -> Parser s t e a Source #

some :: Parser s t e a -> Parser s t e [a] Source #

many :: Parser s t e a -> Parser s t e [a] Source #

(Alternative f, Applicative g) => Alternative (Compose f g)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Compose

Methods

empty :: Compose f g a Source #

(<|>) :: Compose f g a -> Compose f g a -> Compose f g a Source #

some :: Compose f g a -> Compose f g [a] Source #

many :: Compose f g a -> Compose f g [a] Source #

(Alternative f, Applicative g) => Alternative (f :.: g)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

empty :: (f :.: g) a Source #

(<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a Source #

some :: (f :.: g) a -> (f :.: g) [a] Source #

many :: (f :.: g) a -> (f :.: g) [a] Source #

Alternative f => Alternative (M1 i c f)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

empty :: M1 i c f a Source #

(<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a Source #

some :: M1 i c f a -> M1 i c f [a] Source #

many :: M1 i c f a -> M1 i c f [a] Source #

(<$) :: Functor f => a -> f b -> f a infixl 4 Source #

Replace all locations in the input with the same value. The default definition is fmap . const, but this may be overridden with a more efficient version.

Examples

Expand

Perform a computation with Maybe and replace the result with a constant value if it is Just:

>>> 'a' <$ Just 2
Just 'a'
>>> 'a' <$ Nothing
Nothing

(<**>) :: Applicative f => f a -> f (a -> b) -> f b infixl 4 Source #

A variant of <*> with the types of the arguments reversed. It differs from flip (<*>) in that the effects are resolved in the order the arguments are presented.

Examples

Expand
>>> (<**>) (print 1) (id <$ print 2)
1
2
>>> flip (<*>) (print 1) (id <$ print 2)
2
1
>>> ZipList [4, 5, 6] <**> ZipList [(+1), (*2), (/3)]
ZipList {getZipList = [5.0,10.0,2.0]}

liftA :: Applicative f => (a -> b) -> f a -> f b Source #

Lift a function to actions. Equivalent to Functor's fmap but implemented using only Applicative's methods: liftA f a = pure f <*> a

As such this function may be used to implement a Functor instance from an Applicative one.

Examples

Expand

Using the Applicative instance for Lists:

>>> liftA (+1) [1, 2]
[2,3]

Or the Applicative instance for Maybe

>>> liftA (+1) (Just 3)
Just 4

liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d Source #

Lift a ternary function to actions.

(<$>) :: Functor f => (a -> b) -> f a -> f b infixl 4 Source #

An infix synonym for fmap.

The name of this operator is an allusion to $. Note the similarities between their types:

 ($)  ::              (a -> b) ->   a ->   b
(<$>) :: Functor f => (a -> b) -> f a -> f b

Whereas $ is function application, <$> is function application lifted over a Functor.

Examples

Expand

Convert from a Maybe Int to a Maybe String using show:

>>> show <$> Nothing
Nothing
>>> show <$> Just 3
Just "3"

Convert from an Either Int Int to an Either Int String using show:

>>> show <$> Left 17
Left 17
>>> show <$> Right 17
Right "17"

Double each element of a list:

>>> (*2) <$> [1,2,3]
[2,4,6]

Apply even to the second element of a pair:

>>> even <$> (2,2)
(2,True)

satisfy :: (t -> Bool) -> Parser t t #

eof :: Parser t () #

optional :: Alternative f => f a -> f (Maybe a) Source #

One or none.

It is useful for modelling any computation that is allowed to fail.

Examples

Expand

Using the Alternative instance of Control.Monad.Except, the following functions:

>>> import Control.Monad.Except
>>> canFail = throwError "it failed" :: Except String Int
>>> final = return 42                :: Except String Int

Can be combined by allowing the first function to fail:

>>> runExcept $ canFail *> final
Left "it failed"
>>> runExcept $ optional canFail *> final
Right 42

many1 :: PolyParse p => p a -> p [a] #

sepBy :: PolyParse p => p a -> p sep -> p [a] #

sepBy1 :: PolyParse p => p a -> p sep -> p [a] #

apply :: PolyParse p => p (a -> b) -> p a -> p b #

asum :: (Foldable t, Alternative f) => t (f a) -> f a Source #

The sum of a collection of actions using (<|>), generalizing concat.

asum is just like msum, but generalised to Alternative.

Examples

Expand

Basic usage:

>>> asum [Just "Hello", Nothing, Just "World"]
Just "Hello"

newtype Const a (b :: k) Source #

The Const functor.

Examples

Expand
>>> fmap (++ "World") (Const "Hello")
Const "Hello"

Because we ignore the second type parameter to Const, the Applicative instance, which has (<*>) :: Monoid m => Const m (a -> b) -> Const m a -> Const m b essentially turns into Monoid m => m -> m -> m, which is (<>)

>>> Const [1, 2, 3] <*> Const [4, 5, 6]
Const [1,2,3,4,5,6]

Constructors

Const 

Fields

Instances

Instances details
Generic1 (Const a :: k -> Type) 
Instance details

Defined in GHC.Internal.Data.Functor.Const

Associated Types

type Rep1 (Const a :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

type Rep1 (Const a :: k -> Type) = D1 ('MetaData "Const" "GHC.Internal.Data.Functor.Const" "ghc-internal" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from1 :: forall (a0 :: k). Const a a0 -> Rep1 (Const a :: k -> Type) a0 Source #

to1 :: forall (a0 :: k). Rep1 (Const a :: k -> Type) a0 -> Const a a0 Source #

Bifoldable (Const :: Type -> Type -> Type)

Since: base-4.10.0.0

Instance details

Defined in Data.Bifoldable

Methods

bifold :: Monoid m => Const m m -> m Source #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Const a b -> m Source #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Const a b -> c Source #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Const a b -> c Source #

Bifoldable1 (Const :: Type -> Type -> Type) 
Instance details

Defined in Data.Bifoldable1

Methods

bifold1 :: Semigroup m => Const m m -> m Source #

bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> Const a b -> m Source #

Bifunctor (Const :: Type -> Type -> Type)

Since: base-4.8.0.0

Instance details

Defined in Data.Bifunctor

Methods

bimap :: (a -> b) -> (c -> d) -> Const a c -> Const b d Source #

first :: (a -> b) -> Const a c -> Const b c Source #

second :: (b -> c) -> Const a b -> Const a c Source #

Bitraversable (Const :: Type -> Type -> Type)

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Const a b -> f (Const c d) Source #

Eq2 (Const :: Type -> Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Const a c -> Const b d -> Bool Source #

Ord2 (Const :: Type -> Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Const a c -> Const b d -> Ordering Source #

Read2 (Const :: Type -> Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) Source #

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] Source #

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) Source #

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] Source #

Show2 (Const :: Type -> Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Const a b -> ShowS Source #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Const a b] -> ShowS Source #

Eq a => Eq1 (Const a :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a0 -> b -> Bool) -> Const a a0 -> Const a b -> Bool Source #

Ord a => Ord1 (Const a :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering Source #

Read a => Read1 (Const a :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) Source #

liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] Source #

liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) Source #

liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] Source #

Show a => Show1 (Const a :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS Source #

liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS Source #

Contravariant (Const a :: Type -> Type) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap :: (a' -> a0) -> Const a a0 -> Const a a' Source #

(>$) :: b -> Const a b -> Const a a0 Source #

Monoid m => Applicative (Const m :: Type -> Type)

Since: base-2.0.1

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

pure :: a -> Const m a Source #

(<*>) :: Const m (a -> b) -> Const m a -> Const m b Source #

liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c Source #

(*>) :: Const m a -> Const m b -> Const m b Source #

(<*) :: Const m a -> Const m b -> Const m a Source #

Functor (Const m :: Type -> Type)

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

fmap :: (a -> b) -> Const m a -> Const m b Source #

(<$) :: a -> Const m b -> Const m a Source #

Foldable (Const m :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

fold :: Monoid m0 => Const m m0 -> m0 Source #

foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 Source #

foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 Source #

foldr :: (a -> b -> b) -> b -> Const m a -> b Source #

foldr' :: (a -> b -> b) -> b -> Const m a -> b Source #

foldl :: (b -> a -> b) -> b -> Const m a -> b Source #

foldl' :: (b -> a -> b) -> b -> Const m a -> b Source #

foldr1 :: (a -> a -> a) -> Const m a -> a Source #

foldl1 :: (a -> a -> a) -> Const m a -> a Source #

toList :: Const m a -> [a] Source #

null :: Const m a -> Bool Source #

length :: Const m a -> Int Source #

elem :: Eq a => a -> Const m a -> Bool Source #

maximum :: Ord a => Const m a -> a Source #

minimum :: Ord a => Const m a -> a Source #

sum :: Num a => Const m a -> a Source #

product :: Num a => Const m a -> a Source #

Monoid a => Monoid (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

mempty :: Const a b Source #

mappend :: Const a b -> Const a b -> Const a b Source #

mconcat :: [Const a b] -> Const a b Source #

Semigroup a => Semigroup (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

(<>) :: Const a b -> Const a b -> Const a b Source #

sconcat :: NonEmpty (Const a b) -> Const a b Source #

stimes :: Integral b0 => b0 -> Const a b -> Const a b Source #

Bits a => Bits (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

(.&.) :: Const a b -> Const a b -> Const a b Source #

(.|.) :: Const a b -> Const a b -> Const a b Source #

xor :: Const a b -> Const a b -> Const a b Source #

complement :: Const a b -> Const a b Source #

shift :: Const a b -> Int -> Const a b Source #

rotate :: Const a b -> Int -> Const a b Source #

zeroBits :: Const a b Source #

bit :: Int -> Const a b Source #

setBit :: Const a b -> Int -> Const a b Source #

clearBit :: Const a b -> Int -> Const a b Source #

complementBit :: Const a b -> Int -> Const a b Source #

testBit :: Const a b -> Int -> Bool Source #

bitSizeMaybe :: Const a b -> Maybe Int Source #

bitSize :: Const a b -> Int Source #

isSigned :: Const a b -> Bool Source #

shiftL :: Const a b -> Int -> Const a b Source #

unsafeShiftL :: Const a b -> Int -> Const a b Source #

shiftR :: Const a b -> Int -> Const a b Source #

unsafeShiftR :: Const a b -> Int -> Const a b Source #

rotateL :: Const a b -> Int -> Const a b Source #

rotateR :: Const a b -> Int -> Const a b Source #

popCount :: Const a b -> Int Source #

FiniteBits a => FiniteBits (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Bounded a => Bounded (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

minBound :: Const a b Source #

maxBound :: Const a b Source #

Enum a => Enum (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

succ :: Const a b -> Const a b Source #

pred :: Const a b -> Const a b Source #

toEnum :: Int -> Const a b Source #

fromEnum :: Const a b -> Int Source #

enumFrom :: Const a b -> [Const a b] Source #

enumFromThen :: Const a b -> Const a b -> [Const a b] Source #

enumFromTo :: Const a b -> Const a b -> [Const a b] Source #

enumFromThenTo :: Const a b -> Const a b -> Const a b -> [Const a b] Source #

Floating a => Floating (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

pi :: Const a b Source #

exp :: Const a b -> Const a b Source #

log :: Const a b -> Const a b Source #

sqrt :: Const a b -> Const a b Source #

(**) :: Const a b -> Const a b -> Const a b Source #

logBase :: Const a b -> Const a b -> Const a b Source #

sin :: Const a b -> Const a b Source #

cos :: Const a b -> Const a b Source #

tan :: Const a b -> Const a b Source #

asin :: Const a b -> Const a b Source #

acos :: Const a b -> Const a b Source #

atan :: Const a b -> Const a b Source #

sinh :: Const a b -> Const a b Source #

cosh :: Const a b -> Const a b Source #

tanh :: Const a b -> Const a b Source #

asinh :: Const a b -> Const a b Source #

acosh :: Const a b -> Const a b Source #

atanh :: Const a b -> Const a b Source #

log1p :: Const a b -> Const a b Source #

expm1 :: Const a b -> Const a b Source #

log1pexp :: Const a b -> Const a b Source #

log1mexp :: Const a b -> Const a b Source #

RealFloat a => RealFloat (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Storable a => Storable (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

sizeOf :: Const a b -> Int Source #

alignment :: Const a b -> Int Source #

peekElemOff :: Ptr (Const a b) -> Int -> IO (Const a b) Source #

pokeElemOff :: Ptr (Const a b) -> Int -> Const a b -> IO () Source #

peekByteOff :: Ptr b0 -> Int -> IO (Const a b) Source #

pokeByteOff :: Ptr b0 -> Int -> Const a b -> IO () Source #

peek :: Ptr (Const a b) -> IO (Const a b) Source #

poke :: Ptr (Const a b) -> Const a b -> IO () Source #

Generic (Const a b) 
Instance details

Defined in GHC.Internal.Data.Functor.Const

Associated Types

type Rep (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

type Rep (Const a b) = D1 ('MetaData "Const" "GHC.Internal.Data.Functor.Const" "ghc-internal" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Const a b -> Rep (Const a b) x Source #

to :: Rep (Const a b) x -> Const a b Source #

Ix a => Ix (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

range :: (Const a b, Const a b) -> [Const a b] Source #

index :: (Const a b, Const a b) -> Const a b -> Int Source #

unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int Source #

inRange :: (Const a b, Const a b) -> Const a b -> Bool Source #

rangeSize :: (Const a b, Const a b) -> Int Source #

unsafeRangeSize :: (Const a b, Const a b) -> Int Source #

Num a => Num (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

(+) :: Const a b -> Const a b -> Const a b Source #

(-) :: Const a b -> Const a b -> Const a b Source #

(*) :: Const a b -> Const a b -> Const a b Source #

negate :: Const a b -> Const a b Source #

abs :: Const a b -> Const a b Source #

signum :: Const a b -> Const a b Source #

fromInteger :: Integer -> Const a b Source #

Read a => Read (Const a b)

This instance would be equivalent to the derived instances of the Const newtype if the getConst field were removed

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Fractional a => Fractional (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

(/) :: Const a b -> Const a b -> Const a b Source #

recip :: Const a b -> Const a b Source #

fromRational :: Rational -> Const a b Source #

Integral a => Integral (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

quot :: Const a b -> Const a b -> Const a b Source #

rem :: Const a b -> Const a b -> Const a b Source #

div :: Const a b -> Const a b -> Const a b Source #

mod :: Const a b -> Const a b -> Const a b Source #

quotRem :: Const a b -> Const a b -> (Const a b, Const a b) Source #

divMod :: Const a b -> Const a b -> (Const a b, Const a b) Source #

toInteger :: Const a b -> Integer Source #

Real a => Real (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

toRational :: Const a b -> Rational Source #

RealFrac a => RealFrac (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

properFraction :: Integral b0 => Const a b -> (b0, Const a b) Source #

truncate :: Integral b0 => Const a b -> b0 Source #

round :: Integral b0 => Const a b -> b0 Source #

ceiling :: Integral b0 => Const a b -> b0 Source #

floor :: Integral b0 => Const a b -> b0 Source #

Show a => Show (Const a b)

This instance would be equivalent to the derived instances of the Const newtype if the getConst field were removed

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

showsPrec :: Int -> Const a b -> ShowS Source #

show :: Const a b -> String Source #

showList :: [Const a b] -> ShowS Source #

Eq a => Eq (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

(==) :: Const a b -> Const a b -> Bool Source #

(/=) :: Const a b -> Const a b -> Bool Source #

Ord a => Ord (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

compare :: Const a b -> Const a b -> Ordering Source #

(<) :: Const a b -> Const a b -> Bool Source #

(<=) :: Const a b -> Const a b -> Bool Source #

(>) :: Const a b -> Const a b -> Bool Source #

(>=) :: Const a b -> Const a b -> Bool Source #

max :: Const a b -> Const a b -> Const a b Source #

min :: Const a b -> Const a b -> Const a b Source #

type Rep1 (Const a :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

type Rep1 (Const a :: k -> Type) = D1 ('MetaData "Const" "GHC.Internal.Data.Functor.Const" "ghc-internal" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type Rep (Const a b)

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

type Rep (Const a b) = D1 ('MetaData "Const" "GHC.Internal.Data.Functor.Const" "ghc-internal" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

bracket :: PolyParse p => p bra -> p ket -> p a -> p a #

newtype ZipList a Source #

Lists, but with an Applicative functor based on zipping.

Examples

Expand

In contrast to the Applicative for List:

>>> (+) <$> [1, 2, 3] <*> [4, 5, 6]
[5,6,7,6,7,8,7,8,9]

The Applicative instance of ZipList applies the operation by pairing up the elements, analogous to zipWithN

>>> (+) <$> ZipList [1, 2, 3] <*> ZipList [4, 5, 6]
ZipList {getZipList = [5,7,9]}
>>> (,,,) <$> ZipList [1, 2] <*> ZipList [3, 4] <*> ZipList [5, 6] <*> ZipList [7, 8]
ZipList {getZipList = [(1,3,5,7),(2,4,6,8)]}
>>> ZipList [(+1), (^2), (/ 2)] <*> ZipList [5, 5, 5]
ZipList {getZipList = [6.0,25.0,2.5]}

Constructors

ZipList 

Fields

Instances

Instances details
Alternative ZipList

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Applicative ZipList
f <$> ZipList xs1 <*> ... <*> ZipList xsN
    = ZipList (zipWithN f xs1 ... xsN)

where zipWithN refers to the zipWith function of the appropriate arity (zipWith, zipWith3, zipWith4, ...). For example:

(\a b c -> stimes c [a, b]) <$> ZipList "abcd" <*> ZipList "567" <*> ZipList [1..]
    = ZipList (zipWith3 (\a b c -> stimes c [a, b]) "abcd" "567" [1..])
    = ZipList {getZipList = ["a5","b6b6","c7c7c7"]}

Since: base-2.1

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

pure :: a -> ZipList a Source #

(<*>) :: ZipList (a -> b) -> ZipList a -> ZipList b Source #

liftA2 :: (a -> b -> c) -> ZipList a -> ZipList b -> ZipList c Source #

(*>) :: ZipList a -> ZipList b -> ZipList b Source #

(<*) :: ZipList a -> ZipList b -> ZipList a Source #

Functor ZipList

Since: base-2.1

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

fmap :: (a -> b) -> ZipList a -> ZipList b Source #

(<$) :: a -> ZipList b -> ZipList a Source #

Foldable ZipList

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

fold :: Monoid m => ZipList m -> m Source #

foldMap :: Monoid m => (a -> m) -> ZipList a -> m Source #

foldMap' :: Monoid m => (a -> m) -> ZipList a -> m Source #

foldr :: (a -> b -> b) -> b -> ZipList a -> b Source #

foldr' :: (a -> b -> b) -> b -> ZipList a -> b Source #

foldl :: (b -> a -> b) -> b -> ZipList a -> b Source #

foldl' :: (b -> a -> b) -> b -> ZipList a -> b Source #

foldr1 :: (a -> a -> a) -> ZipList a -> a Source #

foldl1 :: (a -> a -> a) -> ZipList a -> a Source #

toList :: ZipList a -> [a] Source #

null :: ZipList a -> Bool Source #

length :: ZipList a -> Int Source #

elem :: Eq a => a -> ZipList a -> Bool Source #

maximum :: Ord a => ZipList a -> a Source #

minimum :: Ord a => ZipList a -> a Source #

sum :: Num a => ZipList a -> a Source #

product :: Num a => ZipList a -> a Source #

Traversable ZipList

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

traverse :: Applicative f => (a -> f b) -> ZipList a -> f (ZipList b) Source #

sequenceA :: Applicative f => ZipList (f a) -> f (ZipList a) Source #

mapM :: Monad m => (a -> m b) -> ZipList a -> m (ZipList b) Source #

sequence :: Monad m => ZipList (m a) -> m (ZipList a) Source #

Generic1 ZipList 
Instance details

Defined in GHC.Internal.Functor.ZipList

Associated Types

type Rep1 ZipList

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

type Rep1 ZipList = D1 ('MetaData "ZipList" "GHC.Internal.Functor.ZipList" "ghc-internal" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 [])))
Data a => Data (ZipList a)

Since: base-4.14.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZipList a -> c (ZipList a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ZipList a) Source #

toConstr :: ZipList a -> Constr Source #

dataTypeOf :: ZipList a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ZipList a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ZipList a)) Source #

gmapT :: (forall b. Data b => b -> b) -> ZipList a -> ZipList a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZipList a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZipList a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ZipList a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ZipList a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) Source #

Generic (ZipList a) 
Instance details

Defined in GHC.Internal.Functor.ZipList

Associated Types

type Rep (ZipList a)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

type Rep (ZipList a) = D1 ('MetaData "ZipList" "GHC.Internal.Functor.ZipList" "ghc-internal" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))

Methods

from :: ZipList a -> Rep (ZipList a) x Source #

to :: Rep (ZipList a) x -> ZipList a Source #

IsList (ZipList a)

Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.IsList

Associated Types

type Item (ZipList a) 
Instance details

Defined in GHC.Internal.IsList

type Item (ZipList a) = a

Methods

fromList :: [Item (ZipList a)] -> ZipList a Source #

fromListN :: Int -> [Item (ZipList a)] -> ZipList a Source #

toList :: ZipList a -> [Item (ZipList a)] Source #

Read a => Read (ZipList a)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Show a => Show (ZipList a)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Eq a => Eq (ZipList a)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

Methods

(==) :: ZipList a -> ZipList a -> Bool Source #

(/=) :: ZipList a -> ZipList a -> Bool Source #

Ord a => Ord (ZipList a)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

type Rep1 ZipList

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

type Rep1 ZipList = D1 ('MetaData "ZipList" "GHC.Internal.Functor.ZipList" "ghc-internal" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 [])))
type Rep (ZipList a)

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Functor.ZipList

type Rep (ZipList a) = D1 ('MetaData "ZipList" "GHC.Internal.Functor.ZipList" "ghc-internal" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))
type Item (ZipList a) 
Instance details

Defined in GHC.Internal.IsList

type Item (ZipList a) = a

newtype WrappedArrow (a :: Type -> Type -> Type) b c Source #

Constructors

WrapArrow 

Fields

Instances

Instances details
Generic1 (WrappedArrow a b :: Type -> Type) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep1 (WrappedArrow a b :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b))))

Methods

from1 :: WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 Source #

to1 :: Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 Source #

(ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

empty :: WrappedArrow a b a0 Source #

(<|>) :: WrappedArrow a b a0 -> WrappedArrow a b a0 -> WrappedArrow a b a0 Source #

some :: WrappedArrow a b a0 -> WrappedArrow a b [a0] Source #

many :: WrappedArrow a b a0 -> WrappedArrow a b [a0] Source #

Arrow a => Applicative (WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

pure :: a0 -> WrappedArrow a b a0 Source #

(<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 Source #

liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c Source #

(*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 Source #

(<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 Source #

Arrow a => Functor (WrappedArrow a b)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

fmap :: (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 Source #

(<$) :: a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 Source #

(Typeable a, Typeable b, Typeable c, Data (a b c)) => Data (WrappedArrow a b c)

Since: base-4.14.0.0

Instance details

Defined in Control.Applicative

Methods

gfoldl :: (forall d b0. Data d => c0 (d -> b0) -> d -> c0 b0) -> (forall g. g -> c0 g) -> WrappedArrow a b c -> c0 (WrappedArrow a b c) Source #

gunfold :: (forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (WrappedArrow a b c) Source #

toConstr :: WrappedArrow a b c -> Constr Source #

dataTypeOf :: WrappedArrow a b c -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (WrappedArrow a b c)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (WrappedArrow a b c)) Source #

gmapT :: (forall b0. Data b0 => b0 -> b0) -> WrappedArrow a b c -> WrappedArrow a b c Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedArrow a b c -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedArrow a b c -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> WrappedArrow a b c -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedArrow a b c -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) Source #

Generic (WrappedArrow a b c) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep (WrappedArrow a b c)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep (WrappedArrow a b c) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a b c))))

Methods

from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x Source #

to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c Source #

type Rep1 (WrappedArrow a b :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b))))
type Rep (WrappedArrow a b c)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep (WrappedArrow a b c) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a b c))))

newtype WrappedMonad (m :: Type -> Type) a Source #

Constructors

WrapMonad 

Fields

Instances

Instances details
Generic1 (WrappedMonad m :: Type -> Type) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep1 (WrappedMonad m :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m)))
MonadPlus m => Alternative (WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Monad m => Applicative (WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

pure :: a -> WrappedMonad m a Source #

(<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b Source #

liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c Source #

(*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b Source #

(<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a Source #

Monad m => Functor (WrappedMonad m)

Since: base-2.1

Instance details

Defined in Control.Applicative

Methods

fmap :: (a -> b) -> WrappedMonad m a -> WrappedMonad m b Source #

(<$) :: a -> WrappedMonad m b -> WrappedMonad m a Source #

Monad m => Monad (WrappedMonad m)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

Methods

(>>=) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b Source #

(>>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b Source #

return :: a -> WrappedMonad m a Source #

(Typeable m, Typeable a, Data (m a)) => Data (WrappedMonad m a)

Since: base-4.14.0.0

Instance details

Defined in Control.Applicative

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WrappedMonad m a -> c (WrappedMonad m a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WrappedMonad m a) Source #

toConstr :: WrappedMonad m a -> Constr Source #

dataTypeOf :: WrappedMonad m a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WrappedMonad m a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WrappedMonad m a)) Source #

gmapT :: (forall b. Data b => b -> b) -> WrappedMonad m a -> WrappedMonad m a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonad m a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonad m a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> WrappedMonad m a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedMonad m a -> u Source #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) Source #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) Source #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) Source #

Generic (WrappedMonad m a) 
Instance details

Defined in Control.Applicative

Associated Types

type Rep (WrappedMonad m a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep (WrappedMonad m a) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m a))))

Methods

from :: WrappedMonad m a -> Rep (WrappedMonad m a) x Source #

to :: Rep (WrappedMonad m a) x -> WrappedMonad m a Source #

type Rep1 (WrappedMonad m :: Type -> Type)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m)))
type Rep (WrappedMonad m a)

Since: base-4.7.0.0

Instance details

Defined in Control.Applicative

type Rep (WrappedMonad m a) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m a))))

newtype Parser t a #

Constructors

P ([t] -> Result [t] a) 

Instances

Instances details
Alternative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

empty :: Parser t a Source #

(<|>) :: Parser t a -> Parser t a -> Parser t a Source #

some :: Parser t a -> Parser t [a] Source #

many :: Parser t a -> Parser t [a] Source #

Applicative (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

pure :: a -> Parser t a Source #

(<*>) :: Parser t (a -> b) -> Parser t a -> Parser t b Source #

liftA2 :: (a -> b -> c) -> Parser t a -> Parser t b -> Parser t c Source #

(*>) :: Parser t a -> Parser t b -> Parser t b Source #

(<*) :: Parser t a -> Parser t b -> Parser t a Source #

Functor (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

fmap :: (a -> b) -> Parser t a -> Parser t b Source #

(<$) :: a -> Parser t b -> Parser t a Source #

Monad (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

(>>=) :: Parser t a -> (a -> Parser t b) -> Parser t b Source #

(>>) :: Parser t a -> Parser t b -> Parser t b Source #

return :: a -> Parser t a Source #

MonadFail (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

fail :: String -> Parser t a Source #

Commitment (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

commit :: Parser t a -> Parser t a #

adjustErr :: Parser t a -> (String -> String) -> Parser t a #

oneOf' :: [(String, Parser t a)] -> Parser t a #

PolyParse (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

data Result z a #

Constructors

Success z a 
Failure z String 
Committed (Result z a) 

Instances

Instances details
Functor (Result z) 
Instance details

Defined in Text.ParserCombinators.Poly.Result

Methods

fmap :: (a -> b) -> Result z a -> Result z b Source #

(<$) :: a -> Result z b -> Result z a Source #

reparse :: [t] -> Parser t () #

class (Functor p, Monad p, MonadFail p, Applicative p, Alternative p, Commitment p) => PolyParse (p :: Type -> Type) #

Instances

Instances details
PolyParse Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteString

PolyParse Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteStringChar

PolyParse Parser 
Instance details

Defined in Text.ParserCombinators.Poly.Text

PolyParse (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lazy

PolyParse (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lex

PolyParse (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

PolyParse (Parser s) 
Instance details

Defined in Text.ParserCombinators.Poly.StateText

PolyParse (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateLazy

PolyParse (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateParser

class Commitment (p :: Type -> Type) where #

Methods

commit :: p a -> p a #

adjustErr :: p a -> (String -> String) -> p a #

oneOf' :: [(String, p a)] -> p a #

Instances

Instances details
Commitment Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteString

Methods

commit :: Parser a -> Parser a #

adjustErr :: Parser a -> (String -> String) -> Parser a #

oneOf' :: [(String, Parser a)] -> Parser a #

Commitment Parser 
Instance details

Defined in Text.ParserCombinators.Poly.ByteStringChar

Methods

commit :: Parser a -> Parser a #

adjustErr :: Parser a -> (String -> String) -> Parser a #

oneOf' :: [(String, Parser a)] -> Parser a #

Commitment Parser 
Instance details

Defined in Text.ParserCombinators.Poly.Text

Methods

commit :: Parser a -> Parser a #

adjustErr :: Parser a -> (String -> String) -> Parser a #

oneOf' :: [(String, Parser a)] -> Parser a #

Commitment (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lazy

Methods

commit :: Parser t a -> Parser t a #

adjustErr :: Parser t a -> (String -> String) -> Parser t a #

oneOf' :: [(String, Parser t a)] -> Parser t a #

Commitment (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Lex

Methods

commit :: Parser t a -> Parser t a #

adjustErr :: Parser t a -> (String -> String) -> Parser t a #

oneOf' :: [(String, Parser t a)] -> Parser t a #

Commitment (Parser t) 
Instance details

Defined in Text.ParserCombinators.Poly.Parser

Methods

commit :: Parser t a -> Parser t a #

adjustErr :: Parser t a -> (String -> String) -> Parser t a #

oneOf' :: [(String, Parser t a)] -> Parser t a #

Commitment (Parser s) 
Instance details

Defined in Text.ParserCombinators.Poly.StateText

Methods

commit :: Parser s a -> Parser s a #

adjustErr :: Parser s a -> (String -> String) -> Parser s a #

oneOf' :: [(String, Parser s a)] -> Parser s a #

Commitment (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateLazy

Methods

commit :: Parser s t a -> Parser s t a #

adjustErr :: Parser s t a -> (String -> String) -> Parser s t a #

oneOf' :: [(String, Parser s t a)] -> Parser s t a #

Commitment (Parser s t) 
Instance details

Defined in Text.ParserCombinators.Poly.StateParser

Methods

commit :: Parser s t a -> Parser s t a #

adjustErr :: Parser s t a -> (String -> String) -> Parser s t a #

oneOf' :: [(String, Parser s t a)] -> Parser s t a #

discard :: PolyParse p => p a -> p b -> p a #

failBad :: PolyParse p => String -> p a #

adjustErrBad :: PolyParse p => p a -> (String -> String) -> p a #

oneOf :: PolyParse p => [p a] -> p a #

exactly :: PolyParse p => Int -> p a -> p [a] #

upto :: PolyParse p => Int -> p a -> p [a] #

bracketSep :: PolyParse p => p bra -> p sep -> p ket -> p a -> p [a] #

manyFinally :: PolyParse p => p a -> p z -> p [a] #

manyFinally' :: (PolyParse p, Show a) => p a -> p z -> p [a] #

onFail :: Parser t a -> Parser t a -> Parser t a #

next :: Parser t t #

satisfyMsg :: Show t => (t -> Bool) -> String -> Parser t t #

runParser :: Parser t a -> [t] -> (Either String a, [t]) #

type XMLParser a = Parser (Content Posn) a Source #

We need a parsing monad for reading generic XML Content into specific datatypes. This is a specialisation of the Text.ParserCombinators.Poly ones, where the input token type is fixed as XML Content.

content :: String -> XMLParser (Content Posn) Source #

The most primitive combinator for XMLParser - get one content item.

posnElement :: [String] -> XMLParser (Posn, Element Posn) Source #

A specialisation of posnElementWith (==).

element :: [String] -> XMLParser (Element Posn) Source #

Get the next content element, checking that it has one of the required tags. (Skips over comments and whitespace, rejects text and refs.)

interior :: Element Posn -> XMLParser a -> XMLParser a Source #

Run an XMLParser on the contents of the given element (i.e. not on the current monadic content sequence), checking that the contents are exhausted, before returning the calculated value within the current parser context.

inElement :: String -> XMLParser a -> XMLParser a Source #

A combination of element + interior.

text :: XMLParser String Source #

text is a counterpart to element, parsing text content if it exists. Adjacent text and references are coalesced.

attributes :: XmlAttributes a => Element Posn -> XMLParser a Source #

Do some parsing of the attributes of the given element

posnElementWith :: (String -> String -> Bool) -> [String] -> XMLParser (Posn, Element Posn) Source #

Get the next content element, checking that it has one of the required tags, using the given matching function. (Skips over comments and whitespace, rejects text and refs. Also returns position of element.)

elementWith :: (String -> String -> Bool) -> [String] -> XMLParser (Element Posn) Source #

Like element, only permits a more flexible match against the tagname.

inElementWith :: (String -> String -> Bool) -> String -> XMLParser a -> XMLParser a Source #

A combination of elementWith + interior.

choice :: XmlContent a => (a -> b) -> XMLParser b -> XMLParser b Source #

'choice f p' means if parseContents succeeds, apply f to the result, otherwise use the continuation parser.

definite :: XmlContent a => XMLParser a -> String -> String -> XMLParser a Source #

not sure this is needed now. 'definite p' previously ensured that an element was definitely present. Now I think the monad might take care of that for us.

Auxiliaries for generating in the XmlContent class

mkElem :: XmlContent a => a -> [Content ()] -> Content () Source #

Generate an element with no attributes, named for its HType.

mkElemC :: String -> [Content ()] -> Content () Source #

Generate an element with no attributes, named directly.

mkAttr :: String -> String -> Attribute Source #

Generate a single attribute.

toText :: String -> [Content ()] Source #

Turn a simple string into XML text.

toCData :: String -> [Content ()] Source #

Turn a string into an XML CDATA section. (i.e. special characters like & are preserved without interpretation.)

Auxiliaries for the attribute-related classes

data Defaultable a Source #

If an attribute is defaultable, then it either takes the default value (which is omitted from the output), or a non-default value (which obviously must be printed).

Constructors

Default a 
NonDefault a 

Instances

Instances details
Show a => Show (Defaultable a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Eq a => Eq (Defaultable a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

attval :: Read a => Element i -> a Source #

Read a single attribute called "value".

catMaybes :: [Maybe a] -> [a] Source #

The catMaybes function takes a list of Maybes and returns a list of all the Just values.

Examples

Expand

Basic usage:

>>> catMaybes [Just 1, Nothing, Just 3]
[1,3]

When constructing a list of Maybe values, catMaybes can be used to return all of the "success" results (if the list is the result of a map, then mapMaybe would be more appropriate):

>>> import GHC.Internal.Text.Read ( readMaybe )
>>> [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ]
[Just 1,Nothing,Just 3]
>>> catMaybes $ [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ]
[1,3]

Explicit representation of Haskell datatype information

Types useful for some content models

data List1 a Source #

The List1 type represents lists with at least one element. It is required for DTD content models that use + as a modifier.

Constructors

NonEmpty [a] 

Instances

Instances details
HTypeable a => HTypeable (List1 a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

toHType :: List1 a -> HType Source #

XmlContent a => XmlContent (List1 a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Show a => Show (List1 a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Eq a => Eq (List1 a) Source # 
Instance details

Defined in Text.XML.HaXml.XmlContent.Parser

Methods

(==) :: List1 a -> List1 a -> Bool Source #

(/=) :: List1 a -> List1 a -> Bool Source #

data ANYContent Source #

A type corresponding to XML's ANY contentspec. It is either a list of unconverted xml Content or some XmlContent-able value.

Parsing functions (e.g. parseContents) will always produce UnConverted. Note: The Show instance for UnConverted uses verbatim.

Constructors

(XmlContent a, Show a) => ANYContent a 
UnConverted [Content Posn]