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.