The Encode library provides a unified interface for converting strings
from different encodings into a common representation, and vice versa.
This representation is isomorphic to the Unicode character set, and the
encodings can be both standard and user-defined. For this purpose, the
Encode module defines the Encode.UPoint data type and the
Encode.Encoding type class with the encode and decode methods.
The Encode library is being proposed as a Haskell analogy to the
Encode extension in Perl, http://search.cpan.org/dist/Encode/.
The Main.Encode and Main.Decode programs mimick the function calls
to encode and decode, respectively, with the following usage:
decode ArabTeX < decode.d | encode Buckwalter > encode.d
decode MacArabic < data.MacArabic > data.UTF8
encode WinArabic < data.UTF8 > data.WinArabic
The installation instructions are given in INSTALL.
For the list of supported encoding schemes, please refer
to Encode and the source files of the programs. With the
executables, the naming of encodings is case-insensitive
and some further options are allowed:
encode|decode [--OPTIONS] [ENCODING]
-h --help show usage information
-l --lines use line-oriented mode
-p text --prefix=text prefix input with text
-s text --suffix=text suffix input with text
-v --version show program's version
The PureFP library is an edited excerpt from the Functional Parsing
library developed by Peter Ljunglöf in his licenciate thesis
Pure Functional Parsing an advanced tutorial, Göteborg
University and Chalmers University of Technology, April 2002,
http://code.google.com/p/haskell-functional-parsing/.
Encode PureFP