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

[ bsd3, library, text ] [ Propose Tags ]

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]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1
Change log ChangeLog.md
Dependencies base (>=4.10 && <4.18) [details]
License BSD-3-Clause
Author Vitaly Bragilevsky
Maintainer Vitaly Bragilevsky <vit.bragilevsky@gmail.com>
Revised Revision 4 made by bravit at 2023-01-14T13:15:52Z
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:57:59Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 910 total (10 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-09-24 [all 1 reports]

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.