[commit: ghc] wip/nfs-locking: Add Haddocks to Base.hs (5a82579)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 00:01:42 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/5a8257902248c32409835ab47b89c3e1a38be2b1/ghc

>---------------------------------------------------------------

commit 5a8257902248c32409835ab47b89c3e1a38be2b1
Author: David Luposchainsky <dluposchainsky at gmail.com>
Date:   Wed Jan 6 16:00:06 2016 +0100

    Add Haddocks to Base.hs


>---------------------------------------------------------------

5a8257902248c32409835ab47b89c3e1a38be2b1
 src/Base.hs | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/Base.hs b/src/Base.hs
index a116892..05686e0 100644
--- a/src/Base.hs
+++ b/src/Base.hs
@@ -180,7 +180,16 @@ putError msg = do
     putColoured Red msg
     error $ "GHC build system error: " ++ msg
 
--- | Render the given set of lines in a nice box of ASCII
+-- | Render the given set of lines in a nice box of ASCII.
+--
+-- The minimum width and whether to use Unicode symbols are hardcoded in the
+-- function's body.
+--
+-- >>> renderBox (words "lorem ipsum")
+-- /----------\
+-- | lorem    |
+-- | ipsum    |
+-- \----------/
 renderBox :: [String] -> String
 renderBox ls = tail $ concatMap ('\n' :) (boxTop : map renderLine ls ++ [boxBot])
   where
@@ -215,11 +224,13 @@ renderBox ls = tail $ concatMap ('\n' :) (boxTop : map renderLine ls ++ [boxBot]
         -- +1 for each non-dash (= corner) char
         dashes = replicate (boxContentWidth + 2) dash
 
--- Depending on Data.Bifunctor only for this function seems an overkill
+-- Explicit definition to avoid dependency on Data.Bifunctor
+-- | Bifunctor bimap.
 bimap :: (a -> b) -> (c -> d) -> (a, c) -> (b, d)
 bimap f g (x, y) = (f x, g y)
 
--- Depending on Data.List.Ordered only for these two functions seems an overkill
+-- Explicit definition to avoid dependency on Data.List.Ordered
+-- | Difference of two ordered lists.
 minusOrd :: Ord a => [a] -> [a] -> [a]
 minusOrd [] _  = []
 minusOrd xs [] = xs
@@ -228,6 +239,8 @@ minusOrd (x:xs) (y:ys) = case compare x y of
     EQ ->     minusOrd xs ys
     GT ->     minusOrd (x:xs) ys
 
+-- Explicit definition to avoid dependency on Data.List.Ordered
+-- | Intersection of two ordered lists by a predicate.
 intersectOrd :: (a -> b -> Ordering) -> [a] -> [b] -> [a]
 intersectOrd cmp = loop
   where



More information about the ghc-commits mailing list