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