multirec-0.7.8: 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 #

Minimal complete definition

countatoms

Methods

countatoms :: f r ix -> Int Source #

Instances

CountAtoms (K a) Source # 

Methods

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

CountAtoms (I xi) Source # 

Methods

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

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

Methods

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

Generic read

class HReadPrec phi f where Source #

Minimal complete definition

hreader

Methods

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

Instances

HReadPrec phi U Source # 

Methods

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

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

Methods

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

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

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

Methods

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

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

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 # 

Methods

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

class Read1 f where Source #

Minimal complete definition

read1

Methods

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

Instances

Read1 [] Source # 

Methods

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

Read1 Maybe Source # 

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 #