Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 53be4b908f5603d39c263bea2a996239 > files > 78

ghc-text-devel-0.8.1.0-1.fc14.1.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Data.Text.Encoding.Error</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Data-Text-Encoding-Error.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>text-0.8.1.0: An efficient packed Unicode text type.</TD
><TD CLASS="topbut"
><A HREF="src/Data-Text-Encoding-Error.html"
>Source code</A
></TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Data.Text.Encoding.Error</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>GHC</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>bos@serpentine.com, rtomharper@googlemail.com,
               duncan@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Error handling types
</A
></DT
><DT
><A HREF="#2"
>Useful error handling functions
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>Types and functions for dealing with encoding and decoding errors
 in Unicode text.
</P
><P
>The standard functions for encoding and decoding text are strict,
 which is to say that they throw exceptions on invalid input.  This
 is often unhelpful on real world input, so alternative functions
 exist that accept custom handlers for dealing with invalid inputs.
 These <TT
><A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
></TT
> handlers are normal Haskell functions.  You can use
 one of the presupplied functions in this module, or you can write a
 custom handler of your own.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AUnicodeException"
>UnicodeException</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADecodeError"
>DecodeError</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
>)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEncodeError"
>EncodeError</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
>)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AOnError"
>OnError</A
> a b = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AOnDecodeError"
>OnDecodeError</A
> = <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AOnEncodeError"
>OnEncodeError</A
> = <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlenientDecode"
>lenientDecode</A
> :: <A HREF="Data-Text-Encoding-Error.html#t%3AOnDecodeError"
>OnDecodeError</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstrictDecode"
>strictDecode</A
> :: <A HREF="Data-Text-Encoding-Error.html#t%3AOnDecodeError"
>OnDecodeError</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstrictEncode"
>strictEncode</A
> :: <A HREF="Data-Text-Encoding-Error.html#t%3AOnEncodeError"
>OnEncodeError</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aignore"
>ignore</A
> ::  <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Areplace"
>replace</A
> ::  b -&gt; <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> a b</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Error handling types
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:UnicodeException"
><A NAME="t%3AUnicodeException"
></A
></A
><B
>UnicodeException</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#UnicodeException"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An exception type for representing Unicode encoding errors.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:DecodeError"
><A NAME="v%3ADecodeError"
></A
></A
><B
>DecodeError</B
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
>)</TD
><TD CLASS="rdoc"
>Could not decode a byte sequence because it was invalid under
 the given encoding, or ran out of input in mid-decode.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EncodeError"
><A NAME="v%3AEncodeError"
></A
></A
><B
>EncodeError</B
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
>)</TD
><TD CLASS="rdoc"
>Tried to encode a character that could not be represented
 under the given encoding, or ran out of input in mid-encode.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UnicodeException')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:UnicodeException" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Data-Text-Encoding-Error.html#t%3AUnicodeException"
>UnicodeException</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> <A HREF="Data-Text-Encoding-Error.html#t%3AUnicodeException"
>UnicodeException</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AException"
>Exception</A
> <A HREF="Data-Text-Encoding-Error.html#t%3AUnicodeException"
>UnicodeException</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:OnError"
><A NAME="t%3AOnError"
></A
></A
><B
>OnError</B
> a b = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#OnError"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Function type for handling a coding error.  It is supplied with
 two inputs:
</P
><UL
><LI
> A <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TT
> that describes the error.
</LI
><LI
> The input value that caused the error.  If the error arose
   because the end of input was reached or could not be identified
   precisely, this value will be <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#v%3ANothing"
>Nothing</A
></TT
>.
</LI
></UL
><P
>If the handler returns a value wrapped with <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#v%3AJust"
>Just</A
></TT
>, that value will
 be used in the output as the replacement for the invalid input.  If
 it returns <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#v%3ANothing"
>Nothing</A
></TT
>, no value will be used in the output.
</P
><P
>Should the handler need to abort processing, it should use <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#v%3Aerror"
>error</A
></TT
>
 or <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#v%3Athrow"
>throw</A
></TT
> an exception (preferably a <TT
><A HREF="Data-Text-Encoding-Error.html#t%3AUnicodeException"
>UnicodeException</A
></TT
>).  It may
 use the description provided to construct a more helpful error
 report.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:OnDecodeError"
><A NAME="t%3AOnDecodeError"
></A
></A
><B
>OnDecodeError</B
> = <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
></TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#OnDecodeError"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A handler for a decoding error.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:OnEncodeError"
><A NAME="t%3AOnEncodeError"
></A
></A
><B
>OnEncodeError</B
> = <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
></TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#OnEncodeError"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A handler for an encoding error.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Useful error handling functions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:lenientDecode"
><A NAME="v%3AlenientDecode"
></A
></A
><B
>lenientDecode</B
> :: <A HREF="Data-Text-Encoding-Error.html#t%3AOnDecodeError"
>OnDecodeError</A
></TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#lenientDecode"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Replace an invalid input byte with the Unicode replacement
 character U+FFFD.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:strictDecode"
><A NAME="v%3AstrictDecode"
></A
></A
><B
>strictDecode</B
> :: <A HREF="Data-Text-Encoding-Error.html#t%3AOnDecodeError"
>OnDecodeError</A
></TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#strictDecode"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Throw a <TT
><A HREF="Data-Text-Encoding-Error.html#t%3AUnicodeException"
>UnicodeException</A
></TT
> if decoding fails.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:strictEncode"
><A NAME="v%3AstrictEncode"
></A
></A
><B
>strictEncode</B
> :: <A HREF="Data-Text-Encoding-Error.html#t%3AOnEncodeError"
>OnEncodeError</A
></TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#strictEncode"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Throw a <TT
><A HREF="Data-Text-Encoding-Error.html#t%3AUnicodeException"
>UnicodeException</A
></TT
> if encoding fails.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:ignore"
><A NAME="v%3Aignore"
></A
></A
><B
>ignore</B
> ::  <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> a b</TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#ignore"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Ignore an invalid input, substituting nothing in the output.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:replace"
><A NAME="v%3Areplace"
></A
></A
><B
>replace</B
> ::  b -&gt; <A HREF="Data-Text-Encoding-Error.html#t%3AOnError"
>OnError</A
> a b</TD
><TD CLASS="declbut"
><A HREF="src/Data-Text-Encoding-Error.html#replace"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Replace an invalid input with a valid output.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>