Resolving dependencies... cabal: Entering directory '/tmp/cabal-tmp-27441/base-orphans-0.5.4' Configuring base-orphans-0.5.4... Building base-orphans-0.5.4... Preprocessing library base-orphans-0.5.4... [1 of 2] Compiling Data.Orphans.Prelude ( src/Data/Orphans/Prelude.hs, dist/build/Data/Orphans/Prelude.o ) [2 of 2] Compiling Data.Orphans ( src/Data/Orphans.hs, dist/build/Data/Orphans.o ) Running Haddock for base-orphans-0.5.4... Running hscolour for base-orphans-0.5.4... Preprocessing library base-orphans-0.5.4... Preprocessing library base-orphans-0.5.4... Haddock coverage: 100% ( 1 / 1) in 'Data.Orphans.Prelude' 100% ( 1 / 1) in 'Data.Orphans' Documentation created: dist/doc/html/base-orphans/index.html, dist/doc/html/base-orphans/base-orphans.txt Creating package registration file: /tmp/pkgConf-base-orphans-0.52145174067468703135.4 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-8.0.1.20160701/base-orphans-0.5.4-5IQvrjd7gNP548VkOOyIq6 Registering base-orphans-0.5.4... cabal: Leaving directory '/tmp/cabal-tmp-27441/base-orphans-0.5.4' Installed base-orphans-0.5.4 cabal: Entering directory '/tmp/cabal-tmp-27441/regex-applicative-0.3.3' Configuring regex-applicative-0.3.3... Building regex-applicative-0.3.3... Preprocessing library regex-applicative-0.3.3... [1 of 8] Compiling Text.Regex.Applicative.StateQueue ( Text/Regex/Applicative/StateQueue.hs, dist/build/Text/Regex/Applicative/StateQueue.o ) [2 of 8] Compiling Text.Regex.Applicative.Types ( Text/Regex/Applicative/Types.hs, dist/build/Text/Regex/Applicative/Types.o ) [3 of 8] Compiling Text.Regex.Applicative.Compile ( Text/Regex/Applicative/Compile.hs, dist/build/Text/Regex/Applicative/Compile.o ) Text/Regex/Applicative/Compile.hs:7:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() [4 of 8] Compiling Text.Regex.Applicative.Object ( Text/Regex/Applicative/Object.hs, dist/build/Text/Regex/Applicative/Object.o ) Text/Regex/Applicative/Object.hs:37:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() [5 of 8] Compiling Text.Regex.Applicative.Interface ( Text/Regex/Applicative/Interface.hs, dist/build/Text/Regex/Applicative/Interface.o ) Text/Regex/Applicative/Interface.hs:7:1: warning: [-Wunused-imports] The import of ‘Data.Traversable’ is redundant except perhaps to import instances from ‘Data.Traversable’ To import instances alone, use: import Data.Traversable() [6 of 8] Compiling Text.Regex.Applicative.Reference ( Text/Regex/Applicative/Reference.hs, dist/build/Text/Regex/Applicative/Reference.o ) [7 of 8] Compiling Text.Regex.Applicative ( Text/Regex/Applicative.hs, dist/build/Text/Regex/Applicative.o ) [8 of 8] Compiling Text.Regex.Applicative.Common ( Text/Regex/Applicative/Common.hs, dist/build/Text/Regex/Applicative/Common.o ) Running Haddock for regex-applicative-0.3.3... Running hscolour for regex-applicative-0.3.3... Preprocessing library regex-applicative-0.3.3... Preprocessing library regex-applicative-0.3.3... Text/Regex/Applicative/Compile.hs:7:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() Text/Regex/Applicative/Object.hs:37:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() Text/Regex/Applicative/Interface.hs:7:1: warning: [-Wunused-imports] The import of ‘Data.Traversable’ is redundant except perhaps to import instances from ‘Data.Traversable’ To import instances alone, use: import Data.Traversable() Haddock coverage: 100% ( 6 / 6) in 'Text.Regex.Applicative.StateQueue' 50% ( 3 / 6) in 'Text.Regex.Applicative.Types' Missing documentation for: Module header ThreadId (Text/Regex/Applicative/Types.hs:11) Greediness (Text/Regex/Applicative/Types.hs:28) 0% ( 0 / 2) in 'Text.Regex.Applicative.Compile' Missing documentation for: Module header compile (Text/Regex/Applicative/Compile.hs:11) 94% ( 15 / 16) in 'Text.Regex.Applicative.Object' Missing documentation for: ThreadId (Text/Regex/Applicative/Types.hs:11) 62% ( 18 / 29) in 'Text.Regex.Applicative.Interface' Missing documentation for: Module header (Text/Regex/Applicative/Interface.hs:13) (Text/Regex/Applicative/Interface.hs:17) (Text/Regex/Applicative/Interface.hs:23) (Text/Regex/Applicative/Interface.hs:29) prefixCounter (Text/Regex/Applicative/Interface.hs:226) InfixMatchingState (Text/Regex/Applicative/Interface.hs:231) preferOver (Text/Regex/Applicative/Interface.hs:240) mkInfixMatchingState (Text/Regex/Applicative/Interface.hs:251) gotResult (Text/Regex/Applicative/Interface.hs:266) findExtremalInfix (Text/Regex/Applicative/Interface.hs:281) 100% ( 2 / 2) in 'Text.Regex.Applicative.Reference' 95% ( 21 / 22) in 'Text.Regex.Applicative' Missing documentation for: Greediness (Text/Regex/Applicative/Types.hs:28) 100% ( 8 / 8) in 'Text.Regex.Applicative.Common' Documentation created: dist/doc/html/regex-applicative/index.html, dist/doc/html/regex-applicative/regex-applicative.txt Creating package registration file: /tmp/pkgConf-regex-applicative-0.31036140795463480570.3 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-8.0.1.20160701/regex-applicative-0.3.3-WxA98eIqTU6IYmhPidLpN Registering regex-applicative-0.3.3... cabal: Leaving directory '/tmp/cabal-tmp-27441/regex-applicative-0.3.3' Installed regex-applicative-0.3.3 cabal: Entering directory '/tmp/cabal-tmp-27441/text-1.2.2.1' Configuring text-1.2.2.1... Building text-1.2.2.1... Preprocessing library text-1.2.2.1... [ 1 of 44] Compiling Data.Text.Internal.Read ( Data/Text/Internal/Read.hs, dist/build/Data/Text/Internal/Read.o ) [ 2 of 44] Compiling Data.Text.Internal.Encoding.Utf32 ( Data/Text/Internal/Encoding/Utf32.hs, dist/build/Data/Text/Internal/Encoding/Utf32.o ) [ 3 of 44] Compiling Data.Text.Internal.Builder.RealFloat.Functions ( Data/Text/Internal/Builder/RealFloat/Functions.hs, dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o ) [ 4 of 44] Compiling Data.Text.Internal.Builder.Int.Digits ( Data/Text/Internal/Builder/Int/Digits.hs, dist/build/Data/Text/Internal/Builder/Int/Digits.o ) [ 5 of 44] Compiling Data.Text.Encoding.Error ( Data/Text/Encoding/Error.hs, dist/build/Data/Text/Encoding/Error.o ) [ 6 of 44] Compiling Data.Text.Internal.Unsafe.Shift ( Data/Text/Internal/Unsafe/Shift.hs, dist/build/Data/Text/Internal/Unsafe/Shift.o ) [ 7 of 44] Compiling Data.Text.Internal.Encoding.Utf16 ( Data/Text/Internal/Encoding/Utf16.hs, dist/build/Data/Text/Internal/Encoding/Utf16.o ) [ 8 of 44] Compiling Data.Text.Internal.Functions ( Data/Text/Internal/Functions.hs, dist/build/Data/Text/Internal/Functions.o ) [ 9 of 44] Compiling Data.Text.Internal.Unsafe ( Data/Text/Internal/Unsafe.hs, dist/build/Data/Text/Internal/Unsafe.o ) [10 of 44] Compiling Data.Text.Array ( Data/Text/Array.hs, dist/build/Data/Text/Array.o ) [11 of 44] Compiling Data.Text.Internal.Unsafe.Char ( Data/Text/Internal/Unsafe/Char.hs, dist/build/Data/Text/Internal/Unsafe/Char.o ) [12 of 44] Compiling Data.Text.Internal ( Data/Text/Internal.hs, dist/build/Data/Text/Internal.o ) [13 of 44] Compiling Data.Text.Internal.Fusion.Size ( Data/Text/Internal/Fusion/Size.hs, dist/build/Data/Text/Internal/Fusion/Size.o ) [14 of 44] Compiling Data.Text.Internal.Fusion.Types ( Data/Text/Internal/Fusion/Types.hs, dist/build/Data/Text/Internal/Fusion/Types.o ) [15 of 44] Compiling Data.Text.Internal.Fusion.CaseMapping ( Data/Text/Internal/Fusion/CaseMapping.hs, dist/build/Data/Text/Internal/Fusion/CaseMapping.o ) [16 of 44] Compiling Data.Text.Internal.Fusion.Common ( Data/Text/Internal/Fusion/Common.hs, dist/build/Data/Text/Internal/Fusion/Common.o ) [17 of 44] Compiling Data.Text.Unsafe ( Data/Text/Unsafe.hs, dist/build/Data/Text/Unsafe.o ) [18 of 44] Compiling Data.Text.Internal.Private ( Data/Text/Internal/Private.hs, dist/build/Data/Text/Internal/Private.o ) [19 of 44] Compiling Data.Text.Internal.Fusion ( Data/Text/Internal/Fusion.hs, dist/build/Data/Text/Internal/Fusion.o ) [20 of 44] Compiling Data.Text.Show ( Data/Text/Show.hs, dist/build/Data/Text/Show.o ) [21 of 44] Compiling Data.Text.Internal.Encoding.Fusion.Common ( Data/Text/Internal/Encoding/Fusion/Common.hs, dist/build/Data/Text/Internal/Encoding/Fusion/Common.o ) [22 of 44] Compiling Data.Text.Internal.Encoding.Utf8 ( Data/Text/Internal/Encoding/Utf8.hs, dist/build/Data/Text/Internal/Encoding/Utf8.o ) [23 of 44] Compiling Data.Text.Internal.Encoding.Fusion ( Data/Text/Internal/Encoding/Fusion.hs, dist/build/Data/Text/Internal/Encoding/Fusion.o ) [24 of 44] Compiling Data.Text.Encoding ( Data/Text/Encoding.hs, dist/build/Data/Text/Encoding.o ) [25 of 44] Compiling Data.Text.Internal.Lazy.Encoding.Fusion ( Data/Text/Internal/Lazy/Encoding/Fusion.hs, dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o ) [26 of 44] Compiling Data.Text.Internal.Search ( Data/Text/Internal/Search.hs, dist/build/Data/Text/Internal/Search.o ) [27 of 44] Compiling Data.Text.Foreign ( Data/Text/Foreign.hs, dist/build/Data/Text/Foreign.o ) [28 of 44] Compiling Data.Text ( Data/Text.hs, dist/build/Data/Text.o ) Data/Text.hs:587:1: warning: [-Winline-rule-shadowing] Rule "TEXT compareN/length -> compareLength" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ Data/Text.hs:592:1: warning: [-Winline-rule-shadowing] Rule "TEXT ==N/length -> compareLength/==EQ" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ Data/Text.hs:597:1: warning: [-Winline-rule-shadowing] Rule "TEXT /=N/length -> compareLength//=EQ" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ Data/Text.hs:602:1: warning: [-Winline-rule-shadowing] Rule "TEXT compareLength/==LT" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ Data/Text.hs:607:1: warning: [-Winline-rule-shadowing] Rule "TEXT <=N/length -> compareLength//=GT" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ Data/Text.hs:612:1: warning: [-Winline-rule-shadowing] Rule "TEXT >N/length -> compareLength/==GT" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ Data/Text.hs:617:1: warning: [-Winline-rule-shadowing] Rule "TEXT >=N/length -> compareLength//=LT" may never fire because ‘length’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’ [29 of 44] Compiling Data.Text.Internal.IO ( Data/Text/Internal/IO.hs, dist/build/Data/Text/Internal/IO.o ) [30 of 44] Compiling Data.Text.IO ( Data/Text/IO.hs, dist/build/Data/Text/IO.o ) [31 of 44] Compiling Data.Text.Internal.Lazy ( Data/Text/Internal/Lazy.hs, dist/build/Data/Text/Internal/Lazy.o ) [32 of 44] Compiling Data.Text.Internal.Lazy.Fusion ( Data/Text/Internal/Lazy/Fusion.hs, dist/build/Data/Text/Internal/Lazy/Fusion.o ) [33 of 44] Compiling Data.Text.Internal.Lazy.Search ( Data/Text/Internal/Lazy/Search.hs, dist/build/Data/Text/Internal/Lazy/Search.o ) [34 of 44] Compiling Data.Text.Lazy.Internal ( Data/Text/Lazy/Internal.hs, dist/build/Data/Text/Lazy/Internal.o ) [35 of 44] Compiling Data.Text.Lazy.Encoding ( Data/Text/Lazy/Encoding.hs, dist/build/Data/Text/Lazy/Encoding.o ) [36 of 44] Compiling Data.Text.Lazy ( Data/Text/Lazy.hs, dist/build/Data/Text/Lazy.o ) [37 of 44] Compiling Data.Text.Internal.Builder ( Data/Text/Internal/Builder.hs, dist/build/Data/Text/Internal/Builder.o ) Data/Text/Internal/Builder.hs:324:1: warning: [-Winline-rule-shadowing] Rule "flush/flush" may never fire because ‘flush’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘flush’ [38 of 44] Compiling Data.Text.Lazy.Builder ( Data/Text/Lazy/Builder.hs, dist/build/Data/Text/Lazy/Builder.o ) [39 of 44] Compiling Data.Text.Internal.Builder.Functions ( Data/Text/Internal/Builder/Functions.hs, dist/build/Data/Text/Internal/Builder/Functions.o ) [40 of 44] Compiling Data.Text.Lazy.Builder.Int ( Data/Text/Lazy/Builder/Int.hs, dist/build/Data/Text/Lazy/Builder/Int.o ) [41 of 44] Compiling Data.Text.Lazy.IO ( Data/Text/Lazy/IO.hs, dist/build/Data/Text/Lazy/IO.o ) [42 of 44] Compiling Data.Text.Lazy.Read ( Data/Text/Lazy/Read.hs, dist/build/Data/Text/Lazy/Read.o ) [43 of 44] Compiling Data.Text.Lazy.Builder.RealFloat ( Data/Text/Lazy/Builder/RealFloat.hs, dist/build/Data/Text/Lazy/Builder/RealFloat.o ) [44 of 44] Compiling Data.Text.Read ( Data/Text/Read.hs, dist/build/Data/Text/Read.o ) Running Haddock for text-1.2.2.1... Running hscolour for text-1.2.2.1... Preprocessing library text-1.2.2.1... Preprocessing library text-1.2.2.1... Haddock coverage: 14% ( 1 / 7) in 'Data.Text.Internal.Read' Missing documentation for: IReader (Data/Text/Internal/Read.hs:26) IParser (Data/Text/Internal/Read.hs:28) T (Data/Text/Internal/Read.hs:48) digitToInt (Data/Text/Internal/Read.hs:61) hexDigitToInt (Data/Text/Internal/Read.hs:55) perhaps (Data/Text/Internal/Read.hs:50) 50% ( 1 / 2) in 'Data.Text.Internal.Encoding.Utf32' Missing documentation for: validate (Data/Text/Internal/Encoding/Utf32.hs:24) 50% ( 1 / 2) in 'Data.Text.Internal.Builder.RealFloat.Functions' Missing documentation for: roundTo (Data/Text/Internal/Builder/RealFloat/Functions.hs:17) 0% ( 0 / 2) in 'Data.Text.Internal.Builder.Int.Digits' Missing documentation for: Module header digits (Data/Text/Internal/Builder/Int/Digits.hs:21) 100% ( 12 / 12) in 'Data.Text.Encoding.Error' 100% ( 2 / 2) in 'Data.Text.Internal.Unsafe.Shift' 25% ( 1 / 4) in 'Data.Text.Internal.Encoding.Utf16' Missing documentation for: chr2 (Data/Text/Internal/Encoding/Utf16.hs:29) validate1 (Data/Text/Internal/Encoding/Utf16.hs:38) validate2 (Data/Text/Internal/Encoding/Utf16.hs:42) 100% ( 2 / 2) in 'Data.Text.Internal.Functions' 100% ( 3 / 3) in 'Data.Text.Internal.Unsafe' 100% ( 16 / 16) in 'Data.Text.Array' 33% ( 2 / 6) in 'Data.Text.Internal.Unsafe.Char' Missing documentation for: ord (Data/Text/Internal/Unsafe/Char.hs:39) unsafeChr (Data/Text/Internal/Unsafe/Char.hs:43) unsafeChr8 (Data/Text/Internal/Unsafe/Char.hs:47) unsafeChr32 (Data/Text/Internal/Unsafe/Char.hs:51) 95% ( 19 / 20) in 'Data.Text.Internal' Missing documentation for: textP (Data/Text/Internal.hs:97) 38% ( 5 / 13) in 'Data.Text.Internal.Fusion.Size' Missing documentation for: Size (Data/Text/Internal/Fusion/Size.hs:40) exactly (Data/Text/Internal/Fusion/Size.hs:44) exactSize (Data/Text/Internal/Fusion/Size.hs:49) maxSize (Data/Text/Internal/Fusion/Size.hs:57) betweenSize (Data/Text/Internal/Fusion/Size.hs:65) unknownSize (Data/Text/Internal/Fusion/Size.hs:74) compareSize (Data/Text/Internal/Fusion/Size.hs:143) isEmpty (Data/Text/Internal/Fusion/Size.hs:151) 88% ( 7 / 8) in 'Data.Text.Internal.Fusion.Types' Missing documentation for: Stream (Data/Text/Internal/Fusion/Types.hs:83) 0% ( 0 / 5) in 'Data.Text.Internal.Fusion.CaseMapping' Missing documentation for: Module header upperMapping (Data/Text/Internal/Fusion/CaseMapping.hs:13) lowerMapping (Data/Text/Internal/Fusion/CaseMapping.hs:220) titleMapping (Data/Text/Internal/Fusion/CaseMapping.hs:225) foldMapping (Data/Text/Internal/Fusion/CaseMapping.hs:324) 89% ( 63 / 71) in 'Data.Text.Internal.Fusion.Common' Missing documentation for: singleton (Data/Text/Internal/Fusion/Common.hs:119) streamList (Data/Text/Internal/Fusion/Common.hs:125) unstreamList (Data/Text/Internal/Fusion/Common.hs:131) intercalate (Data/Text/Internal/Fusion/Common.hs:577) justifyLeftI (Data/Text/Internal/Fusion/Common.hs:479) scanl (Data/Text/Internal/Fusion/Common.hs:656) replicateCharI (Data/Text/Internal/Fusion/Common.hs:671) replicateI (Data/Text/Internal/Fusion/Common.hs:682) 93% ( 13 / 14) in 'Data.Text.Unsafe' Missing documentation for: Iter (Data/Text/Unsafe.hs:62) 33% ( 1 / 3) in 'Data.Text.Internal.Private' Missing documentation for: runText (Data/Text/Internal/Private.hs:33) span_ (Data/Text/Internal/Private.hs:23) 91% ( 20 / 22) in 'Data.Text.Internal.Fusion' Missing documentation for: Stream (Data/Text/Internal/Fusion/Types.hs:83) length (Data/Text/Internal/Fusion.hs:127) 100% ( 4 / 4) in 'Data.Text.Show' 33% ( 2 / 6) in 'Data.Text.Internal.Encoding.Fusion.Common' Missing documentation for: restreamUtf16LE (Data/Text/Internal/Encoding/Fusion/Common.hs:63) restreamUtf16BE (Data/Text/Internal/Encoding/Fusion/Common.hs:39) restreamUtf32LE (Data/Text/Internal/Encoding/Fusion/Common.hs:106) restreamUtf32BE (Data/Text/Internal/Encoding/Fusion/Common.hs:87) 17% ( 2 / 12) in 'Data.Text.Internal.Encoding.Utf8' Missing documentation for: ord2 (Data/Text/Internal/Encoding/Utf8.hs:58) ord3 (Data/Text/Internal/Encoding/Utf8.hs:69) ord4 (Data/Text/Internal/Encoding/Utf8.hs:81) chr2 (Data/Text/Internal/Encoding/Utf8.hs:94) chr3 (Data/Text/Internal/Encoding/Utf8.hs:103) chr4 (Data/Text/Internal/Encoding/Utf8.hs:114) validate1 (Data/Text/Internal/Encoding/Utf8.hs:128) validate2 (Data/Text/Internal/Encoding/Utf8.hs:132) validate3 (Data/Text/Internal/Encoding/Utf8.hs:136) validate4 (Data/Text/Internal/Encoding/Utf8.hs:153) 91% ( 10 / 11) in 'Data.Text.Internal.Encoding.Fusion' Missing documentation for: streamASCII (Data/Text/Internal/Encoding/Fusion.hs:57) 100% ( 33 / 33) in 'Data.Text.Encoding' 100% ( 10 / 10) in 'Data.Text.Internal.Lazy.Encoding.Fusion' 100% ( 2 / 2) in 'Data.Text.Internal.Search' 100% ( 18 / 18) in 'Data.Text.Foreign' 100% (127 /127) in 'Data.Text' 100% ( 3 / 3) in 'Data.Text.Internal.IO' 100% ( 20 / 20) in 'Data.Text.IO' 93% ( 14 / 15) in 'Data.Text.Internal.Lazy' Missing documentation for: Text (Data/Text/Internal/Lazy.hs:47) 100% ( 8 / 8) in 'Data.Text.Internal.Lazy.Fusion' 100% ( 2 / 2) in 'Data.Text.Internal.Lazy.Search' 100% ( 2 / 2) in 'Data.Text.Lazy.Internal' 89% ( 24 / 27) in 'Data.Text.Lazy.Encoding' Missing documentation for: encodeUtf8 (Data/Text/Lazy/Encoding.hs:148) encodeUtf8Builder (Data/Text/Lazy/Encoding.hs:162) encodeUtf8BuilderEscaped (Data/Text/Lazy/Encoding.hs:167) 99% (128 /129) in 'Data.Text.Lazy' Missing documentation for: Text (Data/Text/Internal/Lazy.hs:47) 94% ( 16 / 17) in 'Data.Text.Internal.Builder' Missing documentation for: append' (Data/Text/Internal/Builder.hs:301) 100% ( 12 / 12) in 'Data.Text.Lazy.Builder' 100% ( 3 / 3) in 'Data.Text.Internal.Builder.Functions' 0% ( 0 / 3) in 'Data.Text.Lazy.Builder.Int' Missing documentation for: Module header decimal (Data/Text/Lazy/Builder/Int.hs:52) hexadecimal (Data/Text/Lazy/Builder/Int.hs:162) 100% ( 19 / 19) in 'Data.Text.Lazy.IO' 100% ( 7 / 7) in 'Data.Text.Lazy.Read' 75% ( 3 / 4) in 'Data.Text.Lazy.Builder.RealFloat' Missing documentation for: formatRealFloat (Data/Text/Lazy/Builder/RealFloat.hs:46) 100% ( 7 / 7) in 'Data.Text.Read' Warning: Data.Text.Internal.Fusion.Common: could not find link destinations for: findIndicesI Warning: Data.Text: could not find link destinations for: replicateChar countChar Warning: Data.Text.Internal.IO: could not find link destinations for: Handle__ Warning: Data.Text.Lazy: could not find link destinations for: replicateChar dropWords splitAtWord countChar Warning: Data.Text.Internal.Builder: could not find link destinations for: empty append Warning: Data.Text.Lazy.Builder.RealFloat: could not find link destinations for: floatToDigits Documentation created: dist/doc/html/text/index.html, dist/doc/html/text/text.txt Creating package registration file: /tmp/pkgConf-text-1.2.26013856441172755590.1 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-8.0.1.20160701/text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3Qs Registering text-1.2.2.1... cabal: Leaving directory '/tmp/cabal-tmp-27441/text-1.2.2.1' Installed text-1.2.2.1 cabal: Entering directory '/tmp/cabal-tmp-27441/TypeCompose-0.9.12' Configuring TypeCompose-0.9.12... Building TypeCompose-0.9.12... Preprocessing library TypeCompose-0.9.12... src/Data/Title.hs:1:33: warning: -XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS [ 1 of 10] Compiling Control.Instances ( src/Control/Instances.hs, dist/build/Control/Instances.o ) [ 2 of 10] Compiling Data.RefMonad ( src/Data/RefMonad.hs, dist/build/Data/RefMonad.o ) [ 3 of 10] Compiling Data.Bijection ( src/Data/Bijection.hs, dist/build/Data/Bijection.o ) [ 4 of 10] Compiling Control.Compose ( src/Control/Compose.hs, dist/build/Control/Compose.o ) src/Control/Compose.hs:91:1: warning: [-Wunused-imports] The import of ‘Data.Traversable’ is redundant except perhaps to import instances from ‘Data.Traversable’ To import instances alone, use: import Data.Traversable() src/Control/Compose.hs:245:10: warning: [-Wredundant-constraints] • Redundant constraint: Functor g • In the instance declaration for ‘Foldable (g :. f)’ src/Control/Compose.hs:400:1: warning: [-Wredundant-constraints] • Redundant constraints: (Functor m, Functor n) • In the type signature for: bindDistribM :: (Functor m, Functor n, Monad m, Monad n, DistribM m n) => (:.) m n a -> (a -> (:.) m n b) -> (:.) m n b src/Control/Compose.hs:415:1: warning: [-Wredundant-constraints] • Redundant constraint: Applicative m • In the type signature for: joinMMT :: (Monad m, Monad n, Traversable n, Applicative m) => m (n (m (n a))) -> m (n a) src/Control/Compose.hs:420:1: warning: [-Wredundant-constraints] • Redundant constraint: Applicative m • In the type signature for: joinComposeT :: (Monad m, Monad n, Traversable n, Applicative m) => (:.) m n ((:.) m n a) -> (:.) m n a [ 5 of 10] Compiling Data.Title ( src/Data/Title.hs, dist/build/Data/Title.o ) [ 6 of 10] Compiling Data.CxMonoid ( src/Data/CxMonoid.hs, dist/build/Data/CxMonoid.o ) [ 7 of 10] Compiling Data.Pair ( src/Data/Pair.hs, dist/build/Data/Pair.o ) [ 8 of 10] Compiling Data.Zip ( src/Data/Zip.hs, dist/build/Data/Zip.o ) src/Data/Zip.hs:111:1: warning: [-Winline-rule-shadowing] Rule "zipWith prelude" may never fire because ‘zipWith’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘zipWith’ src/Data/Zip.hs:112:1: warning: [-Winline-rule-shadowing] Rule "zipWith3 prelude" may never fire because ‘zipWith3’ might inline first Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘zipWith3’ [ 9 of 10] Compiling Data.Partial ( src/Data/Partial.hs, dist/build/Data/Partial.o ) [10 of 10] Compiling Data.Lambda ( src/Data/Lambda.hs, dist/build/Data/Lambda.o ) Running Haddock for TypeCompose-0.9.12... Running hscolour for TypeCompose-0.9.12... Preprocessing library TypeCompose-0.9.12... Preprocessing library TypeCompose-0.9.12... src/Data/Title.hs:1:33: warning: -XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS src/Control/Compose.hs:91:1: warning: [-Wunused-imports] The import of ‘Data.Traversable’ is redundant except perhaps to import instances from ‘Data.Traversable’ To import instances alone, use: import Data.Traversable() src/Control/Compose.hs:245:10: warning: [-Wredundant-constraints] • Redundant constraint: Functor g • In the instance declaration for ‘Foldable (g :. f)’ src/Control/Compose.hs:400:1: warning: [-Wredundant-constraints] • Redundant constraints: (Functor m, Functor n) • In the type signature for: bindDistribM :: (Functor m, Functor n, Monad m, Monad n, DistribM m n) => (:.) m n a -> (a -> (:.) m n b) -> (:.) m n b src/Control/Compose.hs:415:1: warning: [-Wredundant-constraints] • Redundant constraint: Applicative m • In the type signature for: joinMMT :: (Monad m, Monad n, Traversable n, Applicative m) => m (n (m (n a))) -> m (n a) src/Control/Compose.hs:420:1: warning: [-Wredundant-constraints] • Redundant constraint: Applicative m • In the type signature for: joinComposeT :: (Monad m, Monad n, Traversable n, Applicative m) => (:.) m n ((:.) m n a) -> (:.) m n a Haddock coverage: 100% ( 1 / 1) in 'Control.Instances' 100% ( 3 / 3) in 'Data.RefMonad' 100% ( 8 / 8) in 'Data.Bijection' 85% ( 84 / 99) in 'Control.Compose' Missing documentation for: <~ (src/Control/Compose.hs:142) *<~ (src/Control/Compose.hs:155) returnDistribM (src/Control/Compose.hs:404) inFlip (src/Control/Compose.hs:579) inFlip2 (src/Control/Compose.hs:583) inFlip3 (src/Control/Compose.hs:588) inApp (src/Control/Compose.hs:637) inApp2 (src/Control/Compose.hs:641) unId (src/Control/Compose.hs:675) inId (src/Control/Compose.hs:678) inId2 (src/Control/Compose.hs:681) :->: (src/Control/Compose.hs:892) inConst (src/Control/Compose.hs:918) inConst2 (src/Control/Compose.hs:921) inConst3 (src/Control/Compose.hs:924) 67% ( 2 / 3) in 'Data.Title' Missing documentation for: Title_f (src/Data/Title.hs:37) 100% ( 4 / 4) in 'Data.CxMonoid' 100% ( 16 / 16) in 'Data.Pair' 100% ( 18 / 18) in 'Data.Zip' 91% ( 10 / 11) in 'Data.Partial' Missing documentation for: PartialX (src/Data/Partial.hs:47) 100% ( 8 / 8) in 'Data.Lambda' Documentation created: dist/doc/html/TypeCompose/index.html, dist/doc/html/TypeCompose/TypeCompose.txt Creating package registration file: /tmp/pkgConf-TypeCompose-0.9738647283772970072.12 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-8.0.1.20160701/TypeCompose-0.9.12-CUb55uJGeK65Htq0yqldJX Registering TypeCompose-0.9.12... cabal: Leaving directory '/tmp/cabal-tmp-27441/TypeCompose-0.9.12' Installed TypeCompose-0.9.12 Downloading gll-0.4.0.2... cabal: Entering directory '/tmp/cabal-tmp-27441/gll-0.4.0.2' Configuring gll-0.4.0.2... Building gll-0.4.0.2... Preprocessing library gll-0.4.0.2... [ 1 of 14] Compiling GLL.Flags ( src/GLL/Flags.hs, dist/build/GLL/Flags.o ) [ 2 of 14] Compiling GLL.Types.Grammar ( src/GLL/Types/Grammar.hs, dist/build/GLL/Types/Grammar.o ) [ 3 of 14] Compiling GLL.Parseable.Char ( src/GLL/Parseable/Char.hs, dist/build/GLL/Parseable/Char.o ) [ 4 of 14] Compiling GLL.Types.Derivations ( src/GLL/Types/Derivations.hs, dist/build/GLL/Types/Derivations.o ) src/GLL/Types/Derivations.hs:73:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner3’ Consider giving a type signature for ‘inner3’ • In an equation for ‘pNodeLookup’: pNodeLookup (_, _, pMap, _) ((alt, j), l, r) = maybe Nothing inner $ IM.lookup l pMap where inner = maybe Nothing inner2 . IM.lookup r inner2 = maybe Nothing inner3 . IM.lookup j inner3 = maybe Nothing (Just . IS.toList) . M.lookup alt src/GLL/Types/Derivations.hs:94:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘singleAK’ Consider giving a type signature for ‘singleAK’ • In an equation for ‘add’: add alt j l r k = IM.alter addInnerL l pMap where addInnerL mm = case mm of { Nothing -> Just singleRJAK Just m -> Just $ IM.alter addInnerR r m } addInnerR mm = case mm of { Nothing -> Just singleJAK Just m -> Just $ IM.alter addInnerJ j m } addInnerJ mm = case mm of { Nothing -> Just singleAK Just m -> Just $ M.insertWith IS.union alt singleK m } singleRJAK = IM.fromList [(r, singleJAK)] .... In an equation for ‘pMapInsert’: pMapInsert f t (sMap, iMap, pMap, eMap) = let pMap' = ... in (sMap, iMap, pMap', eMap) where add alt j l r k = IM.alter addInnerL l pMap where addInnerL mm = ... addInnerR mm = ... .... src/GLL/Types/Derivations.hs:100:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘sNodeLookup’: sNodeLookup (sm, _, _, _) (s, l, r) = maybe False inner $ IM.lookup l sm where inner = maybe False (S.member s) . IM.lookup r src/GLL/Types/Derivations.hs:104:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘sMap'’ Consider giving a type signature for ‘sMap'’ • In the expression: let sMap' = case f of { SNode (s, l, r) -> ... _ -> ... } in (sMap', iMap, pMap, eMap) In an equation for ‘sNodeInsert’: sNodeInsert f t (sMap, iMap, pMap, eMap) = let sMap' = ... in (sMap', iMap, pMap, eMap) where newt sMap = case t of { (SNode (s, l, r)) -> add s l r sMap _ -> sMap } add s l r sMap = IM.alter addInnerL l sMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:116:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘singleS’ Consider giving a type signature for ‘singleS’ • In an equation for ‘add’: add s l r sMap = IM.alter addInnerL l sMap where addInnerL mm = case mm of { Nothing -> Just singleRS Just m -> Just $ IM.insertWith (S.union) r singleS m } singleRS = IM.fromList [(r, singleS)] singleS = S.singleton s In an equation for ‘sNodeInsert’: sNodeInsert f t (sMap, iMap, pMap, eMap) = let sMap' = ... in (sMap', iMap, pMap, eMap) where newt sMap = case t of { (SNode (s, l, r)) -> add s l r sMap _ -> sMap } add s l r sMap = IM.alter addInnerL l sMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:121:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘sNodeRemove’: sNodeRemove (sm, iMap, pMap, eMap) (s, l, r) = (IM.adjust inner l sm, iMap, pMap, eMap) where inner = IM.adjust ((s `S.delete`)) r src/GLL/Types/Derivations.hs:125:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘iNodeLookup’: iNodeLookup (_, iMap, _, _) (s, l, r) = maybe False inner $ IM.lookup l iMap where inner = maybe False (S.member s) . IM.lookup r src/GLL/Types/Derivations.hs:129:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘iMap'’ Consider giving a type signature for ‘iMap'’ • In the expression: let iMap' = case f of { INode (s, l, r) -> ... _ -> ... } in (sMap, iMap', pMap, eMap) In an equation for ‘iNodeInsert’: iNodeInsert f t (sMap, iMap, pMap, eMap) = let iMap' = ... in (sMap, iMap', pMap, eMap) where newt iMap = case t of { (INode (s, l, r)) -> add s l r iMap _ -> iMap } add s l r iMap = IM.alter addInnerL l iMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:141:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘singleS’ Consider giving a type signature for ‘singleS’ • In an equation for ‘add’: add s l r iMap = IM.alter addInnerL l iMap where addInnerL mm = case mm of { Nothing -> Just singleRS Just m -> Just $ IM.insertWith (S.union) r singleS m } singleRS = IM.fromList [(r, singleS)] singleS = S.singleton s In an equation for ‘iNodeInsert’: iNodeInsert f t (sMap, iMap, pMap, eMap) = let iMap' = ... in (sMap, iMap', pMap, eMap) where newt iMap = case t of { (INode (s, l, r)) -> add s l r iMap _ -> iMap } add s l r iMap = IM.alter addInnerL l iMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:146:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘iNodeRemove’: iNodeRemove (sMap, iMap, pMap, eMap) (s, l, r) = (sMap, IM.adjust inner l iMap, pMap, eMap) where inner = IM.adjust ((s `S.delete`)) r src/GLL/Types/Derivations.hs:154:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘inU’: inU (slot, l, i) u = maybe False inner $ IM.lookup l u where inner = maybe False (S.member slot) . IM.lookup i src/GLL/Types/Derivations.hs:187:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘prefixMap’ Consider giving a type signature for ‘prefixMap’ • In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:196:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘init’ Consider giving a type signature for ‘init’ • In the expression: let init = map ((\ (Term t) -> t) . (alpha !!)) [a .. (z - 2)] last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ [...], Nothing) } In an equation for ‘rangePrefix’: rangePrefix (a, z) = let init = map ((\ (Term t) -> ...) . (alpha !!)) ... last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ ..., Nothing) } In an equation for ‘prefix’: prefix x alpha = map rangePrefix ranges where js = (map ((+) 1) (findIndices isNt alpha)) ranges = zip (0 : js) (js ++ [length alpha]) rangePrefix (a, z) | a >= z = (a, [], Nothing) rangePrefix (a, z) = let ... in case last of { Nt nt -> ... Term t -> ... } src/GLL/Types/Derivations.hs:197:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘last’ Consider giving a type signature for ‘last’ • In the expression: let init = map ((\ (Term t) -> t) . (alpha !!)) [a .. (z - 2)] last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ [...], Nothing) } In an equation for ‘rangePrefix’: rangePrefix (a, z) = let init = map ((\ (Term t) -> ...) . (alpha !!)) ... last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ ..., Nothing) } In an equation for ‘prefix’: prefix x alpha = map rangePrefix ranges where js = (map ((+) 1) (findIndices isNt alpha)) ranges = zip (0 : js) (js ++ [length alpha]) rangePrefix (a, z) | a >= z = (a, [], Nothing) rangePrefix (a, z) = let ... in case last of { Nt nt -> ... Term t -> ... } src/GLL/Types/Derivations.hs:206:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘selectMap’ Consider giving a type signature for ‘selectMap’ • In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:215:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘firsts’ Consider giving a type signature for ‘firsts’ • In an equation for ‘select’: select alpha x = res where firsts = first_alpha [] alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘selectMap’: selectMap = M.fromList [((x, alpha), select alpha x) | Prod x rhs <- prs, alpha <- split rhs] where split rhs = foldr op [] js where op j acc = drop j rhs : acc js = 0 : findIndices isNt rhs select alpha x = res where firsts = first_alpha ... alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:216:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘res’ Consider giving a type signature for ‘res’ • In an equation for ‘select’: select alpha x = res where firsts = first_alpha [] alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘selectMap’: selectMap = M.fromList [((x, alpha), select alpha x) | Prod x rhs <- prs, alpha <- split rhs] where split rhs = foldr op [] js where op j acc = drop j rhs : acc js = 0 : findIndices isNt rhs select alpha x = res where firsts = first_alpha ... alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:227:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘fs’ Consider giving a type signature for ‘fs’ • In the expression: let fs | x `elem` ys = S.empty | otherwise = first_x (x : ys) x in if x `S.member` nullableSet then S.delete eps fs `S.union` first_alpha (x : ys) xs else fs In a case alternative: Nt x -> let fs | x `elem` ys = S.empty | otherwise = first_x (x : ys) x in if x `S.member` nullableSet then S.delete eps fs `S.union` first_alpha (x : ys) xs else fs In the expression: case x of { Term tau -> if tau == eps then first_alpha ys xs else S.singleton tau Nt x -> let fs | x `elem` ys = ... | otherwise = ... in if x `S.member` nullableSet then S.delete eps fs `S.union` first_alpha (x : ys) xs else fs } src/GLL/Types/Derivations.hs:238:29: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘ts’ Consider giving a type signature for ‘ts’ • In the expression: let ts = S.delete eps (first_alpha [] ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘fw’: fw (y, ss) = let ts = S.delete eps (first_alpha ... ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘follow’: follow ys x = S.unions (map fw (maybe [] id $ M.lookup x localMap)) `S.union` (if x == s then S.singleton eos else S.empty) where fw (y, ss) = let ... in if nullable_alpha ... ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts src/GLL/Types/Derivations.hs:239:29: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘fs’ Consider giving a type signature for ‘fs’ • In the expression: let ts = S.delete eps (first_alpha [] ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘fw’: fw (y, ss) = let ts = S.delete eps (first_alpha ... ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘follow’: follow ys x = S.unions (map fw (maybe [] id $ M.lookup x localMap)) `S.union` (if x == s then S.singleton eos else S.empty) where fw (y, ss) = let ... in if nullable_alpha ... ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts src/GLL/Types/Derivations.hs:244:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘localMap’ Consider giving a type signature for ‘localMap’ • In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... [ 5 of 14] Compiling GLL.Parser ( src/GLL/Parser.hs, dist/build/GLL/Parser.o ) src/GLL/Parser.hs:180:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() src/GLL/Parser.hs:252:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘sppf'’ Consider giving a type signature for ‘sppf'’ • In the expression: let sppf' = (if symbol_nodes flags then sNodeInsert f t else id) $ (if intermediate_nodes flags then iNodeInsert f t else id) $ (if edges flags then eMapInsert f t else id) $ pMapInsert f t (mut_sppf mut) in ((), mut {mut_sppf = sppf'}) In the second argument of ‘($)’, namely ‘\ flags mut -> let sppf' = ... in ((), mut {mut_sppf = sppf'})’ In the expression: GLL $ \ flags mut -> let sppf' = ... in ((), mut {mut_sppf = sppf'}) src/GLL/Parser.hs:261:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newU’ Consider giving a type signature for ‘newU’ • In the expression: let new = maybe True inner $ IM.lookup i (mut_descriptors mut) where inner m = ... newU = IM.alter inner i (mut_descriptors mut) where inner mm = ... .... in if new then ((), mut {mut_worklist = (alt, sppf) : (mut_worklist mut), mut_descriptors = newU}) else ((), mut) In the second argument of ‘($)’, namely ‘\ _ mut -> let new = ... where ... .... in if new then ((), mut {mut_worklist = ... : (mut_worklist mut), mut_descriptors = newU}) else ((), mut)’ In the expression: GLL $ \ _ mut -> let new = ... where ... .... in if new then ((), mut {mut_worklist = ... : (mut_worklist mut), mut_descriptors = newU}) else ((), mut) src/GLL/Parser.hs:276:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newP’ Consider giving a type signature for ‘newP’ • In the expression: let newP = IM.alter inner l (mut_popset mut) where inner mm = ... in ((), mut {mut_popset = newP}) In the second argument of ‘($)’, namely ‘\ _ mut -> let newP = ... where ... in ((), mut {mut_popset = newP})’ In the expression: GLL $ \ _ mut -> let newP = ... where ... in ((), mut {mut_popset = newP}) src/GLL/Parser.hs:288:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newGSS’ Consider giving a type signature for ‘newGSS’ • In the expression: let newGSS = IM.alter inner i (mut_gss mut) where inner mm = ... in ((), mut {mut_gss = newGSS}) In the second argument of ‘($)’, namely ‘\ _ mut -> let newGSS = ... where ... in ((), mut {mut_gss = newGSS})’ In the expression: GLL $ \ _ mut -> let newGSS = ... where ... in ((), mut {mut_gss = newGSS}) src/GLL/Parser.hs:296:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘res’: res = maybe [] inner $ IM.lookup l (mut_popset mut) where inner = maybe [] id . M.lookup gs In the expression: let res = maybe [] inner $ IM.lookup l (mut_popset mut) where inner = ... in (res, mut) In the second argument of ‘($)’, namely ‘\ _ mut -> let res = ... where ... in (res, mut)’ src/GLL/Parser.hs:305:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newM’ Consider giving a type signature for ‘newM’ • In the expression: let newM = IM.insertWith S.union k ts (mut_mismatches mut) newM' | length (IM.keys newM) > max_errors flags = IM.deleteMin newM | otherwise = newM in ((), mut {mut_mismatches = newM'}) In the second argument of ‘($)’, namely ‘\ flags mut -> let newM = ... .... in ((), mut {mut_mismatches = newM'})’ In the expression: GLL $ \ flags mut -> let newM = ... .... in ((), mut {mut_mismatches = newM'}) src/GLL/Parser.hs:323:40: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘a’, ‘p'’ Consider giving a type signature for these binders • In the expression: let (a, p') = m o p (GLL m') = f a in m' o p' In the second argument of ‘($)’, namely ‘\ o p -> let (a, p') = ... .... in m' o p'’ In the expression: GLL $ \ o p -> let (a, p') = ... .... in m' o p' src/GLL/Parser.hs:344:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘mutable’ Consider giving a type signature for ‘mutable’ • In the expression: let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input m = length str .... in resultFromMutable input flags mutable (Nt start, 0, m) In an equation for ‘parseWithOptions’: parseWithOptions opts grammar@(start, _) str = let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input .... in resultFromMutable input flags mutable (Nt start, 0, m) src/GLL/Parser.hs:346:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘input’ Consider giving a type signature for ‘input’ • In the expression: let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input m = length str .... in resultFromMutable input flags mutable (Nt start, 0, m) In an equation for ‘parseWithOptions’: parseWithOptions opts grammar@(start, _) str = let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input .... in resultFromMutable input flags mutable (Nt start, 0, m) src/GLL/Parser.hs:354:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘context’ Consider giving a type signature for ‘context’ • In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:356:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘dispatch’, ‘pRhs’, ‘pLhs’ Consider giving a type signature for these binders • In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:367:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘first_ts’ Consider giving a type signature for ‘first_ts’ • In the expression: do { let alts = ... first_ts = S.unions (map snd alts) ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘pLhs’: pLhs (bigx, i) = do { let alts = ... ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:368:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘cands’ Consider giving a type signature for ‘cands’ • In the expression: do { let alts = ... first_ts = S.unions (map snd alts) ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘pLhs’: pLhs (bigx, i) = do { let alts = ... ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:419:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘prodMap’, ‘follows’, ‘selects’ Consider giving a type signature for these binders • In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:430:12: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘merge’: merge m1 m2 = IM.unionWith inner m1 m2 where inner = IM.unionWith S.union In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... [ 6 of 14] Compiling GLL.Combinators.Visit.Grammar ( src/GLL/Combinators/Visit/Grammar.hs, dist/build/GLL/Combinators/Visit/Grammar.o ) [ 7 of 14] Compiling GLL.Combinators.Lexer ( src/GLL/Combinators/Lexer.hs, dist/build/GLL/Combinators/Lexer.o ) src/GLL/Combinators/Lexer.hs:87:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lCharacters’ Consider giving a type signature for ‘lCharacters’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Lexer.hs:90:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lKeywords’ Consider giving a type signature for ‘lKeywords’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Lexer.hs:92:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lMore’ Consider giving a type signature for ‘lMore’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Lexer.hs:95:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lStringLit’ Consider giving a type signature for ‘lStringLit’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... [ 8 of 14] Compiling GLL.Combinators.Memoisation ( src/GLL/Combinators/Memoisation.hs, dist/build/GLL/Combinators/Memoisation.o ) [ 9 of 14] Compiling GLL.Combinators.Options ( src/GLL/Combinators/Options.hs, dist/build/GLL/Combinators/Options.o ) src/GLL/Combinators/Options.hs:95:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘max’ Consider giving a type signature for ‘max’ • In the expression: let (max, _) : _ = maximumsWith (compare `on` fst) $ map head xss in (filter ((== max) . fst . head) xss) In an equation for ‘maintain’: maintain xss = let (max, _) : _ = maximumsWith (compare `on` fst) $ map head xss in (filter ((== max) . fst . head) xss) In an equation for ‘maintainWith’: maintainWith compare = maintain . filter (not . null) where maintain xss = let ... in (filter ((== max) . fst . head) xss) [10 of 14] Compiling GLL.Combinators.Visit.Sem ( src/GLL/Combinators/Visit/Sem.hs, dist/build/GLL/Combinators/Visit/Sem.o ) [11 of 14] Compiling GLL.Combinators.Visit.Join ( src/GLL/Combinators/Visit/Join.hs, dist/build/GLL/Combinators/Visit/Join.o ) src/GLL/Combinators/Visit/Join.hs:5:1: warning: [-Wunused-imports] The import of ‘GLL.Types.Derivations’ is redundant except perhaps to import instances from ‘GLL.Types.Derivations’ To import instances alone, use: import GLL.Types.Derivations() src/GLL/Combinators/Visit/Join.hs:39:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘altPs’ Consider giving a type signature for ‘altPs’ • In the expression: let vas1 = map (\ (AltExpr (f, _, _)) -> f) altPs vas2 = map (\ (AltExpr (_, s, _)) -> s) altPs vas3 = map (\ (AltExpr (_, _, t)) -> t) altPs .... in SymbExpr (Nt x, grammar_nterm x alts vas2, sem_nterm use_ctx left_biased x alts vas3) In an equation for ‘mkNtRule’: mkNtRule use_ctx left_biased x' altPs' = let vas1 = map (\ (AltExpr (f, _, _)) -> ...) altPs vas2 = map (\ (AltExpr (_, s, _)) -> ...) altPs .... in SymbExpr (Nt x, grammar_nterm x alts vas2, sem_nterm use_ctx left_biased x alts vas3) src/GLL/Combinators/Visit/Join.hs:45:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘vpa1’, ‘vpa2’, ‘vpa3’ Consider giving a type signature for these binders • In the expression: let SymbExpr (vpa1, vpa2, vpa3) = mkRule p' in AltExpr ([vpa1], grammar_apply vpa2, sem_apply f vpa3) In an equation for ‘join_apply’: join_apply f p' = let SymbExpr (vpa1, vpa2, vpa3) = mkRule p' in AltExpr ([vpa1], grammar_apply vpa2, sem_apply f vpa3) src/GLL/Combinators/Visit/Join.hs:51:7: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘vimp1’, ‘vimp2’, ‘vimp3’ Consider giving a type signature for these binders • In the expression: let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) In an equation for ‘join_seq’: join_seq local_opts pl' pr' = let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) src/GLL/Combinators/Visit/Join.hs:52:7: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘vpa1’, ‘vpa2’, ‘vpa3’ Consider giving a type signature for these binders • In the expression: let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) In an equation for ‘join_seq’: join_seq local_opts pl' pr' = let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) [12 of 14] Compiling GLL.Combinators.Interface ( src/GLL/Combinators/Interface.hs, dist/build/GLL/Combinators/Interface.o ) src/GLL/Combinators/Interface.hs:260:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘start’, ‘vpa2’, ‘vpa3’ Consider giving a type signature for these binders • In the expression: let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO [...]) snode = (start, 0, m) m = length input .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) In an equation for ‘parse'’: parse' popts opts p' input = let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO ...) snode = ... .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) src/GLL/Combinators/Interface.hs:261:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘snode’ Consider giving a type signature for ‘snode’ • In the expression: let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO [...]) snode = (start, 0, m) m = length input .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) In an equation for ‘parse'’: parse' popts opts p' input = let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO ...) snode = ... .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) src/GLL/Combinators/Interface.hs:267:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘parse_res’ Consider giving a type signature for ‘parse_res’ • In the expression: let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO [...]) snode = (start, 0, m) m = length input .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) In an equation for ‘parse'’: parse' popts opts p' input = let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO ...) snode = ... .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) src/GLL/Combinators/Interface.hs:388:18: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘l’ Consider giving a type signature for ‘l’ • In the expression: let l = toAlt l' r = altsOf r' in OO (l : r) In an equation for ‘<||>’: l' <||> r' = let l = toAlt l' r = altsOf r' in OO (l : r) src/GLL/Combinators/Interface.hs:389:18: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘r’ Consider giving a type signature for ‘r’ • In the expression: let l = toAlt l' r = altsOf r' in OO (l : r) In an equation for ‘<||>’: l' <||> r' = let l = toAlt l' r = altsOf r' in OO (l : r) src/GLL/Combinators/Interface.hs:528:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘sym’, ‘rules’, ‘sem’ Consider giving a type signature for these binders • In the expression: let SymbExpr (sym, rules, sem) = toSymb p' lhs_sem opts ctx sppf arr l r | not (do_memo opts) = sem opts ctx sppf arr l r | otherwise = do { ... } in SymbExpr (sym, rules, lhs_sem) In an equation for ‘memo’: memo ref p' = let SymbExpr (sym, rules, sem) = toSymb p' lhs_sem opts ctx sppf arr l r | not (do_memo opts) = sem opts ctx sppf arr l r | otherwise = ... in SymbExpr (sym, rules, lhs_sem) src/GLL/Combinators/Interface.hs:546:18: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘myx’ Consider giving a type signature for ‘myx’ • In the expression: let SymbExpr (myx, _, _) = mkRule p in "_(" ++ show myx ++ ")" ++ str In an equation for ‘mkNt’: mkNt p str = let SymbExpr (myx, _, _) = mkRule p in "_(" ++ show myx ++ ")" ++ str src/GLL/Combinators/Interface.hs:551:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘s’, ‘r’, ‘sem’ Consider giving a type signature for these binders • In the expression: let AltExpr (s, r, sem) = toAlt i in AltExpr (s, r, \ opts slot ctx sppf arr l r -> do { as <- sem opts slot ctx sppf arr l r; .... }) In an equation for ‘.$.’: f .$. i = let AltExpr (s, r, sem) = toAlt i in AltExpr (s, r, \ opts slot ctx sppf arr l r -> do { ... }) [13 of 14] Compiling GLL.Combinators ( src/GLL/Combinators.hs, dist/build/GLL/Combinators.o ) [14 of 14] Compiling GLL.Combinators.Test.Interface ( src/GLL/Combinators/Test/Interface.hs, dist/build/GLL/Combinators/Test/Interface.o ) src/GLL/Combinators/Test/Interface.hs:53:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘parse_res’ Consider giving a type signature for ‘parse_res’ • In the expression: do { case mref of { Nothing -> return () Just ref -> memClear ref }; j <- readIORef subcount; modifyIORef subcount succ; let parse_res = parseWithOptions ... p str norm = take 100 . sort . nub ....; .... } In the second argument of ‘($)’, namely ‘\ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... }’ In a stmt of a 'do' block: forM_ arg_pairs $ \ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... } src/GLL/Combinators/Test/Interface.hs:54:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘norm’ Consider giving a type signature for ‘norm’ • In the expression: do { case mref of { Nothing -> return () Just ref -> memClear ref }; j <- readIORef subcount; modifyIORef subcount succ; let parse_res = parseWithOptions ... p str norm = take 100 . sort . nub ....; .... } In the second argument of ‘($)’, namely ‘\ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... }’ In a stmt of a 'do' block: forM_ arg_pairs $ \ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... } src/GLL/Combinators/Test/Interface.hs:55:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘norm_p_res’ Consider giving a type signature for ‘norm_p_res’ • In the expression: do { case mref of { Nothing -> return () Just ref -> memClear ref }; j <- readIORef subcount; modifyIORef subcount succ; let parse_res = parseWithOptions ... p str norm = take 100 . sort . nub ....; .... } In the second argument of ‘($)’, namely ‘\ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... }’ In a stmt of a 'do' block: forM_ arg_pairs $ \ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... } src/GLL/Combinators/Test/Interface.hs:94:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:105:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:119:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:133:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:145:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pL’ Consider giving a type signature for ‘pL’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:151:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:152:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:157:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:158:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:163:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pS’ Consider giving a type signature for ‘pS’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:171:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pE’ Consider giving a type signature for ‘pE’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:183:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:188:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:190:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pB’ Consider giving a type signature for ‘pB’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:195:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘pX’, ‘pY’ Consider giving a type signature for these binders • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:196:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pA’ Consider giving a type signature for ‘pA’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:204:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:205:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:211:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:212:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:219:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pE’ Consider giving a type signature for ‘pE’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:226:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘pY’, ‘pX’ Consider giving a type signature for these binders • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:227:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pA’ Consider giving a type signature for ‘pA’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:243:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:244:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In an equation for ‘pX’: pX = "X" <:=> multiple pY where pY = 1 <$$ char '1' <||> 2 <$$ char '1' <** char '1' In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:248:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:249:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In an equation for ‘pX’: pX = "X" <:=> some pY where pY = 1 <$$ char '1' <||> 2 <$$ char '1' <** char '1' In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:261:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:262:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In an equation for ‘pX’: pX = "X" <:=> many pY where pY = 1 <$$ char '1' <||> 2 <$$ char '1' <** char '1' In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] Running Haddock for gll-0.4.0.2... Running hscolour for gll-0.4.0.2... Preprocessing library gll-0.4.0.2... Preprocessing library gll-0.4.0.2... src/GLL/Types/Derivations.hs:73:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner3’ Consider giving a type signature for ‘inner3’ • In an equation for ‘pNodeLookup’: pNodeLookup (_, _, pMap, _) ((alt, j), l, r) = maybe Nothing inner $ IM.lookup l pMap where inner = maybe Nothing inner2 . IM.lookup r inner2 = maybe Nothing inner3 . IM.lookup j inner3 = maybe Nothing (Just . IS.toList) . M.lookup alt src/GLL/Types/Derivations.hs:94:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘singleAK’ Consider giving a type signature for ‘singleAK’ • In an equation for ‘add’: add alt j l r k = IM.alter addInnerL l pMap where addInnerL mm = case mm of { Nothing -> Just singleRJAK Just m -> Just $ IM.alter addInnerR r m } addInnerR mm = case mm of { Nothing -> Just singleJAK Just m -> Just $ IM.alter addInnerJ j m } addInnerJ mm = case mm of { Nothing -> Just singleAK Just m -> Just $ M.insertWith IS.union alt singleK m } singleRJAK = IM.fromList [(r, singleJAK)] .... In an equation for ‘pMapInsert’: pMapInsert f t (sMap, iMap, pMap, eMap) = let pMap' = ... in (sMap, iMap, pMap', eMap) where add alt j l r k = IM.alter addInnerL l pMap where addInnerL mm = ... addInnerR mm = ... .... src/GLL/Types/Derivations.hs:100:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘sNodeLookup’: sNodeLookup (sm, _, _, _) (s, l, r) = maybe False inner $ IM.lookup l sm where inner = maybe False (S.member s) . IM.lookup r src/GLL/Types/Derivations.hs:104:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘sMap'’ Consider giving a type signature for ‘sMap'’ • In the expression: let sMap' = case f of { SNode (s, l, r) -> ... _ -> ... } in (sMap', iMap, pMap, eMap) In an equation for ‘sNodeInsert’: sNodeInsert f t (sMap, iMap, pMap, eMap) = let sMap' = ... in (sMap', iMap, pMap, eMap) where newt sMap = case t of { (SNode (s, l, r)) -> add s l r sMap _ -> sMap } add s l r sMap = IM.alter addInnerL l sMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:116:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘singleS’ Consider giving a type signature for ‘singleS’ • In an equation for ‘add’: add s l r sMap = IM.alter addInnerL l sMap where addInnerL mm = case mm of { Nothing -> Just singleRS Just m -> Just $ IM.insertWith (S.union) r singleS m } singleRS = IM.fromList [(r, singleS)] singleS = S.singleton s In an equation for ‘sNodeInsert’: sNodeInsert f t (sMap, iMap, pMap, eMap) = let sMap' = ... in (sMap', iMap, pMap, eMap) where newt sMap = case t of { (SNode (s, l, r)) -> add s l r sMap _ -> sMap } add s l r sMap = IM.alter addInnerL l sMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:121:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘sNodeRemove’: sNodeRemove (sm, iMap, pMap, eMap) (s, l, r) = (IM.adjust inner l sm, iMap, pMap, eMap) where inner = IM.adjust ((s `S.delete`)) r src/GLL/Types/Derivations.hs:125:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘iNodeLookup’: iNodeLookup (_, iMap, _, _) (s, l, r) = maybe False inner $ IM.lookup l iMap where inner = maybe False (S.member s) . IM.lookup r src/GLL/Types/Derivations.hs:129:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘iMap'’ Consider giving a type signature for ‘iMap'’ • In the expression: let iMap' = case f of { INode (s, l, r) -> ... _ -> ... } in (sMap, iMap', pMap, eMap) In an equation for ‘iNodeInsert’: iNodeInsert f t (sMap, iMap, pMap, eMap) = let iMap' = ... in (sMap, iMap', pMap, eMap) where newt iMap = case t of { (INode (s, l, r)) -> add s l r iMap _ -> iMap } add s l r iMap = IM.alter addInnerL l iMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:141:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘singleS’ Consider giving a type signature for ‘singleS’ • In an equation for ‘add’: add s l r iMap = IM.alter addInnerL l iMap where addInnerL mm = case mm of { Nothing -> Just singleRS Just m -> Just $ IM.insertWith (S.union) r singleS m } singleRS = IM.fromList [(r, singleS)] singleS = S.singleton s In an equation for ‘iNodeInsert’: iNodeInsert f t (sMap, iMap, pMap, eMap) = let iMap' = ... in (sMap, iMap', pMap, eMap) where newt iMap = case t of { (INode (s, l, r)) -> add s l r iMap _ -> iMap } add s l r iMap = IM.alter addInnerL l iMap where addInnerL mm = ... singleRS = IM.fromList ... .... src/GLL/Types/Derivations.hs:146:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘iNodeRemove’: iNodeRemove (sMap, iMap, pMap, eMap) (s, l, r) = (sMap, IM.adjust inner l iMap, pMap, eMap) where inner = IM.adjust ((s `S.delete`)) r src/GLL/Types/Derivations.hs:154:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘inU’: inU (slot, l, i) u = maybe False inner $ IM.lookup l u where inner = maybe False (S.member slot) . IM.lookup i src/GLL/Types/Derivations.hs:187:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘prefixMap’ Consider giving a type signature for ‘prefixMap’ • In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:196:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘init’ Consider giving a type signature for ‘init’ • In the expression: let init = map ((\ (Term t) -> t) . (alpha !!)) [a .. (z - 2)] last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ [...], Nothing) } In an equation for ‘rangePrefix’: rangePrefix (a, z) = let init = map ((\ (Term t) -> ...) . (alpha !!)) ... last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ ..., Nothing) } In an equation for ‘prefix’: prefix x alpha = map rangePrefix ranges where js = (map ((+) 1) (findIndices isNt alpha)) ranges = zip (0 : js) (js ++ [length alpha]) rangePrefix (a, z) | a >= z = (a, [], Nothing) rangePrefix (a, z) = let ... in case last of { Nt nt -> ... Term t -> ... } src/GLL/Types/Derivations.hs:197:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘last’ Consider giving a type signature for ‘last’ • In the expression: let init = map ((\ (Term t) -> t) . (alpha !!)) [a .. (z - 2)] last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ [...], Nothing) } In an equation for ‘rangePrefix’: rangePrefix (a, z) = let init = map ((\ (Term t) -> ...) . (alpha !!)) ... last = alpha !! (z - 1) in case last of { Nt nt -> (a, init, Just nt) Term t -> (a, init ++ ..., Nothing) } In an equation for ‘prefix’: prefix x alpha = map rangePrefix ranges where js = (map ((+) 1) (findIndices isNt alpha)) ranges = zip (0 : js) (js ++ [length alpha]) rangePrefix (a, z) | a >= z = (a, [], Nothing) rangePrefix (a, z) = let ... in case last of { Nt nt -> ... Term t -> ... } src/GLL/Types/Derivations.hs:206:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘selectMap’ Consider giving a type signature for ‘selectMap’ • In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:215:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘firsts’ Consider giving a type signature for ‘firsts’ • In an equation for ‘select’: select alpha x = res where firsts = first_alpha [] alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘selectMap’: selectMap = M.fromList [((x, alpha), select alpha x) | Prod x rhs <- prs, alpha <- split rhs] where split rhs = foldr op [] js where op j acc = drop j rhs : acc js = 0 : findIndices isNt rhs select alpha x = res where firsts = first_alpha ... alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:216:25: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘res’ Consider giving a type signature for ‘res’ • In an equation for ‘select’: select alpha x = res where firsts = first_alpha [] alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘selectMap’: selectMap = M.fromList [((x, alpha), select alpha x) | Prod x rhs <- prs, alpha <- split rhs] where split rhs = foldr op [] js where op j acc = drop j rhs : acc js = 0 : findIndices isNt rhs select alpha x = res where firsts = first_alpha ... alpha res | eps `S.member` firsts = S.delete eps firsts `S.union` (followMap M.! x) | otherwise = firsts In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Types/Derivations.hs:227:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘fs’ Consider giving a type signature for ‘fs’ • In the expression: let fs | x `elem` ys = S.empty | otherwise = first_x (x : ys) x in if x `S.member` nullableSet then S.delete eps fs `S.union` first_alpha (x : ys) xs else fs In a case alternative: Nt x -> let fs | x `elem` ys = S.empty | otherwise = first_x (x : ys) x in if x `S.member` nullableSet then S.delete eps fs `S.union` first_alpha (x : ys) xs else fs In the expression: case x of { Term tau -> if tau == eps then first_alpha ys xs else S.singleton tau Nt x -> let fs | x `elem` ys = ... | otherwise = ... in if x `S.member` nullableSet then S.delete eps fs `S.union` first_alpha (x : ys) xs else fs } src/GLL/Types/Derivations.hs:238:29: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘ts’ Consider giving a type signature for ‘ts’ • In the expression: let ts = S.delete eps (first_alpha [] ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘fw’: fw (y, ss) = let ts = S.delete eps (first_alpha ... ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘follow’: follow ys x = S.unions (map fw (maybe [] id $ M.lookup x localMap)) `S.union` (if x == s then S.singleton eos else S.empty) where fw (y, ss) = let ... in if nullable_alpha ... ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts src/GLL/Types/Derivations.hs:239:29: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘fs’ Consider giving a type signature for ‘fs’ • In the expression: let ts = S.delete eps (first_alpha [] ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘fw’: fw (y, ss) = let ts = S.delete eps (first_alpha ... ss) fs = follow (x : ys) y in if nullable_alpha [] ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts In an equation for ‘follow’: follow ys x = S.unions (map fw (maybe [] id $ M.lookup x localMap)) `S.union` (if x == s then S.singleton eos else S.empty) where fw (y, ss) = let ... in if nullable_alpha ... ss && not (x `elem` (y : ys)) then ts `S.union` fs else ts src/GLL/Types/Derivations.hs:244:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘localMap’ Consider giving a type signature for ‘localMap’ • In an equation for ‘fixedMaps’: fixedMaps s prs = (prodMap, prefixMap, firstMap, followMap, selectMap) where prodMap = M.fromListWith (++) [(x, [...]) | pr@(Prod x _) <- prs] prefixMap = M.fromList [((pr, j), (tokens, msymb)) | pr@(Prod x alpha) <- prs, (j, tokens, msymb) <- prefix x alpha] where prefix x alpha = map rangePrefix ranges where ... firstMap = M.fromList [(x, first_x ... x) | x <- M.keys prodMap] first_x ys x = S.unions [first_alpha (x : ys) rhs | Prod _ rhs <- prodMap M.! x] .... src/GLL/Parser.hs:180:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() src/GLL/Parser.hs:252:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘sppf'’ Consider giving a type signature for ‘sppf'’ • In the expression: let sppf' = (if symbol_nodes flags then sNodeInsert f t else id) $ (if intermediate_nodes flags then iNodeInsert f t else id) $ (if edges flags then eMapInsert f t else id) $ pMapInsert f t (mut_sppf mut) in ((), mut {mut_sppf = sppf'}) In the second argument of ‘($)’, namely ‘\ flags mut -> let sppf' = ... in ((), mut {mut_sppf = sppf'})’ In the expression: GLL $ \ flags mut -> let sppf' = ... in ((), mut {mut_sppf = sppf'}) src/GLL/Parser.hs:261:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newU’ Consider giving a type signature for ‘newU’ • In the expression: let new = maybe True inner $ IM.lookup i (mut_descriptors mut) where inner m = ... newU = IM.alter inner i (mut_descriptors mut) where inner mm = ... .... in if new then ((), mut {mut_worklist = (alt, sppf) : (mut_worklist mut), mut_descriptors = newU}) else ((), mut) In the second argument of ‘($)’, namely ‘\ _ mut -> let new = ... where ... .... in if new then ((), mut {mut_worklist = ... : (mut_worklist mut), mut_descriptors = newU}) else ((), mut)’ In the expression: GLL $ \ _ mut -> let new = ... where ... .... in if new then ((), mut {mut_worklist = ... : (mut_worklist mut), mut_descriptors = newU}) else ((), mut) src/GLL/Parser.hs:276:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newP’ Consider giving a type signature for ‘newP’ • In the expression: let newP = IM.alter inner l (mut_popset mut) where inner mm = ... in ((), mut {mut_popset = newP}) In the second argument of ‘($)’, namely ‘\ _ mut -> let newP = ... where ... in ((), mut {mut_popset = newP})’ In the expression: GLL $ \ _ mut -> let newP = ... where ... in ((), mut {mut_popset = newP}) src/GLL/Parser.hs:288:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newGSS’ Consider giving a type signature for ‘newGSS’ • In the expression: let newGSS = IM.alter inner i (mut_gss mut) where inner mm = ... in ((), mut {mut_gss = newGSS}) In the second argument of ‘($)’, namely ‘\ _ mut -> let newGSS = ... where ... in ((), mut {mut_gss = newGSS})’ In the expression: GLL $ \ _ mut -> let newGSS = ... where ... in ((), mut {mut_gss = newGSS}) src/GLL/Parser.hs:296:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘res’: res = maybe [] inner $ IM.lookup l (mut_popset mut) where inner = maybe [] id . M.lookup gs In the expression: let res = maybe [] inner $ IM.lookup l (mut_popset mut) where inner = ... in (res, mut) In the second argument of ‘($)’, namely ‘\ _ mut -> let res = ... where ... in (res, mut)’ src/GLL/Parser.hs:305:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘newM’ Consider giving a type signature for ‘newM’ • In the expression: let newM = IM.insertWith S.union k ts (mut_mismatches mut) newM' | length (IM.keys newM) > max_errors flags = IM.deleteMin newM | otherwise = newM in ((), mut {mut_mismatches = newM'}) In the second argument of ‘($)’, namely ‘\ flags mut -> let newM = ... .... in ((), mut {mut_mismatches = newM'})’ In the expression: GLL $ \ flags mut -> let newM = ... .... in ((), mut {mut_mismatches = newM'}) src/GLL/Parser.hs:323:40: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘a’, ‘p'’ Consider giving a type signature for these binders • In the expression: let (a, p') = m o p (GLL m') = f a in m' o p' In the second argument of ‘($)’, namely ‘\ o p -> let (a, p') = ... .... in m' o p'’ In the expression: GLL $ \ o p -> let (a, p') = ... .... in m' o p' src/GLL/Parser.hs:344:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘mutable’ Consider giving a type signature for ‘mutable’ • In the expression: let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input m = length str .... in resultFromMutable input flags mutable (Nt start, 0, m) In an equation for ‘parseWithOptions’: parseWithOptions opts grammar@(start, _) str = let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input .... in resultFromMutable input flags mutable (Nt start, 0, m) src/GLL/Parser.hs:346:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘input’ Consider giving a type signature for ‘input’ • In the expression: let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input m = length str .... in resultFromMutable input flags mutable (Nt start, 0, m) In an equation for ‘parseWithOptions’: parseWithOptions opts grammar@(start, _) str = let flags = runOptions opts (mutable, _, _) = gll flags m False grammar input .... in resultFromMutable input flags mutable (Nt start, 0, m) src/GLL/Parser.hs:354:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘context’ Consider giving a type signature for ‘context’ • In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:356:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘dispatch’, ‘pRhs’, ‘pLhs’ Consider giving a type signature for these binders • In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:367:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘first_ts’ Consider giving a type signature for ‘first_ts’ • In the expression: do { let alts = ... first_ts = S.unions (map snd alts) ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘pLhs’: pLhs (bigx, i) = do { let alts = ... ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:368:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘cands’ Consider giving a type signature for ‘cands’ • In the expression: do { let alts = ... first_ts = S.unions (map snd alts) ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘pLhs’: pLhs (bigx, i) = do { let alts = ... ....; if null cands then addMisMatch i first_ts else forM_ cands (addDescr Dummy); dispatch } In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:419:5: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘prodMap’, ‘follows’, ‘selects’ Consider giving a type signature for these binders • In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Parser.hs:430:12: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘inner’ Consider giving a type signature for ‘inner’ • In an equation for ‘merge’: merge m1 m2 = IM.unionWith inner m1 m2 where inner = IM.unionWith S.union In an equation for ‘gll’: gll flags m debug (start, prods) input = (runGLL (pLhs (start, 0)) flags context, selects, follows) where context = Mutable False emptySPPF [] IM.empty IM.empty IM.empty IM.empty dispatch = do { mnext <- getDescr; .... } pLhs (bigx, i) = do { let ...; .... } pRhs (Slot bigx alpha ((Term tau) : beta), i, l) sppf = if (input A.! i `matches` tau) then do { ... } else do { ... } where slot = Slot bigx (alpha ++ ...) beta pRhs (Slot bigx alpha ((Nt bigy) : beta), i, l) sppf = if any (matches (input A.! i)) first_ts then do { ... } else do { ... } where ret = ... slot = Slot bigx (alpha ++ ...) beta .... pRhs (Slot bigy alpha [], i, l) sppf | bigy == start && l == 0 = if i == m then addSuccess >> dispatch else addMisMatch i (S.singleton eos) >> dispatch pRhs (Slot bigx alpha [], i, l) Dummy = do { root <- joinSPPFs slot Dummy l i i; .... } where slot = Slot bigx ... ... pRhs (Slot bigy alpha [], i, l) ynode = do { addPop ... i; .... } .... src/GLL/Combinators/Lexer.hs:87:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lCharacters’ Consider giving a type signature for ‘lCharacters’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Lexer.hs:90:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lKeywords’ Consider giving a type signature for ‘lKeywords’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Lexer.hs:92:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lMore’ Consider giving a type signature for ‘lMore’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Lexer.hs:95:13: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘lStringLit’ Consider giving a type signature for ‘lStringLit’ • In an equation for ‘lTokens’: lTokens lexsets = lCharacters <|> lKeywords <|> charsToInt <$> optional (sym '-') <*> some (psym isDigit) <|> upcast . IDLit . Just <$> identifiers lexsets <|> upcast . AltIDLit . Just <$> altIdentifiers lexsets <|> upcast . CharLit . Just <$> lCharLit <|> upcast . StringLit . Just <$> lStringLit <|> lMore where charsToInt Nothing n = upcast (IntLit (Just (read n))) charsToInt (Just _) n = upcast (IntLit (Just (- (read n)))) lChar c = upcast (Char c) <$ sym c lCharacters = foldr ((<|>) . lChar) empty (keychars lexsets) lKeyword k = upcast (Keyword k) <$ string k .... src/GLL/Combinators/Options.hs:95:17: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘max’ Consider giving a type signature for ‘max’ • In the expression: let (max, _) : _ = maximumsWith (compare `on` fst) $ map head xss in (filter ((== max) . fst . head) xss) In an equation for ‘maintain’: maintain xss = let (max, _) : _ = maximumsWith (compare `on` fst) $ map head xss in (filter ((== max) . fst . head) xss) In an equation for ‘maintainWith’: maintainWith compare = maintain . filter (not . null) where maintain xss = let ... in (filter ((== max) . fst . head) xss) src/GLL/Combinators/Visit/Join.hs:5:1: warning: [-Wunused-imports] The import of ‘GLL.Types.Derivations’ is redundant except perhaps to import instances from ‘GLL.Types.Derivations’ To import instances alone, use: import GLL.Types.Derivations() src/GLL/Combinators/Visit/Join.hs:39:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘altPs’ Consider giving a type signature for ‘altPs’ • In the expression: let vas1 = map (\ (AltExpr (f, _, _)) -> f) altPs vas2 = map (\ (AltExpr (_, s, _)) -> s) altPs vas3 = map (\ (AltExpr (_, _, t)) -> t) altPs .... in SymbExpr (Nt x, grammar_nterm x alts vas2, sem_nterm use_ctx left_biased x alts vas3) In an equation for ‘mkNtRule’: mkNtRule use_ctx left_biased x' altPs' = let vas1 = map (\ (AltExpr (f, _, _)) -> ...) altPs vas2 = map (\ (AltExpr (_, s, _)) -> ...) altPs .... in SymbExpr (Nt x, grammar_nterm x alts vas2, sem_nterm use_ctx left_biased x alts vas3) src/GLL/Combinators/Visit/Join.hs:45:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘vpa1’, ‘vpa2’, ‘vpa3’ Consider giving a type signature for these binders • In the expression: let SymbExpr (vpa1, vpa2, vpa3) = mkRule p' in AltExpr ([vpa1], grammar_apply vpa2, sem_apply f vpa3) In an equation for ‘join_apply’: join_apply f p' = let SymbExpr (vpa1, vpa2, vpa3) = mkRule p' in AltExpr ([vpa1], grammar_apply vpa2, sem_apply f vpa3) src/GLL/Combinators/Visit/Join.hs:51:7: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘vimp1’, ‘vimp2’, ‘vimp3’ Consider giving a type signature for these binders • In the expression: let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) In an equation for ‘join_seq’: join_seq local_opts pl' pr' = let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) src/GLL/Combinators/Visit/Join.hs:52:7: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘vpa1’, ‘vpa2’, ‘vpa3’ Consider giving a type signature for these binders • In the expression: let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) In an equation for ‘join_seq’: join_seq local_opts pl' pr' = let AltExpr (vimp1, vimp2, vimp3) = toAlt pl' SymbExpr (vpa1, vpa2, vpa3) = mkRule pr' in AltExpr (vimp1 ++ [vpa1], grammar_seq vimp2 vpa2, sem_seq local_opts vimp3 vpa3) src/GLL/Combinators/Interface.hs:260:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘start’, ‘vpa2’, ‘vpa3’ Consider giving a type signature for these binders • In the expression: let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO [...]) snode = (start, 0, m) m = length input .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) In an equation for ‘parse'’: parse' popts opts p' input = let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO ...) snode = ... .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) src/GLL/Combinators/Interface.hs:261:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘snode’ Consider giving a type signature for ‘snode’ • In the expression: let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO [...]) snode = (start, 0, m) m = length input .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) In an equation for ‘parse'’: parse' popts opts p' input = let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO ...) snode = ... .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) src/GLL/Combinators/Interface.hs:267:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘parse_res’ Consider giving a type signature for ‘parse_res’ • In the expression: let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO [...]) snode = (start, 0, m) m = length input .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) In an equation for ‘parse'’: parse' popts opts p' input = let SymbExpr (Nt start, vpa2, vpa3) = mkRule ("__Start" <:=> OO ...) snode = ... .... in (grammar, parse_res, if res_success parse_res && not (null res_list) then Right $ res_list else Left (error_message parse_res)) src/GLL/Combinators/Interface.hs:388:18: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘l’ Consider giving a type signature for ‘l’ • In the expression: let l = toAlt l' r = altsOf r' in OO (l : r) In an equation for ‘<||>’: l' <||> r' = let l = toAlt l' r = altsOf r' in OO (l : r) src/GLL/Combinators/Interface.hs:389:18: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘r’ Consider giving a type signature for ‘r’ • In the expression: let l = toAlt l' r = altsOf r' in OO (l : r) In an equation for ‘<||>’: l' <||> r' = let l = toAlt l' r = altsOf r' in OO (l : r) src/GLL/Combinators/Interface.hs:528:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘sym’, ‘rules’, ‘sem’ Consider giving a type signature for these binders • In the expression: let SymbExpr (sym, rules, sem) = toSymb p' lhs_sem opts ctx sppf arr l r | not (do_memo opts) = sem opts ctx sppf arr l r | otherwise = do { ... } in SymbExpr (sym, rules, lhs_sem) In an equation for ‘memo’: memo ref p' = let SymbExpr (sym, rules, sem) = toSymb p' lhs_sem opts ctx sppf arr l r | not (do_memo opts) = sem opts ctx sppf arr l r | otherwise = ... in SymbExpr (sym, rules, lhs_sem) src/GLL/Combinators/Interface.hs:546:18: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘myx’ Consider giving a type signature for ‘myx’ • In the expression: let SymbExpr (myx, _, _) = mkRule p in "_(" ++ show myx ++ ")" ++ str In an equation for ‘mkNt’: mkNt p str = let SymbExpr (myx, _, _) = mkRule p in "_(" ++ show myx ++ ")" ++ str src/GLL/Combinators/Interface.hs:551:15: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘s’, ‘r’, ‘sem’ Consider giving a type signature for these binders • In the expression: let AltExpr (s, r, sem) = toAlt i in AltExpr (s, r, \ opts slot ctx sppf arr l r -> do { as <- sem opts slot ctx sppf arr l r; .... }) In an equation for ‘.$.’: f .$. i = let AltExpr (s, r, sem) = toAlt i in AltExpr (s, r, \ opts slot ctx sppf arr l r -> do { ... }) src/GLL/Combinators/Test/Interface.hs:53:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘parse_res’ Consider giving a type signature for ‘parse_res’ • In the expression: do { case mref of { Nothing -> return () Just ref -> memClear ref }; j <- readIORef subcount; modifyIORef subcount succ; let parse_res = parseWithOptions ... p str norm = take 100 . sort . nub ....; .... } In the second argument of ‘($)’, namely ‘\ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... }’ In a stmt of a 'do' block: forM_ arg_pairs $ \ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... } src/GLL/Combinators/Test/Interface.hs:54:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘norm’ Consider giving a type signature for ‘norm’ • In the expression: do { case mref of { Nothing -> return () Just ref -> memClear ref }; j <- readIORef subcount; modifyIORef subcount succ; let parse_res = parseWithOptions ... p str norm = take 100 . sort . nub ....; .... } In the second argument of ‘($)’, namely ‘\ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... }’ In a stmt of a 'do' block: forM_ arg_pairs $ \ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... } src/GLL/Combinators/Test/Interface.hs:55:21: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘norm_p_res’ Consider giving a type signature for ‘norm_p_res’ • In the expression: do { case mref of { Nothing -> return () Just ref -> memClear ref }; j <- readIORef subcount; modifyIORef subcount succ; let parse_res = parseWithOptions ... p str norm = take 100 . sort . nub ....; .... } In the second argument of ‘($)’, namely ‘\ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... }’ In a stmt of a 'do' block: forM_ arg_pairs $ \ (str, res) -> do { case mref of { Nothing -> ... Just ref -> ... }; j <- readIORef subcount; .... } src/GLL/Combinators/Test/Interface.hs:94:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:105:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:119:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:133:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:145:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pL’ Consider giving a type signature for ‘pL’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:151:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:152:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:157:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:158:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:163:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pS’ Consider giving a type signature for ‘pS’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:171:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pE’ Consider giving a type signature for ‘pE’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:183:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:188:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:190:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pB’ Consider giving a type signature for ‘pB’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:195:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘pX’, ‘pY’ Consider giving a type signature for these binders • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:196:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pA’ Consider giving a type signature for ‘pA’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:204:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:205:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:211:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:212:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:219:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pE’ Consider giving a type signature for ‘pE’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:226:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the bindings for ‘pY’, ‘pX’ Consider giving a type signature for these binders • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:227:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pA’ Consider giving a type signature for ‘pA’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:243:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:244:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In an equation for ‘pX’: pX = "X" <:=> multiple pY where pY = 1 <$$ char '1' <||> 2 <$$ char '1' <** char '1' In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:248:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:249:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In an equation for ‘pX’: pX = "X" <:=> some pY where pY = 1 <$$ char '1' <||> 2 <$$ char '1' <** char '1' In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:261:9: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pX’ Consider giving a type signature for ‘pX’ • In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] src/GLL/Combinators/Test/Interface.hs:262:16: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘pY’ Consider giving a type signature for ‘pY’ • In an equation for ‘pX’: pX = "X" <:=> many pY where pY = 1 <$$ char '1' <||> 2 <$$ char '1' <** char '1' In the expression: do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [0])]; test Nothing "eps2" (satisfy 0) [("", [0]), ("111", [])]; .... } In an equation for ‘main’: main = do { count <- newIORef 1; let test mref name p arg_pairs = ...; test Nothing "eps1" (satisfy 0) [("", [...])]; .... } where aho_S_5 = ["10101010100", ....] _EEE_3 = ["00111", ....] Haddock coverage: 92% ( 11 / 12) in 'GLL.Flags' Missing documentation for: Module header 57% ( 12 / 21) in 'GLL.Types.Grammar' Missing documentation for: Module header (src/GLL/Types/Grammar.hs:94) (src/GLL/Types/Grammar.hs:101) (src/GLL/Types/Grammar.hs:121) unlexToken (src/GLL/Types/Grammar.hs:145) isNt (src/GLL/Types/Grammar.hs:160) isTerm (src/GLL/Types/Grammar.hs:163) (src/GLL/Types/Grammar.hs:166) (src/GLL/Types/Grammar.hs:172) 100% ( 1 / 1) in 'GLL.Parseable.Char' 16% ( 6 / 37) in 'GLL.Types.Derivations' Missing documentation for: Module header SlotL (src/GLL/Types/Derivations.hs:13) PrL (src/GLL/Types/Derivations.hs:14) NtL (src/GLL/Types/Derivations.hs:15) SNode (src/GLL/Types/Derivations.hs:61) PNode (src/GLL/Types/Derivations.hs:62) SEdge (src/GLL/Types/Derivations.hs:63) PEdge (src/GLL/Types/Derivations.hs:64) emptySPPF (src/GLL/Types/Derivations.hs:66) pNodeLookup (src/GLL/Types/Derivations.hs:69) pMapInsert (src/GLL/Types/Derivations.hs:75) sNodeLookup (src/GLL/Types/Derivations.hs:98) sNodeInsert (src/GLL/Types/Derivations.hs:102) sNodeRemove (src/GLL/Types/Derivations.hs:118) iNodeLookup (src/GLL/Types/Derivations.hs:123) iNodeInsert (src/GLL/Types/Derivations.hs:127) iNodeRemove (src/GLL/Types/Derivations.hs:143) eMapInsert (src/GLL/Types/Derivations.hs:148) inU (src/GLL/Types/Derivations.hs:153) toU (src/GLL/Types/Derivations.hs:156) showD (src/GLL/Types/Derivations.hs:164) showG (src/GLL/Types/Derivations.hs:165) showP (src/GLL/Types/Derivations.hs:166) showS (src/GLL/Types/Derivations.hs:169) showSPPF (src/GLL/Types/Derivations.hs:172) ProdMap (src/GLL/Types/Derivations.hs:175) PrefixMap (src/GLL/Types/Derivations.hs:176) SelectMap (src/GLL/Types/Derivations.hs:177) FirstMap (src/GLL/Types/Derivations.hs:178) FollowMap (src/GLL/Types/Derivations.hs:179) fixedMaps (src/GLL/Types/Derivations.hs:181) 97% ( 36 / 37) in 'GLL.Parser' Missing documentation for: showSPPF (src/GLL/Types/Derivations.hs:172) 0% ( 0 / 5) in 'GLL.Combinators.Visit.Grammar' Missing documentation for: Module header Grammar_Expr (src/GLL/Combinators/Visit/Grammar.hs:8) grammar_nterm (src/GLL/Combinators/Visit/Grammar.hs:10) grammar_apply (src/GLL/Combinators/Visit/Grammar.hs:15) grammar_seq (src/GLL/Combinators/Visit/Grammar.hs:18) 80% ( 4 / 5) in 'GLL.Combinators.Lexer' Missing documentation for: Module header 57% ( 4 / 7) in 'GLL.Combinators.Memoisation' Missing documentation for: Module header memLookup (src/GLL/Combinators/Memoisation.hs:15) memInsert (src/GLL/Combinators/Memoisation.hs:19) 84% ( 21 / 25) in 'GLL.Combinators.Options' Missing documentation for: Module header runOptions (src/GLL/Combinators/Options.hs:25) runOptionsOn (src/GLL/Combinators/Options.hs:28) maintainWith (src/GLL/Combinators/Options.hs:90) 0% ( 0 / 9) in 'GLL.Combinators.Visit.Sem' Missing documentation for: Module header Sem_Symb (src/GLL/Combinators/Visit/Sem.hs:13) Sem_Alt (src/GLL/Combinators/Visit/Sem.hs:15) sem_nterm (src/GLL/Combinators/Visit/Sem.hs:18) sem_apply (src/GLL/Combinators/Visit/Sem.hs:41) sem_seq (src/GLL/Combinators/Visit/Sem.hs:47) Ancestors (src/GLL/Combinators/Visit/Sem.hs:60) inAncestors (src/GLL/Combinators/Visit/Sem.hs:62) toAncestors (src/GLL/Combinators/Visit/Sem.hs:67) 35% ( 7 / 20) in 'GLL.Combinators.Visit.Join' Missing documentation for: Module header mkNtRule (src/GLL/Combinators/Visit/Join.hs:33) join_apply (src/GLL/Combinators/Visit/Join.hs:43) join_seq (src/GLL/Combinators/Visit/Join.hs:48) (src/GLL/Combinators/Visit/Join.hs:63) (src/GLL/Combinators/Visit/Join.hs:66) (src/GLL/Combinators/Visit/Join.hs:69) (src/GLL/Combinators/Visit/Join.hs:78) (src/GLL/Combinators/Visit/Join.hs:81) (src/GLL/Combinators/Visit/Join.hs:84) (src/GLL/Combinators/Visit/Join.hs:92) (src/GLL/Combinators/Visit/Join.hs:95) (src/GLL/Combinators/Visit/Join.hs:98) 98% (118 /121) in 'GLL.Combinators.Interface' Missing documentation for: unlexToken (src/GLL/Types/Grammar.hs:145) <<**> (src/GLL/Combinators/Interface.hs:575) **>>> (src/GLL/Combinators/Interface.hs:571) 100% ( 2 / 2) in 'GLL.Combinators.Test.Interface' 100% ( 2 / 2) in 'GLL.Combinators' Documentation created: dist/doc/html/gll/index.html, dist/doc/html/gll/gll.txt Creating package registration file: /tmp/pkgConf-gll-0.4.02425889541849552528.2 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-8.0.1.20160701/gll-0.4.0.2-3hvvmlpAlXLDelaXbr5Cij Registering gll-0.4.0.2... cabal: Leaving directory '/tmp/cabal-tmp-27441/gll-0.4.0.2' Installed gll-0.4.0.2