make sure string \0122 is not printed as \122
Merge pull request #86 from Frege/read

make sure string \0122 is not printed as \122
Port Data.Bits from Haskell
Merge pull request #87 from mmhelloworld/port-data-bits

Port Data.Bits from Haskell
Merge branch 'master' into issue80
eliminate pattern match warnings
eliminate warnings and hints
make it possible to suppress 'is supposed to be constant' warning