*** setup configure Configuring sessions-2008.5.6... Dependency base-any: using base-3.0.1.0 Dependency mtl-any: using mtl-1.1.0.1 Dependency containers-any: using containers-0.1.0.1 Using compiler: ghc-6.8.2 Using install prefix: /usr/local/tmp/archive/install Binaries installed in: /usr/local/tmp/archive/install/bin Libraries installed in: /usr/local/tmp/archive/install/lib/sessions-2008.5.6/ghc-6.8.2 Private binaries installed in: /usr/local/tmp/archive/install/libexec Data files installed in: /usr/local/tmp/archive/install/share/sessions-2008.5.6 Documentation installed in: /usr/local/tmp/archive/install/share/doc/sessions-2008.5.6 Using alex version 2.0.1 found on system at: /usr/local/bin/alex Using ar found on system at: /usr/bin/ar Using c2hs version 0.15.1 found on system at: /usr/local/bin/c2hs Using cpphs version 0.7 found on system at: /usr/bin/cpphs Using ffihugs found on system at: /usr/local/bin/ffihugs Using ghc version 6.8.2 found on system at: /usr/local/bin/ghc Using ghc-pkg version 6.8.2 found on system at: /usr/local/bin/ghc-pkg No greencard found Using haddock version 2.1.0 found on system at: /usr/local/bin/haddock Using happy version 1.17 found on system at: /usr/local/bin/happy No hmake found Using hsc2hs version 0.66-ghc found on system at: /usr/local/bin/hsc2hs Using hscolour version 1.9 found on system at: /usr/local/bin/HsColour Using hugs found on system at: /usr/local/bin/hugs No jhc found Using ld found on system at: /usr/bin/ld No nhc98 found Using pkg-config version 0.22 found on system at: /usr/bin/pkg-config Using ranlib found on system at: /usr/bin/ranlib Using strip found on system at: /usr/bin/strip Using tar found on system at: /bin/tar *** setup build Creating dist/build (and its parents) Creating dist/build/autogen (and its parents) Preprocessing library sessions-2008.5.6... Building sessions-2008.5.6... Building library... Creating dist/build (and its parents) /usr/local/bin/ghc -package-name sessions-2008.5.6 --make -hide-all-packages -i -idist/build/autogen -idist/build -i. -Idist/build -odir dist/build -hidir dist/build -stubdir dist/build -package base-3.0.1.0 -package mtl-1.1.0.1 -package containers-0.1.0.1 -O -Wall -fno-warn-name-shadowing -fno-warn-orphans Control.Concurrent.Session Control.Concurrent.Session.Runtime Control.Concurrent.Session.SessionType Control.Concurrent.Session.SessionTypeMonad Control.Concurrent.Session.SMonad Control.Concurrent.Session.List Control.Concurrent.Session.Number Control.Concurrent.Session.Map Control.Concurrent.Session.Interleaving Control.Concurrent.Session.Pid Control.Concurrent.Session.Bool [ 1 of 11] Compiling Control.Concurrent.Session.Bool ( Control/Concurrent/Session/Bool.hs, dist/build/Control/Concurrent/Session/Bool.o ) [ 2 of 11] Compiling Control.Concurrent.Session.Number ( Control/Concurrent/Session/Number.hs, dist/build/Control/Concurrent/Session/Number.o ) [ 3 of 11] Compiling Control.Concurrent.Session.List ( Control/Concurrent/Session/List.hs, dist/build/Control/Concurrent/Session/List.o ) [ 4 of 11] Compiling Control.Concurrent.Session.Map ( Control/Concurrent/Session/Map.hs, dist/build/Control/Concurrent/Session/Map.o ) [ 5 of 11] Compiling Control.Concurrent.Session.SMonad ( Control/Concurrent/Session/SMonad.hs, dist/build/Control/Concurrent/Session/SMonad.o ) [ 6 of 11] Compiling Control.Concurrent.Session.SessionType ( Control/Concurrent/Session/SessionType.hs, dist/build/Control/Concurrent/Session/SessionType.o ) [ 7 of 11] Compiling Control.Concurrent.Session.SessionTypeMonad ( Control/Concurrent/Session/SessionTypeMonad.hs, dist/build/Control/Concurrent/Session/SessionTypeMonad.o ) [ 8 of 11] Compiling Control.Concurrent.Session.Runtime ( Control/Concurrent/Session/Runtime.hs, dist/build/Control/Concurrent/Session/Runtime.o ) [ 9 of 11] Compiling Control.Concurrent.Session.Pid ( Control/Concurrent/Session/Pid.hs, dist/build/Control/Concurrent/Session/Pid.o ) [10 of 11] Compiling Control.Concurrent.Session.Interleaving ( Control/Concurrent/Session/Interleaving.hs, dist/build/Control/Concurrent/Session/Interleaving.o ) Control/Concurrent/Session/Interleaving.hs:313:0: Warning: Definition but no type signature for `withThenClose' Inferred type: withThenClose :: forall idx current fromO fromI res pidProg pidProg' invertedSessions sessionsToIdx idxsToPairStructs keyToIdx idxToValue idxToValue' prog prog' outgoing incoming keyToIdx' idxToValue'1 prefix idxP a' keyToIdxPrefix idxToValueSuffix b' idxToValuePrefix keyToIdxSuffix idxToValueSuffix1 b'1 a'1 b'' idx1. (TyListIndex idxToValue idx1 (SessionState prog prog' (current, fromO, fromI)), TyListTake idx1 idxToValue prefix, Control.Concurrent.Session.Number.Reverse' idx1 E a', Control.Concurrent.Session.Number.Reverse' b'1 E idxP, TyListAppend prefix (Cons (SessionState prog prog' (Cons End Nil, outgoing, incoming)) idxToValueSuffix) idxToValue', TyListTake idx1 keyToIdx keyToIdxPrefix, TyListDrop idxP idxToValue idxToValueSuffix, Control.Concurrent.Session.Number.DecrementRightToLeft a'1 b', TyListAppend prefix idxToValueSuffix idxToValue'1, TyListTake idx1 idxToValue' idxToValuePrefix, TyListDrop idxP keyToIdx keyToIdxSuffix, TyListDrop idxP idxToValue' idxToValueSuffix1, Control.Concurrent.Session.Number.IncrementRightToLeft a' b'1, Control.Concurrent.Session.Number.Reverse' idxP E a'1, Control.Concurrent.Session.Number.Reverse' b' E b'', Control.Concurrent.Session.Number.StripLeadingZeros b'' idx1, TyListAppend keyToIdxPrefix keyToIdxSuffix keyToIdx', TyListAppend idxToValuePrefix idxToValueSuffix1 idxToValue'1, Control.Concurrent.Session.List.TyListElem' keyToIdx (D0 E) idx idx1, TyListIndex idxToValue' idx1 (SessionState prog prog' (Cons End Nil, outgoing, incoming))) => idx -> SessionChain prog prog' (current, fromO, fromI) (Cons End Nil, outgoing, incoming) res -> InterleavedChain (InternalPid pidProg pidProg' invertedSessions sessionsToIdx idxsToPairStructs) (TyMap keyToIdx idxToValue) (TyMap keyToIdx' idxToValue'1) res Control/Concurrent/Session/Interleaving.hs:314:0: Warning: Definition but no type signature for `createSessionThenClose' Inferred type: createSessionThenClose :: forall fromO fromI progOut progIn init invert prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' idxOfThem idxToValue' prefix idxP a' keyToIdxPrefix idxToValueSuffix b' idxToValuePrefix keyToIdxSuffix idxToValueSuffix1 b'1 a'1 b'' idx prog1 prog'1 current fromO1 fromI1 outgoing incoming res keyToIdx' idxToValue'1. (TyListIndex idxToValue' idx (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)), Control.Concurrent.Session.List.TyListElem' keyToIdxMe' (D0 E) idxOfThem idx, TyListAppend idxToValuePrefix idxToValueSuffix1 idxToValue'1, TyListAppend keyToIdxPrefix keyToIdxSuffix keyToIdx', Control.Concurrent.Session.Number.StripLeadingZeros b'' idx, Control.Concurrent.Session.Number.Reverse' b' E b'', Control.Concurrent.Session.Number.Reverse' idxP E a'1, Control.Concurrent.Session.Number.IncrementRightToLeft a' b'1, TyListDrop idxP idxToValue' idxToValueSuffix1, TyListDrop idxP keyToIdxMe' keyToIdxSuffix, TyListTake idx idxToValue' idxToValuePrefix, TyListAppend prefix idxToValueSuffix idxToValue'1, Control.Concurrent.Session.Number.DecrementRightToLeft a'1 b', TyListDrop idxP idxToValueMe' idxToValueSuffix, TyListTake idx keyToIdxMe' keyToIdxPrefix, TyListAppend prefix (Cons (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)) idxToValueSuffix) idxToValue', Control.Concurrent.Session.Number.Reverse' b'1 E idxP, Control.Concurrent.Session.Number.Reverse' idx E a', TyListTake idx idxToValueMe' prefix, TyListIndex idxToValueMe' idx (SessionState prog1 prog'1 (current, fromO1, fromI1)), CreateSession invert init prog prog' fromO fromI progOut progIn sessionsToIdxMe sessionsToIdxThem idxsToPairStructsMe idxsToPairStructsThem keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' idxOfThem invertedSessionsMe invertedSessionsThem) => init -> invert -> Pid prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem -> SessionChain prog1 prog'1 (current, fromO1, fromI1) (Cons End Nil, outgoing, incoming) res -> InterleavedChain (InternalPid prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe) (TyMap keyToIdxMe idxToValueMe) (TyMap keyToIdx' idxToValue'1) res Control/Concurrent/Session/Interleaving.hs:315:0: Warning: Definition but no type signature for `forkThenClose' Inferred type: forkThenClose :: forall fromO fromI progOut progIn current current' currentUX currentUX' init invert sessionsList prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem keyToIdxChild' idxToValueChild' keyToIdxChild'' idxToValueChild'' keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' idxOfChild idxToValue' prefix idxP a' keyToIdxPrefix idxToValueSuffix b' idxToValuePrefix keyToIdxSuffix idxToValueSuffix1 b'1 a'1 b'' idx prog1 prog'1 current1 fromO1 fromI1 outgoing incoming res keyToIdx' idxToValue'1. (TyListIndex idxToValue' idx (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)), Control.Concurrent.Session.List.TyListElem' keyToIdxMe' (D0 E) idxOfChild idx, TyListAppend idxToValuePrefix idxToValueSuffix1 idxToValue'1, TyListAppend keyToIdxPrefix keyToIdxSuffix keyToIdx', Control.Concurrent.Session.Number.StripLeadingZeros b'' idx, Control.Concurrent.Session.Number.Reverse' b' E b'', Control.Concurrent.Session.Number.Reverse' idxP E a'1, Control.Concurrent.Session.Number.IncrementRightToLeft a' b'1, TyListDrop idxP idxToValue' idxToValueSuffix1, TyListDrop idxP keyToIdxMe' keyToIdxSuffix, TyListTake idx idxToValue' idxToValuePrefix, TyListAppend prefix idxToValueSuffix idxToValue'1, Control.Concurrent.Session.Number.DecrementRightToLeft a'1 b', TyListDrop idxP idxToValueMe' idxToValueSuffix, TyListTake idx keyToIdxMe' keyToIdxPrefix, TyListAppend prefix (Cons (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)) idxToValueSuffix) idxToValue', Control.Concurrent.Session.Number.Reverse' b'1 E idxP, Control.Concurrent.Session.Number.Reverse' idx E a', TyListTake idx idxToValueMe' prefix, TyListIndex idxToValueMe' idx (SessionState prog1 prog'1 (current1, fromO1, fromI1)), Fork invert init sessionsList prog prog' sessionsToIdxThem idxsToPairStructsThem sessionsToIdxMe idxsToPairStructsMe fromO fromI progOut progIn keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' keyToIdxChild' idxToValueChild' keyToIdxChild'' idxToValueChild'' idxOfChild current current' currentUX currentUX' invertedSessionsMe invertedSessionsThem) => init -> invert -> sessionsList -> (D0 E -> Pid prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe -> InterleavedChain (InternalPid prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem) (TyMap keyToIdxChild' idxToValueChild') (TyMap keyToIdxChild'' idxToValueChild'') ()) -> SessionChain prog1 prog'1 (current1, fromO1, fromI1) (Cons End Nil, outgoing, incoming) res -> InterleavedChain (InternalPid prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe) (TyMap keyToIdxMe idxToValueMe) (TyMap keyToIdx' idxToValue'1) (res, Pid prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem) [11 of 11] Compiling Control.Concurrent.Session ( Control/Concurrent/Session.hs, dist/build/Control/Concurrent/Session.o ) Linking... /usr/bin/ar q dist/build/libHSsessions-2008.5.6.a dist/build/Control/Concurrent/Session.o dist/build/Control/Concurrent/Session/Runtime.o dist/build/Control/Concurrent/Session/SessionType.o dist/build/Control/Concurrent/Session/SessionTypeMonad.o dist/build/Control/Concurrent/Session/SMonad.o dist/build/Control/Concurrent/Session/List.o dist/build/Control/Concurrent/Session/Number.o dist/build/Control/Concurrent/Session/Map.o dist/build/Control/Concurrent/Session/Interleaving.o dist/build/Control/Concurrent/Session/Pid.o dist/build/Control/Concurrent/Session/Bool.o /usr/bin/ar: creating dist/build/libHSsessions-2008.5.6.a /usr/bin/ld -x -r -o dist/build/HSsessions-2008.5.6.o.tmp dist/build/Control/Concurrent/Session.o dist/build/Control/Concurrent/Session/Runtime.o dist/build/Control/Concurrent/Session/SessionType.o dist/build/Control/Concurrent/Session/SessionTypeMonad.o dist/build/Control/Concurrent/Session/SMonad.o dist/build/Control/Concurrent/Session/List.o dist/build/Control/Concurrent/Session/Number.o dist/build/Control/Concurrent/Session/Map.o dist/build/Control/Concurrent/Session/Interleaving.o dist/build/Control/Concurrent/Session/Pid.o dist/build/Control/Concurrent/Session/Bool.o *** setup haddock Creating dist/doc/html/sessions (and its parents) Preprocessing library sessions-2008.5.6... Running hscolour for sessions-2008.5.6... Creating dist/doc/html/sessions/src (and its parents) /usr/local/bin/HsColour -print-css -odist/doc/html/sessions/src/hscolour.css /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session.html Control/Concurrent/Session.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-Runtime.html Control/Concurrent/Session/Runtime.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-SessionType.html Control/Concurrent/Session/SessionType.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-SessionTypeMonad.html Control/Concurrent/Session/SessionTypeMonad.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-SMonad.html Control/Concurrent/Session/SMonad.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-List.html Control/Concurrent/Session/List.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-Number.html Control/Concurrent/Session/Number.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-Map.html Control/Concurrent/Session/Map.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-Interleaving.html Control/Concurrent/Session/Interleaving.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-Pid.html Control/Concurrent/Session/Pid.hs /usr/local/bin/HsColour -css -anchor -odist/doc/html/sessions/src/Control-Concurrent-Session-Bool.html Control/Concurrent/Session/Bool.hs Creating dist/build/tmp (and its parents) Creating dist/doc/html/sessions (and its parents) Preprocessing library sessions-2008.5.6... Running Haddock for sessions-2008.5.6... /usr/local/bin/haddock --use-contents=http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sessions-2008.5.6 --ghc-version /usr/local/bin/ghc --print-libdir Creating dist/build (and its parents) Creating dist/build/autogen (and its parents) Preprocessing library sessions-2008.5.6... /usr/local/bin/haddock --use-contents=http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sessions-2008.5.6 --html --odir=dist/doc/html/sessions --title=sessions-2008.5.6: Session Types for Haskell --dump-interface=dist/doc/html/sessions/sessions.haddock --prologue=dist/sessions-2008.5.6-haddock-prolog8285.txt --optghc=-package-name --optghc=sessions-2008.5.6 --source-module=src/%{MODULE/./-}.html --source-entity=src/%{MODULE/./-}.html#%{NAME} --read-interface=http://hackage.haskell.org/packages/archive/base/3.0.1.0/doc/html,/usr/local/share/doc/ghc/libraries/base/base.haddock --read-interface=http://hackage.haskell.org/packages/archive/mtl/1.1.0.1/doc/html,/usr/local/tmp/archive/install/share/doc/mtl-1.1.0.1/html/mtl.haddock --read-interface=http://hackage.haskell.org/packages/archive/containers/0.1.0.1/doc/html,/usr/local/share/doc/ghc/libraries/containers/containers.haddock --use-contents=http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sessions-2008.5.6 -B/usr/local/lib/ghc-6.8.2 --optghc=-hide-all-packages --optghc=-package --optghc=base-3.0.1.0 --optghc=-package --optghc=mtl-1.1.0.1 --optghc=-package --optghc=containers-0.1.0.1 --optghc=-i --optghc=-Wall --optghc=-fno-warn-name-shadowing --optghc=-fno-warn-orphans --optghc=-idist/build/autogen --optghc=-i. --optghc=-idist/build --optghc=-odir --optghc=dist/build --optghc=-hidir --optghc=dist/build Control.Concurrent.Session Control.Concurrent.Session.Runtime Control.Concurrent.Session.SessionType Control.Concurrent.Session.SessionTypeMonad Control.Concurrent.Session.SMonad Control.Concurrent.Session.List Control.Concurrent.Session.Number Control.Concurrent.Session.Map Control.Concurrent.Session.Interleaving Control.Concurrent.Session.Pid Control.Concurrent.Session.Bool Control/Concurrent/Session/Interleaving.hs:313:0: Warning: Definition but no type signature for `withThenClose' Inferred type: withThenClose :: forall idx current fromO fromI res pidProg pidProg' invertedSessions sessionsToIdx idxsToPairStructs keyToIdx idxToValue idxToValue' prog prog' outgoing incoming keyToIdx' idxToValue'1 prefix idxP a' keyToIdxPrefix idxToValueSuffix b' idxToValuePrefix keyToIdxSuffix idxToValueSuffix1 b'1 a'1 b'' idx1. (TyListIndex idxToValue idx1 (SessionState prog prog' (current, fromO, fromI)), TyListTake idx1 idxToValue prefix, Control.Concurrent.Session.Number.Reverse' idx1 E a', Control.Concurrent.Session.Number.Reverse' b'1 E idxP, TyListAppend prefix (Cons (SessionState prog prog' (Cons End Nil, outgoing, incoming)) idxToValueSuffix) idxToValue', TyListTake idx1 keyToIdx keyToIdxPrefix, TyListDrop idxP idxToValue idxToValueSuffix, Control.Concurrent.Session.Number.DecrementRightToLeft a'1 b', TyListAppend prefix idxToValueSuffix idxToValue'1, TyListTake idx1 idxToValue' idxToValuePrefix, TyListDrop idxP keyToIdx keyToIdxSuffix, TyListDrop idxP idxToValue' idxToValueSuffix1, Control.Concurrent.Session.Number.IncrementRightToLeft a' b'1, Control.Concurrent.Session.Number.Reverse' idxP E a'1, Control.Concurrent.Session.Number.Reverse' b' E b'', Control.Concurrent.Session.Number.StripLeadingZeros b'' idx1, TyListAppend keyToIdxPrefix keyToIdxSuffix keyToIdx', TyListAppend idxToValuePrefix idxToValueSuffix1 idxToValue'1, Control.Concurrent.Session.List.TyListElem' keyToIdx (D0 E) idx idx1, TyListIndex idxToValue' idx1 (SessionState prog prog' (Cons End Nil, outgoing, incoming))) => idx -> SessionChain prog prog' (current, fromO, fromI) (Cons End Nil, outgoing, incoming) res -> InterleavedChain (InternalPid pidProg pidProg' invertedSessions sessionsToIdx idxsToPairStructs) (TyMap keyToIdx idxToValue) (TyMap keyToIdx' idxToValue'1) res Control/Concurrent/Session/Interleaving.hs:314:0: Warning: Definition but no type signature for `createSessionThenClose' Inferred type: createSessionThenClose :: forall fromO fromI progOut progIn init invert prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' idxOfThem idxToValue' prefix idxP a' keyToIdxPrefix idxToValueSuffix b' idxToValuePrefix keyToIdxSuffix idxToValueSuffix1 b'1 a'1 b'' idx prog1 prog'1 current fromO1 fromI1 outgoing incoming res keyToIdx' idxToValue'1. (TyListIndex idxToValue' idx (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)), Control.Concurrent.Session.List.TyListElem' keyToIdxMe' (D0 E) idxOfThem idx, TyListAppend idxToValuePrefix idxToValueSuffix1 idxToValue'1, TyListAppend keyToIdxPrefix keyToIdxSuffix keyToIdx', Control.Concurrent.Session.Number.StripLeadingZeros b'' idx, Control.Concurrent.Session.Number.Reverse' b' E b'', Control.Concurrent.Session.Number.Reverse' idxP E a'1, Control.Concurrent.Session.Number.IncrementRightToLeft a' b'1, TyListDrop idxP idxToValue' idxToValueSuffix1, TyListDrop idxP keyToIdxMe' keyToIdxSuffix, TyListTake idx idxToValue' idxToValuePrefix, TyListAppend prefix idxToValueSuffix idxToValue'1, Control.Concurrent.Session.Number.DecrementRightToLeft a'1 b', TyListDrop idxP idxToValueMe' idxToValueSuffix, TyListTake idx keyToIdxMe' keyToIdxPrefix, TyListAppend prefix (Cons (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)) idxToValueSuffix) idxToValue', Control.Concurrent.Session.Number.Reverse' b'1 E idxP, Control.Concurrent.Session.Number.Reverse' idx E a', TyListTake idx idxToValueMe' prefix, TyListIndex idxToValueMe' idx (SessionState prog1 prog'1 (current, fromO1, fromI1)), CreateSession invert init prog prog' fromO fromI progOut progIn sessionsToIdxMe sessionsToIdxThem idxsToPairStructsMe idxsToPairStructsThem keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' idxOfThem invertedSessionsMe invertedSessionsThem) => init -> invert -> Pid prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem -> SessionChain prog1 prog'1 (current, fromO1, fromI1) (Cons End Nil, outgoing, incoming) res -> InterleavedChain (InternalPid prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe) (TyMap keyToIdxMe idxToValueMe) (TyMap keyToIdx' idxToValue'1) res Control/Concurrent/Session/Interleaving.hs:315:0: Warning: Definition but no type signature for `forkThenClose' Inferred type: forkThenClose :: forall fromO fromI progOut progIn current current' currentUX currentUX' init invert sessionsList prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem keyToIdxChild' idxToValueChild' keyToIdxChild'' idxToValueChild'' keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' idxOfChild idxToValue' prefix idxP a' keyToIdxPrefix idxToValueSuffix b' idxToValuePrefix keyToIdxSuffix idxToValueSuffix1 b'1 a'1 b'' idx prog1 prog'1 current1 fromO1 fromI1 outgoing incoming res keyToIdx' idxToValue'1. (TyListIndex idxToValue' idx (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)), Control.Concurrent.Session.List.TyListElem' keyToIdxMe' (D0 E) idxOfChild idx, TyListAppend idxToValuePrefix idxToValueSuffix1 idxToValue'1, TyListAppend keyToIdxPrefix keyToIdxSuffix keyToIdx', Control.Concurrent.Session.Number.StripLeadingZeros b'' idx, Control.Concurrent.Session.Number.Reverse' b' E b'', Control.Concurrent.Session.Number.Reverse' idxP E a'1, Control.Concurrent.Session.Number.IncrementRightToLeft a' b'1, TyListDrop idxP idxToValue' idxToValueSuffix1, TyListDrop idxP keyToIdxMe' keyToIdxSuffix, TyListTake idx idxToValue' idxToValuePrefix, TyListAppend prefix idxToValueSuffix idxToValue'1, Control.Concurrent.Session.Number.DecrementRightToLeft a'1 b', TyListDrop idxP idxToValueMe' idxToValueSuffix, TyListTake idx keyToIdxMe' keyToIdxPrefix, TyListAppend prefix (Cons (SessionState prog1 prog'1 (Cons End Nil, outgoing, incoming)) idxToValueSuffix) idxToValue', Control.Concurrent.Session.Number.Reverse' b'1 E idxP, Control.Concurrent.Session.Number.Reverse' idx E a', TyListTake idx idxToValueMe' prefix, TyListIndex idxToValueMe' idx (SessionState prog1 prog'1 (current1, fromO1, fromI1)), Fork invert init sessionsList prog prog' sessionsToIdxThem idxsToPairStructsThem sessionsToIdxMe idxsToPairStructsMe fromO fromI progOut progIn keyToIdxMe idxToValueMe keyToIdxMe' idxToValueMe' keyToIdxChild' idxToValueChild' keyToIdxChild'' idxToValueChild'' idxOfChild current current' currentUX currentUX' invertedSessionsMe invertedSessionsThem) => init -> invert -> sessionsList -> (D0 E -> Pid prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe -> InterleavedChain (InternalPid prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem) (TyMap keyToIdxChild' idxToValueChild') (TyMap keyToIdxChild'' idxToValueChild'') ()) -> SessionChain prog1 prog'1 (current1, fromO1, fromI1) (Cons End Nil, outgoing, incoming) res -> InterleavedChain (InternalPid prog prog' invertedSessionsMe sessionsToIdxMe idxsToPairStructsMe) (TyMap keyToIdxMe idxToValueMe) (TyMap keyToIdx' idxToValue'1) (res, Pid prog prog' invertedSessionsThem sessionsToIdxThem idxsToPairStructsThem) haddock: internal Haddock or GHC error: src/Haddock/Interface/AttachInstances.hs:(125,0)-(126,47): Non-exhaustive patterns in function toHsPred