multirec-0.7.9: Generic programming for families of recursive datatypes

Copyright(c) 2009--2010 Universiteit Utrecht
LicenseBSD3
Maintainergenerics@haskell.org
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe
LanguageHaskell2010

Generics.MultiRec.Read

Contents

Description

Generic read.

Synopsis

Documentation

class CountAtoms (f :: (* -> *) -> * -> *) where Source #

Methods

countatoms :: f r ix -> Int Source #

Instances
CountAtoms (K a) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

countatoms :: K a r ix -> Int Source #

CountAtoms (I xi) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

countatoms :: I xi r ix -> Int Source #

(CountAtoms f, CountAtoms g) => CountAtoms (f :*: g) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

countatoms :: (f :*: g) r ix -> Int Source #

Generic read

class HReadPrec (phi :: * -> *) (f :: (* -> *) -> * -> *) where Source #

Methods

hreader :: forall ix. phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (f I0 ix) Source #

Instances
HReadPrec phi U Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (U I0 ix) Source #

El phi xi => HReadPrec phi (I xi) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (I xi I0 ix) Source #

Read a => HReadPrec phi (K a) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (K a I0 ix) Source #

(Constructor c, CountAtoms (f :*: g), HReadPrec phi f, HReadPrec phi g) => HReadPrec phi (C c (f :*: g)) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (C c (f :*: g) I0 ix) Source #

(Constructor c, HReadPrec phi (f :.: g)) => HReadPrec phi (C c (f :.: g)) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (C c (f :.: g) I0 ix) Source #

(Constructor c, HReadPrec phi (K a)) => HReadPrec phi (C c (K a)) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (C c (K a) I0 ix) Source #

(Constructor c, HReadPrec phi (I xi)) => HReadPrec phi (C c (I xi)) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (C c (I xi) I0 ix) Source #

Constructor c => HReadPrec phi (C c U) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec (C c U I0 ix) Source #

(Read1 f, HReadPrec phi g) => HReadPrec phi (f :.: g) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec ((f :.: g) I0 ix) Source #

(HReadPrec phi f, EqS phi, El phi ix) => HReadPrec phi (f :>: ix) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix0 -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec ((f :>: ix) I0 ix0) Source #

(HReadPrec phi f, HReadPrec phi g) => HReadPrec phi (f :*: g) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec ((f :*: g) I0 ix) Source #

(HReadPrec phi f, HReadPrec phi g) => HReadPrec phi (f :+: g) Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

hreader :: phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> ReadPrec ((f :+: g) I0 ix) Source #

class Read1 f where Source #

Methods

read1 :: ReadPrec (g I0 ix) -> ReadPrec (f (g I0 ix)) Source #

Instances
Read1 [] Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

read1 :: ReadPrec (g I0 ix) -> ReadPrec [g I0 ix] Source #

Read1 Maybe Source # 
Instance details

Defined in Generics.MultiRec.Read

Methods

read1 :: ReadPrec (g I0 ix) -> ReadPrec (Maybe (g I0 ix)) Source #

readCons :: Constructor c => ReadPrec (f I0 ix) -> ReadPrec (C c f I0 ix) Source #

readPrefixCons :: ReadPrec (f I0 ix) -> Bool -> String -> ReadPrec (f I0 ix) Source #

readInfixCons :: (HReadPrec phi f, HReadPrec phi g) => phi ix -> (forall ix1. phi ix1 -> ReadPrec (I0 ix1)) -> (Associativity, Int, Bool) -> String -> ReadPrec ((f :*: g) I0 ix) Source #

readPrec :: (Fam phi, HReadPrec phi (PF phi)) => phi ix -> ReadPrec ix Source #

readsPrec :: (Fam phi, HReadPrec phi (PF phi)) => phi ix -> Int -> ReadS ix Source #

read :: (Fam phi, HReadPrec phi (PF phi)) => phi ix -> String -> ix Source #