diff options
author | Oleg Grenrus <oleg.grenrus@iki.fi> | 2019-05-02 23:39:41 +0300 |
---|---|---|
committer | Alec Theriault <alec.theriault@gmail.com> | 2019-05-13 16:41:43 -0700 |
commit | bfe31a74f469b0e2c1a7360358698dcc32af9f5a (patch) | |
tree | 5aac09821a84da1162633ec326f15b99933f3172 /haddock-api | |
parent | 10cfca4c660b682827e929ce0251341cb73efd14 (diff) |
Comment C, which clarifies why e.g. ReadP is not enough
Diffstat (limited to 'haddock-api')
-rw-r--r-- | haddock-api/src/Haddock/Interface/ParseModuleHeader.hs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs b/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs index 32411e9e..37813d16 100644 --- a/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs +++ b/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs @@ -85,6 +85,13 @@ parseModuleHeader dflags pkgName str0 = -- the value will be "this is a .. description" and the rest will begin -- at "The module comment". +-- | 'C' is a 'Char' carrying its column. +-- +-- This let us make an indentation-aware parser, as we know current indentation. +-- by looking at the next character in the stream ('curInd'). +-- +-- Thus we can munch all spaces but only not-spaces which are indented. +-- data C = C {-# UNPACK #-} !Int Char newtype P a = P { unP :: [C] -> Maybe ([C], a) } |