text-1.1.1.4: An efficient packed Unicode text type.

Copyright(c) Tom Harper 2008-2009, (c) Bryan O'Sullivan 2009, (c) Duncan Coutts 2009, (c) Jasper Van der Jeugt 2011
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
PortabilityGHC
Safe HaskellSafe-Inferred
LanguageHaskell98

Data.Text.Internal.Fusion.Types

Description

Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk!

Core stream fusion functionality for text.

Synopsis

Documentation

data CC s Source

Specialised tuple for case conversion.

Constructors

CC !s !Char !Char 

data M a Source

Specialised, strict Maybe-like type.

Constructors

N 
J !a 

type M8 = M Word8 Source

data PairS a b Source

Constructors

!a :*: !b infixl 2 

data RS s Source

Constructors

RS0 !s 
RS1 !s !Word8 
RS2 !s !Word8 !Word8 
RS3 !s !Word8 !Word8 !Word8 

data Step s a Source

Constructors

Done 
Skip !s 
Yield !a !s 

data Stream a Source

Constructors

forall s . Stream (s -> Step s a) !s !Size 

Instances

Eq a => Eq (Stream a) 
Ord a => Ord (Stream a) 

data Switch Source

Allow a function over a stream to switch between two states.

Constructors

S1 
S2 

empty :: Stream a Source

The empty stream.