Movatterモバイル変換


[0]ホーム

URL:


base-4.12.0.0: Basic libraries

Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityprovisional
Portabilitynon-portable (uses Text.ParserCombinators.ReadP)
Safe HaskellTrustworthy
LanguageHaskell2010

Text.Read

Contents

Description

Converting strings to values.

TheText.Read library is the canonical library to import forRead-class facilities. For GHC only, it offers an extended and much improvedRead class, which constitutes a proposed alternative to the Haskell 2010Read. In particular, writing parsers is easier, and the parsers are much more efficient.

Synopsis

TheRead class

classRead awhereSource#

Parsing ofStrings, producing values.

Derived instances ofRead make the following assumptions, which derived instances ofShow obey:

  • If the constructor is defined to be an infix operator, then the derivedRead instance will parse only infix applications of the constructor (not the prefix form).
  • Associativity is not used to reduce the occurrence of parentheses, although precedence may be.
  • If the constructor is defined using record syntax, the derivedRead will parse only the record-syntax form, and furthermore, the fields must be given in the same order as the original declaration.
  • The derivedRead instance allows arbitrary Haskell whitespace between tokens of the input string. Extra parentheses are also allowed.

For example, given the declarations

infixr 5 :^:data Tree a =  Leaf a  |  Tree a :^: Tree a

the derived instance ofRead in Haskell 2010 is equivalent to

instance (Read a) => Read (Tree a) where        readsPrec d r =  readParen (d > app_prec)                         (\r -> [(Leaf m,t) |                                 ("Leaf",s) <- lex r,                                 (m,t) <- readsPrec (app_prec+1) s]) r                      ++ readParen (d > up_prec)                         (\r -> [(u:^:v,w) |                                 (u,s) <- readsPrec (up_prec+1) r,                                 (":^:",t) <- lex s,                                 (v,w) <- readsPrec (up_prec+1) t]) r          where app_prec = 10                up_prec = 5

Note that right-associativity of:^: is unused.

The derived instance in GHC is equivalent to

instance (Read a) => Read (Tree a) where        readPrec = parens $ (prec app_prec $ do                                 Ident "Leaf" <- lexP                                 m <- step readPrec                                 return (Leaf m))                     +++ (prec up_prec $ do                                 u <- step readPrec                                 Symbol ":^:" <- lexP                                 v <- step readPrec                                 return (u :^: v))          where app_prec = 10                up_prec = 5        readListPrec = readListPrecDefault

Why do bothreadsPrec andreadPrec exist, and why does GHC opt to implementreadPrec in derivedRead instances instead ofreadsPrec? The reason is thatreadsPrec is based on theReadS type, and althoughReadS is mentioned in the Haskell 2010 Report, it is not a very efficient parser data structure.

readPrec, on the other hand, is based on a much more efficientReadPrec datatype (a.k.a "new-style parsers"), but its definition relies on the use of theRankNTypes language extension. Therefore,readPrec (and its cousin,readListPrec) are marked as GHC-only. Nevertheless, it is recommended to usereadPrec instead ofreadsPrec whenever possible for the efficiency improvements it brings.

As mentioned above, derivedRead instances in GHC will implementreadPrec instead ofreadsPrec. The default implementations ofreadsPrec (and its cousin,readList) will simply usereadPrec under the hood. If you are writing aRead instance by hand, it is recommended to write it like so:

instanceRead T wherereadPrec     = ...readListPrec =readListPrecDefault

Minimal complete definition

readsPrec |readPrec

Methods

readsPrecSource#

Arguments

::Int

the operator precedence of the enclosing context (a number from0 to11). Function application has precedence10.

->ReadS a 

attempts to parse a value from the front of the string, returning a list of (parsed value, remaining string) pairs. If there is no successful parse, the returned list is empty.

Derived instances ofRead andShow satisfy the following:

That is,readsPrec parses the string produced byshowsPrec, and delivers the value thatshowsPrec started with.

readList ::ReadS [a]Source#

The methodreadList is provided to allow the programmer to give a specialised way of parsing lists of values. For example, this is used by the predefinedRead instance of theChar type, where values of typeString should be are expected to use double quotes, rather than square brackets.

readPrec ::ReadPrec aSource#

Proposed replacement forreadsPrec using new-style parsers (GHC only).

readListPrec ::ReadPrec [a]Source#

Proposed replacement forreadList using new-style parsers (GHC only). The default definition usesreadList. Instances that definereadPrec should also definereadListPrec asreadListPrecDefault.

Instances
ReadBoolSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadCharSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadDoubleSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadFloatSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadIntSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadInt8Source#

Since: 2.1

Instance details

Defined inGHC.Int

ReadInt16Source#

Since: 2.1

Instance details

Defined inGHC.Int

ReadInt32Source#

Since: 2.1

Instance details

Defined inGHC.Int

ReadInt64Source#

Since: 2.1

Instance details

Defined inGHC.Int

ReadIntegerSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadNaturalSource#

Since: 4.8.0.0

Instance details

Defined inGHC.Read

ReadOrderingSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadWordSource#

Since: 4.5.0.0

Instance details

Defined inGHC.Read

ReadWord8Source#

Since: 2.1

Instance details

Defined inGHC.Read

ReadWord16Source#

Since: 2.1

Instance details

Defined inGHC.Read

ReadWord32Source#

Since: 2.1

Instance details

Defined inGHC.Read

ReadWord64Source#

Since: 2.1

Instance details

Defined inGHC.Read

Read ()Source#

Since: 2.1

Instance details

Defined inGHC.Read

ReadGeneralCategorySource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadLexemeSource#

Since: 2.1

Instance details

Defined inGHC.Read

ReadIOModeSource#

Since: 4.2.0.0

Instance details

Defined inGHC.IO.IOMode

ReadIntPtrSource# 
Instance details

Defined inForeign.Ptr

ReadWordPtrSource# 
Instance details

Defined inForeign.Ptr

ReadCUIntMaxSource# 
Instance details

Defined inForeign.C.Types

ReadCIntMaxSource# 
Instance details

Defined inForeign.C.Types

ReadCUIntPtrSource# 
Instance details

Defined inForeign.C.Types

ReadCIntPtrSource# 
Instance details

Defined inForeign.C.Types

ReadCSUSecondsSource# 
Instance details

Defined inForeign.C.Types

ReadCUSecondsSource# 
Instance details

Defined inForeign.C.Types

ReadCTimeSource# 
Instance details

Defined inForeign.C.Types

ReadCClockSource# 
Instance details

Defined inForeign.C.Types

ReadCSigAtomicSource# 
Instance details

Defined inForeign.C.Types

ReadCWcharSource# 
Instance details

Defined inForeign.C.Types

ReadCSizeSource# 
Instance details

Defined inForeign.C.Types

ReadCPtrdiffSource# 
Instance details

Defined inForeign.C.Types

ReadCDoubleSource# 
Instance details

Defined inForeign.C.Types

ReadCFloatSource# 
Instance details

Defined inForeign.C.Types

ReadCBoolSource# 
Instance details

Defined inForeign.C.Types

ReadCULLongSource# 
Instance details

Defined inForeign.C.Types

ReadCLLongSource# 
Instance details

Defined inForeign.C.Types

ReadCULongSource# 
Instance details

Defined inForeign.C.Types

ReadCLongSource# 
Instance details

Defined inForeign.C.Types

ReadCUIntSource# 
Instance details

Defined inForeign.C.Types

ReadCIntSource# 
Instance details

Defined inForeign.C.Types

ReadCUShortSource# 
Instance details

Defined inForeign.C.Types

ReadCShortSource# 
Instance details

Defined inForeign.C.Types

ReadCUCharSource# 
Instance details

Defined inForeign.C.Types

ReadCSCharSource# 
Instance details

Defined inForeign.C.Types

ReadCCharSource# 
Instance details

Defined inForeign.C.Types

ReadSomeNatSource#

Since: 4.7.0.0

Instance details

Defined inGHC.TypeNats

ReadSomeSymbolSource#

Since: 4.7.0.0

Instance details

Defined inGHC.TypeLits

ReadDecidedStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ReadSourceStrictnessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ReadSourceUnpackednessSource#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

ReadAssociativitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

ReadFixitySource#

Since: 4.6.0.0

Instance details

Defined inGHC.Generics

ReadAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

ReadAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

ReadSeekModeSource#

Since: 4.2.0.0

Instance details

Defined inGHC.IO.Device

ReadNewlineModeSource#

Since: 4.3.0.0

Instance details

Defined inGHC.IO.Handle.Types

ReadNewlineSource#

Since: 4.3.0.0

Instance details

Defined inGHC.IO.Handle.Types

ReadBufferModeSource#

Since: 4.2.0.0

Instance details

Defined inGHC.IO.Handle.Types

ReadExitCodeSource# 
Instance details

Defined inGHC.IO.Exception

ReadFdSource# 
Instance details

Defined inSystem.Posix.Types

ReadCKeySource# 
Instance details

Defined inSystem.Posix.Types

ReadCIdSource# 
Instance details

Defined inSystem.Posix.Types

ReadCFsFilCntSource# 
Instance details

Defined inSystem.Posix.Types

ReadCFsBlkCntSource# 
Instance details

Defined inSystem.Posix.Types

ReadCClockIdSource# 
Instance details

Defined inSystem.Posix.Types

ReadCBlkCntSource# 
Instance details

Defined inSystem.Posix.Types

ReadCBlkSizeSource# 
Instance details

Defined inSystem.Posix.Types

ReadCRLimSource# 
Instance details

Defined inSystem.Posix.Types

ReadCTcflagSource# 
Instance details

Defined inSystem.Posix.Types

ReadCSpeedSource# 
Instance details

Defined inSystem.Posix.Types

ReadCCcSource# 
Instance details

Defined inSystem.Posix.Types

ReadCUidSource# 
Instance details

Defined inSystem.Posix.Types

ReadCNlinkSource# 
Instance details

Defined inSystem.Posix.Types

ReadCGidSource# 
Instance details

Defined inSystem.Posix.Types

ReadCSsizeSource# 
Instance details

Defined inSystem.Posix.Types

ReadCPidSource# 
Instance details

Defined inSystem.Posix.Types

ReadCOffSource# 
Instance details

Defined inSystem.Posix.Types

ReadCModeSource# 
Instance details

Defined inSystem.Posix.Types

ReadCInoSource# 
Instance details

Defined inSystem.Posix.Types

ReadCDevSource# 
Instance details

Defined inSystem.Posix.Types

ReadVersionSource#

Since: 2.1

Instance details

Defined inData.Version

ReadByteOrderSource#

Since: 4.11.0.0

Instance details

Defined inGHC.ByteOrder

ReadGCDetailsSource#

Since: 4.10.0.0

Instance details

Defined inGHC.Stats

ReadRTSStatsSource#

Since: 4.10.0.0

Instance details

Defined inGHC.Stats

ReadVoidSource#

Reading aVoid value is always a parse error, consideringVoid as a data type with no constructors.

Since: 4.8.0.0

Instance details

Defined inData.Void

Read a =>Read [a]Source#

Since: 2.1

Instance details

Defined inGHC.Read

Read a =>Read (Maybe a)Source#

Since: 2.1

Instance details

Defined inGHC.Read

(Integral a,Read a) =>Read (Ratio a)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Read p =>Read (Par1 p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Read a =>Read (NonEmpty a)Source#

Since: 4.11.0.0

Instance details

Defined inGHC.Read

Read a =>Read (Down a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Ord

Read a =>Read (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Read a =>Read (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Read a =>Read (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Read a =>Read (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Read a =>Read (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Read a =>Read (Identity a)Source#

This instance would be equivalent to the derived instances of theIdentity newtype if therunIdentity field were removed

Since: 4.8.0.0

Instance details

Defined inData.Functor.Identity

Read a =>Read (ZipList a)Source#

Since: 4.7.0.0

Instance details

Defined inControl.Applicative

Read a =>Read (Option a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Read m =>Read (WrappedMonoid m)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Read a =>Read (Last a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Read a =>Read (First a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Read a =>Read (Max a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Read a =>Read (Min a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

HasResolution a =>Read (Fixed a)Source#

Since: 4.3.0.0

Instance details

Defined inData.Fixed

Read a =>Read (Complex a)Source#

Since: 2.1

Instance details

Defined inData.Complex

(Read a,Read b) =>Read (Either a b)Source#

Since: 3.0

Instance details

Defined inData.Either

Read (V1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

Read (U1 p)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Generics

(Read a,Read b) =>Read (a, b)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Read (Proxy t)Source#

Since: 4.7.0.0

Instance details

Defined inData.Proxy

(Read a,Read b) =>Read (Arg a b)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Read (f p) =>Read (Rec1 f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Read a,Read b,Read c) =>Read (a, b, c)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c)Source#

readList ::ReadS [(a, b, c)]Source#

readPrec ::ReadPrec (a, b, c)Source#

readListPrec ::ReadPrec [(a, b, c)]Source#

a ~ b =>Read (a:~: b)Source#

Since: 4.7.0.0

Instance details

Defined inData.Type.Equality

Coercible a b =>Read (Coercion a b)Source#

Since: 4.7.0.0

Instance details

Defined inData.Type.Coercion

Read (f a) =>Read (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Read (f a) =>Read (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Read a =>Read (Const a b)Source#

This instance would be equivalent to the derived instances of theConst newtype if therunConst field were removed

Since: 4.8.0.0

Instance details

Defined inData.Functor.Const

Read c =>Read (K1 i c p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Read (f p),Read (g p)) =>Read ((f:+: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Read (f p),Read (g p)) =>Read ((f:*: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Read a,Read b,Read c,Read d) =>Read (a, b, c, d)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d)Source#

readList ::ReadS [(a, b, c, d)]Source#

readPrec ::ReadPrec (a, b, c, d)Source#

readListPrec ::ReadPrec [(a, b, c, d)]Source#

a~~ b =>Read (a:~~: b)Source#

Since: 4.10.0.0

Instance details

Defined inData.Type.Equality

(Read1 f,Read1 g,Read a) =>Read (Sum f g a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Functor.Sum

(Read1 f,Read1 g,Read a) =>Read (Product f g a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Functor.Product

Read (f p) =>Read (M1 i c f p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

Read (f (g p)) =>Read ((f:.: g) p)Source#

Since: 4.7.0.0

Instance details

Defined inGHC.Generics

(Read a,Read b,Read c,Read d,Read e) =>Read (a, b, c, d, e)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e)Source#

readList ::ReadS [(a, b, c, d, e)]Source#

readPrec ::ReadPrec (a, b, c, d, e)Source#

readListPrec ::ReadPrec [(a, b, c, d, e)]Source#

(Read1 f,Read1 g,Read a) =>Read (Compose f g a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Functor.Compose

(Read a,Read b,Read c,Read d,Read e,Read f) =>Read (a, b, c, d, e, f)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e, f)Source#

readList ::ReadS [(a, b, c, d, e, f)]Source#

readPrec ::ReadPrec (a, b, c, d, e, f)Source#

readListPrec ::ReadPrec [(a, b, c, d, e, f)]Source#

(Read a,Read b,Read c,Read d,Read e,Read f,Read g) =>Read (a, b, c, d, e, f, g)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e, f, g)Source#

readList ::ReadS [(a, b, c, d, e, f, g)]Source#

readPrec ::ReadPrec (a, b, c, d, e, f, g)Source#

readListPrec ::ReadPrec [(a, b, c, d, e, f, g)]Source#

(Read a,Read b,Read c,Read d,Read e,Read f,Read g,Read h) =>Read (a, b, c, d, e, f, g, h)Source#

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e, f, g, h)Source#

readList ::ReadS [(a, b, c, d, e, f, g, h)]Source#

readPrec ::ReadPrec (a, b, c, d, e, f, g, h)Source#

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e, f, g, h, i)Source#

readList ::ReadS [(a, b, c, d, e, f, g, h, i)]Source#

readPrec ::ReadPrec (a, b, c, d, e, f, g, h, i)Source#

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e, f, g, h, i, j)Source#

readList ::ReadS [(a, b, c, d, e, f, g, h, i, j)]Source#

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

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i, j)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

readsPrec ::Int ->ReadS (a, b, c, d, e, f, g, h, i, j, k)Source#

readList ::ReadS [(a, b, c, d, e, f, g, h, i, j, k)]Source#

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

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i, j, k)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

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

readList ::ReadS [(a, b, c, d, e, f, g, h, i, j, k, l)]Source#

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

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i, j, k, l)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

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

readList ::ReadS [(a, b, c, d, e, f, g, h, i, j, k, l, m)]Source#

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

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i, j, k, l, m)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

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

readList ::ReadS [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)]Source#

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

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)]Source#

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

Since: 2.1

Instance details

Defined inGHC.Read

Methods

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

readList ::ReadS [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)]Source#

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

readListPrec ::ReadPrec [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)]Source#

typeReadS a =String -> [(a,String)]Source#

A parser for a typea, represented as a function that takes aString and returns a list of possible parses as(a,String) pairs.

Note that this kind of backtracking parser is very inefficient; reading a large structure may be quite slow (cfReadP).

Haskell 2010 functions

reads ::Read a =>ReadS aSource#

equivalent toreadsPrec with a precedence of 0.

read ::Read a =>String -> aSource#

Theread function reads input from a string, which must be completely consumed by the input process.read fails with anerror if the parse is unsuccessful, and it is therefore discouraged from being used in real applications. UsereadMaybe orreadEither for safe alternatives.

>>>read "123" :: Int123
>>>read "hello" :: Int*** Exception: Prelude.read: no parse

readParen ::Bool ->ReadS a ->ReadS aSource#

readParenTrue p parses whatp parses, but surrounded with parentheses.

readParenFalse p parses whatp parses, but optionally surrounded with parentheses.

lex ::ReadSStringSource#

Thelex function reads a single lexeme from the input, discarding initial white space, and returning the characters that constitute the lexeme. If the input string contains only white space,lex returns a single successful `lexeme' consisting of the empty string. (Thuslex "" = [("","")].) If there is no legal lexeme at the beginning of the input string,lex fails (i.e. returns[]).

This lexer is not completely faithful to the Haskell lexical syntax in the following respects:

  • Qualified names are not handled properly
  • Octal and hexadecimal numerics are not recognized as a single token
  • Comments are not treated properly

New parsing functions

moduleText.ParserCombinators.ReadPrec

dataLexemeSource#

Constructors

CharChar

Character literal

StringString

String literal, with escapes interpreted

PuncString

Punctuation or reserved symbol, e.g.(,::

IdentString

Haskell identifier, e.g.foo,Baz

SymbolString

Haskell symbol, e.g.>>,:%

NumberNumber

Since: 4.6.0.0

EOF 
Instances
EqLexemeSource#

Since: 2.1

Instance details

Defined inText.Read.Lex

ReadLexemeSource#

Since: 2.1

Instance details

Defined inGHC.Read

ShowLexemeSource#

Since: 2.1

Instance details

Defined inText.Read.Lex

lexP ::ReadPrecLexemeSource#

Parse a single lexeme

parens ::ReadPrec a ->ReadPrec aSource#

(parens p) parses "P", "(P0)", "((P0))", etc, wherep parses "P" in the current precedence context and parses "P0" in precedence context zero

readListDefault ::Read a =>ReadS [a]Source#

A possible replacement definition for thereadList method (GHC only). This is only needed for GHC, and even then only forRead instances wherereadListPrec isn't defined asreadListPrecDefault.

readListPrecDefault ::Read a =>ReadPrec [a]Source#

A possible replacement definition for thereadListPrec method, defined usingreadPrec (GHC only).

readEither ::Read a =>String ->EitherString aSource#

Parse a string using theRead instance. Succeeds if there is exactly one valid result. ALeft value indicates a parse error.

>>>readEither "123" :: Either String IntRight 123
>>>readEither "hello" :: Either String IntLeft "Prelude.read: no parse"

Since: 4.6.0.0

readMaybe ::Read a =>String ->Maybe aSource#

Parse a string using theRead instance. Succeeds if there is exactly one valid result.

>>>readMaybe "123" :: Maybe IntJust 123
>>>readMaybe "hello" :: Maybe IntNothing

Since: 4.6.0.0

Produced byHaddock version 2.20.0


[8]ページ先頭

©2009-2025 Movatter.jp