packages feed

pretty-ghci-0.2.0.0: show-test/ref/sample3.txt

MetaDoc
  { _meta = Meta { _version = Nothing, _package = Nothing }
  , _doc = DocAppend
             (DocParagraph
                (DocAppend
                   (DocString "The ")
                   (DocAppend
                      (DocIdentifier ('\'', "Eq", '\''))
                      (DocAppend
                         (DocString " class defines equality (")
                         (DocAppend
                            (DocIdentifier ('\'', "==", '\''))
                            (DocAppend
                               (DocString ") and inequality (")
                               (DocAppend
                                  (DocIdentifier ('\'', "/=", '\''))
                                  (DocAppend
                                     (DocString
                                        ").\nAll the basic datatypes exported by the ")
                                     (DocAppend
                                        (DocModule "Prelude")
                                        (DocAppend
                                           (DocString " are instances of ")
                                           (DocAppend
                                              (DocIdentifier ('\'', "Eq", '\''))
                                              (DocAppend
                                                 (DocString ",\nand ")
                                                 (DocAppend
                                                    (DocIdentifier
                                                       ('\'', "Eq", '\''))
                                                    (DocAppend
                                                       (DocString
                                                          " may be derived for any datatype whose constituents are also\ninstances of ")
                                                       (DocAppend
                                                          (DocIdentifier
                                                             ('\'', "Eq", '\''))
                                                          (DocString
                                                             "."))))))))))))))))
             (DocAppend
                (DocParagraph
                   (DocAppend
                      (DocString "The Haskell Report defines no laws for ")
                      (DocAppend
                         (DocIdentifier ('\'', "Eq", '\''))
                         (DocAppend
                            (DocString ". However, ")
                            (DocAppend
                               (DocIdentifier ('\'', "==", '\''))
                               (DocString
                                  " is customarily\nexpected to implement an equivalence relationship where two values comparing\nequal are indistinguishable by \"public\" functions, with a \"public\" function\nbeing one not allowing to see implementation details. For example, for a\ntype representing non-normalised natural numbers modulo 100, a \"public\"\nfunction doesn't make the difference between 1 and 201. It is expected to\nhave the following properties:"))))))
                (DocAppend
                   (DocDefList
                      [ ( DocBold (DocString "Reflexivity")
                        , DocAppend
                            (DocMonospaced
                               (DocAppend
                                  (DocString "x ")
                                  (DocAppend
                                     (DocIdentifier ('\'', "==", '\''))
                                     (DocString " x"))))
                            (DocAppend
                               (DocString " = ")
                               (DocIdentifier ('\'', "True", '\''))) )
                      , ( DocBold (DocString "Symmetry")
                        , DocAppend
                            (DocMonospaced (DocString "x == y"))
                            (DocAppend
                               (DocString " = ")
                               (DocMonospaced (DocString "y == x"))) )
                      , ( DocBold (DocString "Transitivity")
                        , DocAppend
                            (DocString "if ")
                            (DocAppend
                               (DocMonospaced (DocString "x == y && y == z"))
                               (DocAppend
                                  (DocString " = ")
                                  (DocAppend
                                     (DocIdentifier ('\'', "True", '\''))
                                     (DocAppend
                                        (DocString ", then ")
                                        (DocAppend
                                           (DocMonospaced (DocString "x == z"))
                                           (DocAppend
                                              (DocString " = ")
                                              (DocIdentifier
                                                 ('\'', "True", '\'')))))))) )
                      , ( DocBold (DocString "Substitutivity")
                        , DocAppend
                            (DocString "if ")
                            (DocAppend
                               (DocMonospaced (DocString "x == y"))
                               (DocAppend
                                  (DocString " = ")
                                  (DocAppend
                                     (DocIdentifier ('\'', "True", '\''))
                                     (DocAppend
                                        (DocString " and ")
                                        (DocAppend
                                           (DocMonospaced (DocString "f"))
                                           (DocAppend
                                              (DocString
                                                 " is a \"public\" function\nwhose return type is an instance of ")
                                              (DocAppend
                                                 (DocIdentifier
                                                    ('\'', "Eq", '\''))
                                                 (DocAppend
                                                    (DocString ", then ")
                                                    (DocAppend
                                                       (DocMonospaced
                                                          (DocString
                                                             "f x == f y"))
                                                       (DocAppend
                                                          (DocString " = ")
                                                          (DocIdentifier
                                                             ( '\''
                                                             , "True"
                                                             , '\'' )))))))))))) )
                      , ( DocBold (DocString "Negation")
                        , DocAppend
                            (DocMonospaced (DocString "x /= y"))
                            (DocAppend
                               (DocString " = ")
                               (DocMonospaced (DocString "not (x == y)"))) ) ])
                   (DocParagraph
                      (DocAppend
                         (DocString "Minimal complete definition: either ")
                         (DocAppend
                            (DocIdentifier ('\'', "==", '\''))
                            (DocAppend
                               (DocString " or ")
                               (DocAppend
                                  (DocIdentifier ('\'', "/=", '\''))
                                  (DocString ".")))))))) }