Extensible, type-safe formatting with scanf- and printf-like functions.
This package is composed of two functions for formatted conversion between strings and typed values. Each is defined as a type-indexed function using a type class with multiple parameters and functional dependencies along with format descriptors.
Text.XFormat.Read
allows one to parse values from a formatted string. Its functionality is similar to the C scanf
function. Unlike scanf
, however, the format descriptor is well-typed, ensuring that the output type is statically known.
Text.XFormat.Show
allows one to print values to a formatted string. Its functionality is similar to the C printf
function. Unlike printf
, however, the format descriptor is well-typed, ensuring that the variable number arguments are statically known.
These functions can be easily extended to support new formats and new types. Extension is simple: define a format descriptor and an instance of the appropriate class.