swish- A semantic web toolkit.

MaintainerDouglas Burke



This module defines an extension of the Show class for displaying multi-line values. It serves the following purposes:

  1. provides a method with greater layout control of multiline values,
  2. provides a possibility to override the default Show behaviour for programs that use the extended ShowM interface, and
  3. uses a ShowS intermediate value to avoid unnecessary concatenation of long strings.



class Show sh => ShowM sh whereSource

ShowM is a type class for values that may be formatted in multi-line displays.


showms :: String -> sh -> ShowSSource

Multi-line value display method Create a multiline displayable form of a value, returned as a ShowS value. The default implementation behaves just like a normal instance of Show.

This function is intended to allow the calling function some control of multiline displays by providing:

  1. 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,
  2. the supplied line break string is used to separate lines of the formatted text, and may include any desired indentation, and
  3. no newline is output following the final line of text.