-- | -- Examples in various locations... -- -- Some random text. Some random text. Some random text. Some random text. -- Some random text. Some random text. Some random text. Some random text. -- Some random text. -- -- >>> let x = 10 -- -- Some random text. Some random text. Some random text. Some random text. -- Some random text. Some random text. Some random text. Some random text. -- Some random text. -- -- -- >>> baz -- "foobar" module TestCommentLocation.Foo ( -- | Some documentation not attached to a particular Haskell entity -- -- >>> test 10 -- *** Exception: Prelude.undefined -- ... test, -- | -- >>> fib 10 -- 55 fib, -- | -- >>> bar -- "bar" bar, foo, baz ) where -- | My test -- -- >>> test 20 -- *** Exception: Prelude.undefined -- ... test :: Integer -> Integer test :: Integer -> Integer test = Integer -> Integer forall a. HasCallStack => a undefined -- | Note that examples for 'fib' include the two examples below -- and the one example with ^ syntax after 'fix' -- -- >>> foo -- "foo" {- | Example: >>> fib 10 55 -} -- | Calculate Fibonacci number of given `n`. fib :: Integer -- ^ given `n` -- -- >>> fib 10 -- 55 -> Integer -- ^ Fibonacci of given `n` -- -- >>> baz -- "foobar" fib :: Integer -> Integer fib Integer 0 = Integer 0 fib Integer 1 = Integer 1 fib Integer n = Integer -> Integer fib (Integer n Integer -> Integer -> Integer forall a. Num a => a -> a -> a - Integer 1) Integer -> Integer -> Integer forall a. Num a => a -> a -> a + Integer -> Integer fib (Integer n Integer -> Integer -> Integer forall a. Num a => a -> a -> a - Integer 2) -- ^ Example: -- -- >>> fib 5 -- 5 foo :: String foo = String "foo" bar :: String bar = String "bar" baz :: String baz = String foo String -> String -> String forall a. [a] -> [a] -> [a] ++ String bar