Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Artifact ID: | c6791bce7a48852a21fa5b870d658d5328d32265 |
---|---|
Page Name: | ChangeLog |
Date: | 2015-05-29 21:22:39 |
Original User: | mwm |
Mimetype: | text/x-markdown |
Changes from Eddie 0.5 to 1.0
Text and ByteStrings instead of Strings
In order to facilitate modern text processing features and enhance
performance, the default input and output type is now Text
, not
String
. If --binary
is used, then the type becomes
ByteString
. If you wish to generate Text
output, then you can use
--text
along with --binary
to get Text
output and ByteString
input.
Text
IO uses encoding, whose default values will depend on your
operating system. Those can be set for Text
input and output with
--input-encoding
and --output-encoding
, respectively. --encoding
sets both to the same value.
ClassyPrelude, instead of Prelude and extras
To avoid having to use Text
or ByteString
specific versions of
the all the Haskell List
functions, ClassyPrelude
is used instead
of the default Prelude
. Data.List
and Data.Char
are no longer
included by default, as most of the useful functions are included in
ClassyPrelude
.
This does mean that some common functions have changed names. Any
partial functions have been replaced with a version with Ex
appended
to the name. There are also alternatives that take default values or
return Maybe
instances instead of raising exceptions.
The show
function is still around, except that the output type is
now Text
instead of String
so that filtering works properly. This
means that if you need to display a calculated value, you'll need to
use tshow
instead of show
New option parsing library
Option parsing is now handled by optparse-applicative. This has
simplified the code. It also makes it possible to use shorter forms of
the "long" form for options, so long as they aren't ambiguous. So the
--line
and -file
options have been pluralized. And --expr
has
been expanded to --expression
.
The downside - at least for now - is that you can no longer have
multiple short options in a single argument. So -lL
has to be
written out as -l -L
.
For similar reasons, --modules
and --Modules
are no longer plural.
Misfeatures removed
The --list
option now disabled the automatic catenation of an output
list. About half the time, the expression doesn't generate a list in
any case. And if you're processing files, there's no easy way to get
the current behavior using the old behavior, whereas it's easy to add
the appropriate catenation function to the current behavior if it's
needed.