Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Synopsis
- newtype Chunk a = Chunk {}
- chunked :: (a -> a -> a) -> Chunk a -> Chunk a -> Chunk a
- listToChunk :: Semigroup a => [a] -> Chunk a
- (<<+>>) :: Chunk Doc -> Chunk Doc -> Chunk Doc
- (<</>>) :: Chunk Doc -> Chunk Doc -> Chunk Doc
- vcatChunks :: [Chunk Doc] -> Chunk Doc
- vsepChunks :: [Chunk Doc] -> Chunk Doc
- isEmpty :: Chunk a -> Bool
- stringChunk :: String -> Chunk Doc
- paragraph :: String -> Chunk Doc
- extractChunk :: Monoid a => Chunk a -> a
- tabulate :: Int -> [(Doc, Doc)] -> Chunk Doc
Documentation
The free monoid on a semigroup a
.
chunked :: (a -> a -> a) -> Chunk a -> Chunk a -> Chunk a Source #
Given a semigroup structure on a
, return a monoid structure on 'Chunk a'.
Note that this is not the same as liftA2
.
listToChunk :: Semigroup a => [a] -> Chunk a Source #
Concatenate a list into a Chunk. listToChunk
satisfies:
isEmpty . listToChunk = null listToChunk = mconcat . fmap pure
vsepChunks :: [Chunk Doc] -> Chunk Doc Source #
Concatenate Chunk
s vertically separated by empty lines.
paragraph :: String -> Chunk Doc Source #
Convert a paragraph into a Chunk
. The resulting chunk is composed by the
words of the original paragraph separated by softlines, so it will be
automatically word-wrapped when rendering the underlying document.
This satisfies:
isEmpty . paragraph = null . words