unescaping-print: Tiny package providing unescaping versions of show and print

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This package solves the problem of escaping all "non-printable" symbols by the standard show function. It provides the ushow and uprint functions which replace show and print from Prelude. The function uprint is intended to be used as custom printing function in GHCi (with the `-interactive-print` option).


[Skip to Readme]

Properties

Versions 0.1, 0.1
Change log ChangeLog.md
Dependencies base (>=4.10 && <4.12) [details]
License BSD-3-Clause
Author Vitaly Bragilevsky
Maintainer Vitaly Bragilevsky <vit.bragilevsky@gmail.com>
Category Text
Home page https://github.com/bravit/unescaping-print#readme
Bug tracker https://github.com/bravit/unescaping-print/issues
Source repo head: git clone https://github.com/bravit/unescaping-print
Uploaded by bravit at 2018-09-23T23:48:34Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for unescaping-print-0.1

[back to package description]

This package provides the replacement for the show and print functions which escape "non-printable" characters including every character with the ASCII code greater than 127. It is intended to be used with GHCi's -interactive-print option:

GHCi> :set -interactive-print=UnescapingPrint.uprint
GHCi> "Съешь ещё этих мягких французских булок, да выпей чаю"
"Съешь ещё этих мягких французских булок, да выпей чаю"
GHCi> "Vogt Nyx: »Büß du ja zwölf Qirsch, Kämpe!«"
"Vogt Nyx: »Büß du ja zwölf Qirsch, Kämpe!«"
GHCi> "Dès Noël où un zéphyr haï me vêt de glaçons würmiens je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera"
"Dès Noël où un zéphyr haï me vêt de glaçons würmiens je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera"

This approach works for (almost) any type with Show instance:

GHCi> (Just "Привет, ", 'м','и','р') 
(Just "Привет, ",'м','и','р')

This change could be made persistent via $HOME/.ghci file.