This module defines an extension of the Show class for displaying multi-line values. It serves the following purposes:
- provides a method with greater layout control of multiline values,
- provides a possibility to override the default Show behaviour for programs that use the extended ShowM interface, and
- uses a ShowS intermediate value to avoid unnecessary concatenation of long strings.
ShowM is a type class for values that may be formatted in multi-line displays.
This function is intended to allow the calling function some control of multiline displays by providing:
- the first line of the value is not preceded by any text, so it may be appended to some preceding text on the same line,
- the supplied line break string is used to separate lines of the formatted text, and may include any desired indentation, and
- no newline is output following the final line of text.