From fe910358e93e86a80afcc46ff4788af906d6ecd4 Mon Sep 17 00:00:00 2001 From: agocorona Date: Thu, 8 Feb 2018 13:00:08 +0100 Subject: [PATCH 1/4] added fibers --- imaginary/fibers-dev | 1 + imaginary/fibers-new | 1 + 2 files changed, 2 insertions(+) create mode 160000 imaginary/fibers-dev create mode 160000 imaginary/fibers-new diff --git a/imaginary/fibers-dev b/imaginary/fibers-dev new file mode 160000 index 0000000..915ba57 --- /dev/null +++ b/imaginary/fibers-dev @@ -0,0 +1 @@ +Subproject commit 915ba57c270f3a9dacc0c98f50f1be98c822c576 diff --git a/imaginary/fibers-new b/imaginary/fibers-new new file mode 160000 index 0000000..c1d598a --- /dev/null +++ b/imaginary/fibers-new @@ -0,0 +1 @@ +Subproject commit c1d598a29b8705ee042a02817cd33c6382ec356e From 22f6ea9489458a0175652738aa4901e12e385300 Mon Sep 17 00:00:00 2001 From: agocorona Date: Thu, 8 Feb 2018 17:38:52 +0100 Subject: [PATCH 2/4] added fibers --- fibers-dev/ChangeLog.md | 5 + fibers-dev/LICENSE | 30 + fibers-dev/Main.hs | 50 + fibers-dev/Setup.hs | 2 + fibers-dev/desktop.ini | 5 + ...-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap | 1 + ...-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap | 1 + fibers-dev/dist/build/Main/Main | 14 + .../eta/fibers/PrimOps$EmptyException.class | Bin 0 -> 304 bytes .../Main-tmp/classes/eta/fibers/PrimOps.class | Bin 0 -> 4772 bytes .../build/Main/autogen/Paths_fibers_dev.hs | 39 + .../dist/build/Main/autogen/cabal_macros.h | 118 + .../dist/build/Main/install-launchers/Main | 14 + fibers-dev/dist/build/PingPong/PingPong | 14 + .../PingPong/autogen/Paths_eta_fibers_dev.hs | 39 + .../build/PingPong/autogen/cabal_macros.h | 118 + .../build/PingPong/install-launchers/PingPong | 14 + .../build/autogen/Paths_eta_fibers_dev.hs | 39 + .../dist/build/autogen/Paths_fibers_dev.hs | 39 + fibers-dev/dist/build/autogen/cabal_macros.h | 110 + .../eta/fibers/PrimOps$EmptyException.class | Bin 0 -> 304 bytes .../build/classes/eta/fibers/PrimOps.class | Bin 0 -> 4772 bytes .../src/Control/Concurrent/Fiber.dump-stg | 5 + .../Concurrent/Fiber/Internal.dump-stg | 4501 +++++++++++++++++ .../Control/Concurrent/Fiber/MVar.dump-stg | 289 ++ .../autogen/Paths_eta_fibers_dev.hs | 39 + .../build/threadring/autogen/cabal_macros.h | 118 + .../threadring/install-launchers/threadring | 14 + fibers-dev/dist/build/threadring/threadring | 14 + fibers-dev/dist/etlas-config-flags | Bin 0 -> 114 bytes ...rs-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf | 26 + .../dist/package.conf.inplace/package.cache | Bin 0 -> 2171 bytes fibers-dev/dist/setup-config | Bin 0 -> 53264 bytes fibers-dev/fibers-dev.cabal | 41 + fibers-dev/prim/PrimOps.java | 157 + fibers-dev/prim/desktop.ini | 5 + fibers-dev/src/Control/Concurrent/Fiber.hs | 28 + .../src/Control/Concurrent/Fiber/Internal.hs | 360 ++ .../src/Control/Concurrent/Fiber/MVar.hs | 36 + .../src/Control/Concurrent/Fiber/desktop.ini | 5 + fibers-dev/src/Control/Concurrent/desktop.ini | 5 + fibers-dev/src/Control/desktop.ini | 5 + fibers-new/LICENSE | 30 + fibers-new/Main.hs | 50 + fibers-new/README | 1 + fibers-new/Setup.hs | 2 + fibers-new/fibers-new.cabal | 50 + fibers-new/prim/PrimOps.java | 42 + fibers-new/prim/desktop.ini | 5 + fibers-new/src/Control/Concurrent/Fiber.hs | 679 +++ fibers-new/src/Control/Concurrent/Fiber.o | Bin 0 -> 103600 bytes .../src/Control/Concurrent/Fiber/MVar.hs | 51 + .../src/Control/Concurrent/Fiber/desktop.ini | 5 + fibers-new/src/Control/Concurrent/Fiber2.hs | 708 +++ fibers-new/src/Control/Concurrent/desktop.ini | 5 + fibers-new/src/Control/desktop.ini | 5 + fibers-new/src/desktop.ini | 5 + imaginary/fibers-dev | 1 - imaginary/fibers-new | 1 - 59 files changed, 7938 insertions(+), 2 deletions(-) create mode 100644 fibers-dev/ChangeLog.md create mode 100644 fibers-dev/LICENSE create mode 100644 fibers-dev/Main.hs create mode 100644 fibers-dev/Setup.hs create mode 100644 fibers-dev/desktop.ini create mode 100644 fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap create mode 100644 fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap create mode 100644 fibers-dev/dist/build/Main/Main create mode 100644 fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class create mode 100644 fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class create mode 100644 fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs create mode 100644 fibers-dev/dist/build/Main/autogen/cabal_macros.h create mode 100644 fibers-dev/dist/build/Main/install-launchers/Main create mode 100644 fibers-dev/dist/build/PingPong/PingPong create mode 100644 fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs create mode 100644 fibers-dev/dist/build/PingPong/autogen/cabal_macros.h create mode 100644 fibers-dev/dist/build/PingPong/install-launchers/PingPong create mode 100644 fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs create mode 100644 fibers-dev/dist/build/autogen/Paths_fibers_dev.hs create mode 100644 fibers-dev/dist/build/autogen/cabal_macros.h create mode 100644 fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class create mode 100644 fibers-dev/dist/build/classes/eta/fibers/PrimOps.class create mode 100644 fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg create mode 100644 fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg create mode 100644 fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg create mode 100644 fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs create mode 100644 fibers-dev/dist/build/threadring/autogen/cabal_macros.h create mode 100644 fibers-dev/dist/build/threadring/install-launchers/threadring create mode 100644 fibers-dev/dist/build/threadring/threadring create mode 100644 fibers-dev/dist/etlas-config-flags create mode 100644 fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf create mode 100644 fibers-dev/dist/package.conf.inplace/package.cache create mode 100644 fibers-dev/dist/setup-config create mode 100644 fibers-dev/fibers-dev.cabal create mode 100644 fibers-dev/prim/PrimOps.java create mode 100644 fibers-dev/prim/desktop.ini create mode 100644 fibers-dev/src/Control/Concurrent/Fiber.hs create mode 100644 fibers-dev/src/Control/Concurrent/Fiber/Internal.hs create mode 100644 fibers-dev/src/Control/Concurrent/Fiber/MVar.hs create mode 100644 fibers-dev/src/Control/Concurrent/Fiber/desktop.ini create mode 100644 fibers-dev/src/Control/Concurrent/desktop.ini create mode 100644 fibers-dev/src/Control/desktop.ini create mode 100644 fibers-new/LICENSE create mode 100644 fibers-new/Main.hs create mode 100644 fibers-new/README create mode 100644 fibers-new/Setup.hs create mode 100644 fibers-new/fibers-new.cabal create mode 100644 fibers-new/prim/PrimOps.java create mode 100644 fibers-new/prim/desktop.ini create mode 100644 fibers-new/src/Control/Concurrent/Fiber.hs create mode 100644 fibers-new/src/Control/Concurrent/Fiber.o create mode 100644 fibers-new/src/Control/Concurrent/Fiber/MVar.hs create mode 100644 fibers-new/src/Control/Concurrent/Fiber/desktop.ini create mode 100644 fibers-new/src/Control/Concurrent/Fiber2.hs create mode 100644 fibers-new/src/Control/Concurrent/desktop.ini create mode 100644 fibers-new/src/Control/desktop.ini create mode 100644 fibers-new/src/desktop.ini delete mode 160000 imaginary/fibers-dev delete mode 160000 imaginary/fibers-new diff --git a/fibers-dev/ChangeLog.md b/fibers-dev/ChangeLog.md new file mode 100644 index 0000000..c4492b7 --- /dev/null +++ b/fibers-dev/ChangeLog.md @@ -0,0 +1,5 @@ +# Revision history for eta-fibers + +## 0.1.0.0 -- YYYY-mm-dd + +* First version. Released on an unsuspecting world. diff --git a/fibers-dev/LICENSE b/fibers-dev/LICENSE new file mode 100644 index 0000000..56cc0bf --- /dev/null +++ b/fibers-dev/LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2017, Rahul Muttineni + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Rahul Muttineni nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/fibers-dev/Main.hs b/fibers-dev/Main.hs new file mode 100644 index 0000000..058b071 --- /dev/null +++ b/fibers-dev/Main.hs @@ -0,0 +1,50 @@ +import Control.Monad +import Control.Concurrent.MVar hiding (takeMVar, putMVar) +import qualified Control.Concurrent.MVar as MVar +import Control.Concurrent.Fiber +import Control.Concurrent.Fiber.MVar +import System.Environment +import GHC.Conc.Sync hiding (yield) +import GHC.Conc.IO +import Java + +import Control.Monad.IO.Class + +ring = 503 + +new l i = do + r <- newEmptyMVar + ret <- newEmptyMVar + forkFiber (thread ret i l r) + return (r, ret) + +thread :: MVar Int -> Int -> MVar Int -> MVar Int -> Fiber () +thread ret i l r = go + where go = do + m <- takeMVar l + putMVar r $! m - 1 + if (m < 1) + then putMVar ret m + else go + +threadring :: Int -> Int -> IO JIntArray +threadring ring msgs = do + setNumCapabilities 1 + a <- newMVar msgs + ret <- newEmptyMVar + (z, xs) <- foldM (\(prev, xs) i -> do + (r, ret) <- new prev i + return (r, ret:xs)) + (a, []) [2..ring] + forkFiber (thread ret 1 z a) + ints <- mapM MVar.takeMVar (reverse (ret : xs)) + return $ toJava ints + +foreign export java "@static eta.threadring.ThreadRing.start" + threadring :: Int -> Int -> IO JIntArray + +main :: IO () +main = do + msgs <- fmap (read . head) getArgs + threadring ring msgs + return () diff --git a/fibers-dev/Setup.hs b/fibers-dev/Setup.hs new file mode 100644 index 0000000..9a994af --- /dev/null +++ b/fibers-dev/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/fibers-dev/desktop.ini b/fibers-dev/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-dev/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap b/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap new file mode 100644 index 0000000..2cb54cd --- /dev/null +++ b/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap @@ -0,0 +1 @@ +java.util.Stack,Stack,Control.Concurrent.Fiber.Internal diff --git a/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap b/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap new file mode 100644 index 0000000..2cb54cd --- /dev/null +++ b/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap @@ -0,0 +1 @@ +java.util.Stack,Stack,Control.Concurrent.Fiber.Internal diff --git a/fibers-dev/dist/build/Main/Main b/fibers-dev/dist/build/Main/Main new file mode 100644 index 0000000..93f4825 --- /dev/null +++ b/fibers-dev/dist/build/Main/Main @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +if [ -z "$ETA_JAVA_CMD" ]; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" + else + ETA_JAVA_CMD="$JAVA_HOME/bin/java" + fi + else + ETA_JAVA_CMD="java" + fi +fi +$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/Main.jar:$DIR/../HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class b/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class new file mode 100644 index 0000000000000000000000000000000000000000..ccd2dc686d206c6281f8c2c507a6b3918fc44a65 GIT binary patch literal 304 zcmZWkO-lk%6g_v;nH(oA_bn6`<-%FGjW%KsLHRM`cpBOW`%#BzAd@%IyZ#&e<8Us zhV5jnoMT7mS2JvByv{h~-@bJ2pZ^T$9xg%;f&5h&iOWe6Lt$ro4m5^a&}N^GB!(ha T$pA-!0h(wF#-avj;TX+t#c@Sg literal 0 HcmV?d00001 diff --git a/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class b/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class new file mode 100644 index 0000000000000000000000000000000000000000..951d3fe645f3a4a84e6377da9f2be1d93a171318 GIT binary patch literal 4772 zcma)A3tJS|8GZ*=W_K9TphOTv@K)}an&u+b1hNy_cpOh?coI*kcv{03@r(># z((o+4EGl2oPzF=QSLF!PkLUcjRTQ6B@wEUEecg{2G`xtHG&JL^V0>A{D=J=9P|-7) zw5NMch0UZLO~e)Gp?KW1f-xhNGE=hOKQwx{=k8$7&}e9IK*82N(>6Nqi;kIAs&mMS zP7Wqh+ZG$?QsB2!iJmDlZY!wmJ8n!FooPE7>kLJ>6t$=CG*T1&Mv{Vok?45bu+x^Q zVE@XJdz@3PG_@zq&XhggIXW`fRj?S0B~moiwU?I5Ei;v#G5InAf%GKRM~$%n{&Y~VPyBUlb@$t^VvEydgW+L>IX^-a4Yba_VB#~2jAoELbyNU`Ix-V7Xo+z1c zK(nrj8VMC*UNNcyP9r#{w1dQVb5YZU_%az~P#G21jDlN=S}BeuV#cy)%4sv0wk$Ro zu?3Rp)WiU*k#m1Ck@TkJ#Gez=xsewtZ8~bkB2Le!c#Tb9L?ZnM4XZDjvQ6@Wf<6B~ z)^H*ocF}Z-4W}vA87GYsW<1{}S;oI79CLb*gvAJtB+^!xJtIx0dmPgtETW?edvr4L zjjU%K-^S~#XdU0dcXhmh5e1DONlrSxhusP`h+saSc$v{L153sCb^HK7RIu^riqY5c z3EZUPM|e}mj|IR_@KYV<CAV3sSMh5d z@8bg(3=ai{e(zB6 z7af1a-*o(4>fs;wr-DlH+{Kl-m&n1nLtQ>%O7kNmH%X4R33BNs35Df(Xu`0ieH7F! zBd{&Et$87E)T#<<$D=0+nZr$_MFk2ew#-N-W7A}pa?e1JB5dKTzE~oBLP7m<>B#0z zz8G9_r%j0RWH#xlS9c1km!{uCOAb?*O3ln`+Z&7cRsbdA^^yu>{xcNnv@k!&9EQ$z z5Sc75{H_CiiLeo)KUKL*a7mob z0?XVPjLn8+vgh`KL)aM}&O4O3^c*K%sh82j9kIli5gSg&52VdB%gDzogJ~@nmhi%- z;I{nw9I>rvd_2ECy_I6MRBBpux5|xBG$C9fWyM08WK3NaTfEEQRMk#9KcH=A{*9-WC!FdU8;X9e1^YvWgCCKrU zeA~pQ!sn`%OHj^pqF^t_GH0=lO1I&5&PBA2PZ9OaqU7Brl3OU*jeVZv86H?hiES+x zQ996m5x$#ztu6Cdb#C{n_A1{TeC=&>P}`g(>Xc(GuA@eYb9Oyc>Tbs>?BGrlcbc&d zEp)6E^=LzoyERa*abuN=PpRl}{(6Z{#T^84Cqf>O20jI{Uw{zCo1Eu6xQo(vVZSHc z%_B=F(dbFP4S%0I4V1Q)dW#FtTF+(8R50LRSj!pG%?xS)edzbhZKp9Y7ZA-_I-Luz z=4^EH2jD)c3}Dbx$z_8oxl`P1^ip&P2RzXrP55YivsiDtf^z=N<<64TcE&h&W~C#3 z7b@uQ^@Lf^a|0O0h-YxfgWEU@U9{)1`U(Tk`T@#YO6O29!zeO!6^{3Ard;n2(Bv?^ zA8|4hK*?2XWJY|nK8jC!)|(k93C3#Adh0ya9Lj-n19A{L4pHr3w&t3sBni~Bpw<>> z9bxp3QtMFmutkw?T@(fPpnDm4gDQ8gpfZo^mST%g#iYvNY`_*3*E}kh=4*n|N0yhq z2z9A+jM7K5(ucfcY?4g$F<9%)LUYofoO83_9q1-vqtk9l*6;lcp~cQfv1QWy{XgX- z#Si5w)~S#Z`b@S!-(XIpgu3OB{K^BK8v;OS5Q5R znmKHofyT)KY6oUfH;+wMP%mtd-@A_!$P?JW|2Nd(DQv~lq^4&`M9(^4I^dJuEoJYr zVSA-(d#_PHyHLUf6`#F|T9#26A>V^zUKwRG+v=9+=A~(Rj%j+HD)(kp?xAV%aucK2 z(BJkx{aQd{+W@`W(%-JkVav?5e~X!X4_=^&7qJ>IVGYibGG8X+yh3kYbv!7S8YlPk z{)e3;m6T!ACuu~=_2$bcJA4USFQDWywsE%o0(9j9YASbBery3voXueU{#mqC5|!{^ zyKey<=c!zcE#$st4^0a+nycs7KoqCB`vCVJrNo0|$A{2?hw*VdLZW}nL8hX_R57-e h>S4#F2)BWa%yb!Vh#TluHPs&B^9=v*^R3%!{s%c%uG0Vj literal 0 HcmV?d00001 diff --git a/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs b/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs new file mode 100644 index 0000000..9ef87a2 --- /dev/null +++ b/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs @@ -0,0 +1,39 @@ +{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} +{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} +module Paths_fibers_dev ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + +version :: Version +version = Version [0,1,0,0] [] +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath + +bindir = "/root/.etlas/bin" +libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" +dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3" +datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0" +libexecdir = "/root/.etlas/libexec" +sysconfdir = "/root/.etlas/etc" + +getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath +getBinDir = catchIO (getEnv "fibers_dev_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "fibers_dev_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "fibers_dev_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "fibers_dev_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "fibers_dev_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "fibers_dev_sysconfdir") (\_ -> return sysconfdir) + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir ++ "/" ++ name) diff --git a/fibers-dev/dist/build/Main/autogen/cabal_macros.h b/fibers-dev/dist/build/Main/autogen/cabal_macros.h new file mode 100644 index 0000000..0a176bc --- /dev/null +++ b/fibers-dev/dist/build/Main/autogen/cabal_macros.h @@ -0,0 +1,118 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package fibers-dev-0.1.0.0 */ +#ifndef VERSION_fibers_dev +#define VERSION_fibers_dev "0.1.0.0" +#endif /* VERSION_fibers_dev */ +#ifndef MIN_VERSION_fibers_dev +#define MIN_VERSION_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_fibers_dev */ + +/* package base-4.8.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.8.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 8 || \ + (major1) == 4 && (major2) == 8 && (minor) <= 2) +#endif /* MIN_VERSION_base */ + +/* package transformers-0.5.5.0 */ +#ifndef VERSION_transformers +#define VERSION_transformers "0.5.5.0" +#endif /* VERSION_transformers */ +#ifndef MIN_VERSION_transformers +#define MIN_VERSION_transformers(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 5 || \ + (major1) == 0 && (major2) == 5 && (minor) <= 5) +#endif /* MIN_VERSION_transformers */ + +/* package fibers-dev-0.1.0.0 */ +#ifndef VERSION_fibers_dev +#define VERSION_fibers_dev "0.1.0.0" +#endif /* VERSION_fibers_dev */ +#ifndef MIN_VERSION_fibers_dev +#define MIN_VERSION_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_fibers_dev */ + +/* tool eta-0.7.0.2 */ +#ifndef TOOL_VERSION_eta +#define TOOL_VERSION_eta "0.7.0.2" +#endif /* TOOL_VERSION_eta */ +#ifndef MIN_TOOL_VERSION_eta +#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta */ + +/* tool eta-pkg-0.7.0.2 */ +#ifndef TOOL_VERSION_eta_pkg +#define TOOL_VERSION_eta_pkg "0.7.0.2" +#endif /* TOOL_VERSION_eta_pkg */ +#ifndef MIN_TOOL_VERSION_eta_pkg +#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta_pkg */ + +/* tool git-2.11.0 */ +#ifndef TOOL_VERSION_git +#define TOOL_VERSION_git "2.11.0" +#endif /* TOOL_VERSION_git */ +#ifndef MIN_TOOL_VERSION_git +#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 11 || \ + (major1) == 2 && (major2) == 11 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_git */ + +/* tool jar-0 */ +#ifndef TOOL_VERSION_jar +#define TOOL_VERSION_jar "0" +#endif /* TOOL_VERSION_jar */ +#ifndef MIN_TOOL_VERSION_jar +#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 0 || \ + (major1) == 0 && (major2) == 0 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_jar */ + +/* tool java-1.8.0.151 */ +#ifndef TOOL_VERSION_java +#define TOOL_VERSION_java "1.8.0.151" +#endif /* TOOL_VERSION_java */ +#ifndef MIN_TOOL_VERSION_java +#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_java */ + +/* tool javac-1.8.0.151 */ +#ifndef TOOL_VERSION_javac +#define TOOL_VERSION_javac "1.8.0.151" +#endif /* TOOL_VERSION_javac */ +#ifndef MIN_TOOL_VERSION_javac +#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_javac */ + +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq-Main" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/fibers-dev/dist/build/Main/install-launchers/Main b/fibers-dev/dist/build/Main/install-launchers/Main new file mode 100644 index 0000000..ad3fc2a --- /dev/null +++ b/fibers-dev/dist/build/Main/install-launchers/Main @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +if [ -z "$ETA_JAVA_CMD" ]; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" + else + ETA_JAVA_CMD="$JAVA_HOME/bin/java" + fi + else + ETA_JAVA_CMD="java" + fi +fi +$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/Main.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/fibers-dev/dist/build/PingPong/PingPong b/fibers-dev/dist/build/PingPong/PingPong new file mode 100644 index 0000000..f9e61d3 --- /dev/null +++ b/fibers-dev/dist/build/PingPong/PingPong @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +if [ -z "$ETA_JAVA_CMD" ]; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" + else + ETA_JAVA_CMD="$JAVA_HOME/bin/java" + fi + else + ETA_JAVA_CMD="java" + fi +fi +$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/PingPong.jar:$DIR/../HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs b/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs new file mode 100644 index 0000000..a3a380a --- /dev/null +++ b/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs @@ -0,0 +1,39 @@ +{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} +{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} +module Paths_eta_fibers_dev ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + +version :: Version +version = Version [0,1,0,0] [] +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath + +bindir = "/root/.etlas/bin" +libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq" +dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3" +datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0" +libexecdir = "/root/.etlas/libexec" +sysconfdir = "/root/.etlas/etc" + +getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath +getBinDir = catchIO (getEnv "eta_fibers_dev_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "eta_fibers_dev_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "eta_fibers_dev_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "eta_fibers_dev_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "eta_fibers_dev_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "eta_fibers_dev_sysconfdir") (\_ -> return sysconfdir) + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir ++ "/" ++ name) diff --git a/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h b/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h new file mode 100644 index 0000000..e7e5193 --- /dev/null +++ b/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h @@ -0,0 +1,118 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package eta-fibers-dev-0.1.0.0 */ +#ifndef VERSION_eta_fibers_dev +#define VERSION_eta_fibers_dev "0.1.0.0" +#endif /* VERSION_eta_fibers_dev */ +#ifndef MIN_VERSION_eta_fibers_dev +#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_eta_fibers_dev */ + +/* package base-4.8.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.8.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 8 || \ + (major1) == 4 && (major2) == 8 && (minor) <= 2) +#endif /* MIN_VERSION_base */ + +/* package transformers-0.5.5.0 */ +#ifndef VERSION_transformers +#define VERSION_transformers "0.5.5.0" +#endif /* VERSION_transformers */ +#ifndef MIN_VERSION_transformers +#define MIN_VERSION_transformers(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 5 || \ + (major1) == 0 && (major2) == 5 && (minor) <= 5) +#endif /* MIN_VERSION_transformers */ + +/* package eta-fibers-dev-0.1.0.0 */ +#ifndef VERSION_eta_fibers_dev +#define VERSION_eta_fibers_dev "0.1.0.0" +#endif /* VERSION_eta_fibers_dev */ +#ifndef MIN_VERSION_eta_fibers_dev +#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_eta_fibers_dev */ + +/* tool eta-0.7.0.1 */ +#ifndef TOOL_VERSION_eta +#define TOOL_VERSION_eta "0.7.0.1" +#endif /* TOOL_VERSION_eta */ +#ifndef MIN_TOOL_VERSION_eta +#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta */ + +/* tool eta-pkg-0.7.0.1 */ +#ifndef TOOL_VERSION_eta_pkg +#define TOOL_VERSION_eta_pkg "0.7.0.1" +#endif /* TOOL_VERSION_eta_pkg */ +#ifndef MIN_TOOL_VERSION_eta_pkg +#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta_pkg */ + +/* tool git-2.11.0 */ +#ifndef TOOL_VERSION_git +#define TOOL_VERSION_git "2.11.0" +#endif /* TOOL_VERSION_git */ +#ifndef MIN_TOOL_VERSION_git +#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 11 || \ + (major1) == 2 && (major2) == 11 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_git */ + +/* tool jar-0 */ +#ifndef TOOL_VERSION_jar +#define TOOL_VERSION_jar "0" +#endif /* TOOL_VERSION_jar */ +#ifndef MIN_TOOL_VERSION_jar +#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 0 || \ + (major1) == 0 && (major2) == 0 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_jar */ + +/* tool java-1.8.0.151 */ +#ifndef TOOL_VERSION_java +#define TOOL_VERSION_java "1.8.0.151" +#endif /* TOOL_VERSION_java */ +#ifndef MIN_TOOL_VERSION_java +#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_java */ + +/* tool javac-1.8.0.151 */ +#ifndef TOOL_VERSION_javac +#define TOOL_VERSION_javac "1.8.0.151" +#endif /* TOOL_VERSION_javac */ +#ifndef MIN_TOOL_VERSION_javac +#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_javac */ + +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq-PingPong" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/fibers-dev/dist/build/PingPong/install-launchers/PingPong b/fibers-dev/dist/build/PingPong/install-launchers/PingPong new file mode 100644 index 0000000..b41c7ad --- /dev/null +++ b/fibers-dev/dist/build/PingPong/install-launchers/PingPong @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +if [ -z "$ETA_JAVA_CMD" ]; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" + else + ETA_JAVA_CMD="$JAVA_HOME/bin/java" + fi + else + ETA_JAVA_CMD="java" + fi +fi +$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/PingPong.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs b/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs new file mode 100644 index 0000000..a3a380a --- /dev/null +++ b/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs @@ -0,0 +1,39 @@ +{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} +{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} +module Paths_eta_fibers_dev ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + +version :: Version +version = Version [0,1,0,0] [] +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath + +bindir = "/root/.etlas/bin" +libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq" +dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3" +datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0" +libexecdir = "/root/.etlas/libexec" +sysconfdir = "/root/.etlas/etc" + +getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath +getBinDir = catchIO (getEnv "eta_fibers_dev_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "eta_fibers_dev_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "eta_fibers_dev_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "eta_fibers_dev_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "eta_fibers_dev_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "eta_fibers_dev_sysconfdir") (\_ -> return sysconfdir) + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir ++ "/" ++ name) diff --git a/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs b/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs new file mode 100644 index 0000000..9ef87a2 --- /dev/null +++ b/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs @@ -0,0 +1,39 @@ +{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} +{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} +module Paths_fibers_dev ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + +version :: Version +version = Version [0,1,0,0] [] +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath + +bindir = "/root/.etlas/bin" +libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" +dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3" +datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0" +libexecdir = "/root/.etlas/libexec" +sysconfdir = "/root/.etlas/etc" + +getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath +getBinDir = catchIO (getEnv "fibers_dev_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "fibers_dev_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "fibers_dev_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "fibers_dev_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "fibers_dev_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "fibers_dev_sysconfdir") (\_ -> return sysconfdir) + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir ++ "/" ++ name) diff --git a/fibers-dev/dist/build/autogen/cabal_macros.h b/fibers-dev/dist/build/autogen/cabal_macros.h new file mode 100644 index 0000000..9e72a6c --- /dev/null +++ b/fibers-dev/dist/build/autogen/cabal_macros.h @@ -0,0 +1,110 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package fibers-dev-0.1.0.0 */ +#ifndef VERSION_fibers_dev +#define VERSION_fibers_dev "0.1.0.0" +#endif /* VERSION_fibers_dev */ +#ifndef MIN_VERSION_fibers_dev +#define MIN_VERSION_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_fibers_dev */ + +/* package base-4.8.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.8.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 8 || \ + (major1) == 4 && (major2) == 8 && (minor) <= 2) +#endif /* MIN_VERSION_base */ + +/* package transformers-0.5.5.0 */ +#ifndef VERSION_transformers +#define VERSION_transformers "0.5.5.0" +#endif /* VERSION_transformers */ +#ifndef MIN_VERSION_transformers +#define MIN_VERSION_transformers(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 5 || \ + (major1) == 0 && (major2) == 5 && (minor) <= 5) +#endif /* MIN_VERSION_transformers */ + +/* tool eta-0.7.0.2 */ +#ifndef TOOL_VERSION_eta +#define TOOL_VERSION_eta "0.7.0.2" +#endif /* TOOL_VERSION_eta */ +#ifndef MIN_TOOL_VERSION_eta +#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta */ + +/* tool eta-pkg-0.7.0.2 */ +#ifndef TOOL_VERSION_eta_pkg +#define TOOL_VERSION_eta_pkg "0.7.0.2" +#endif /* TOOL_VERSION_eta_pkg */ +#ifndef MIN_TOOL_VERSION_eta_pkg +#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta_pkg */ + +/* tool git-2.11.0 */ +#ifndef TOOL_VERSION_git +#define TOOL_VERSION_git "2.11.0" +#endif /* TOOL_VERSION_git */ +#ifndef MIN_TOOL_VERSION_git +#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 11 || \ + (major1) == 2 && (major2) == 11 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_git */ + +/* tool jar-0 */ +#ifndef TOOL_VERSION_jar +#define TOOL_VERSION_jar "0" +#endif /* TOOL_VERSION_jar */ +#ifndef MIN_TOOL_VERSION_jar +#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 0 || \ + (major1) == 0 && (major2) == 0 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_jar */ + +/* tool java-1.8.0.151 */ +#ifndef TOOL_VERSION_java +#define TOOL_VERSION_java "1.8.0.151" +#endif /* TOOL_VERSION_java */ +#ifndef MIN_TOOL_VERSION_java +#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_java */ + +/* tool javac-1.8.0.151 */ +#ifndef TOOL_VERSION_javac +#define TOOL_VERSION_javac "1.8.0.151" +#endif /* TOOL_VERSION_javac */ +#ifndef MIN_TOOL_VERSION_javac +#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_javac */ + +#ifndef CURRENT_PACKAGE_KEY +#define CURRENT_PACKAGE_KEY "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" +#endif /* CURRENT_PACKAGE_KEY */ +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class b/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class new file mode 100644 index 0000000000000000000000000000000000000000..ccd2dc686d206c6281f8c2c507a6b3918fc44a65 GIT binary patch literal 304 zcmZWkO-lk%6g_v;nH(oA_bn6`<-%FGjW%KsLHRM`cpBOW`%#BzAd@%IyZ#&e<8Us zhV5jnoMT7mS2JvByv{h~-@bJ2pZ^T$9xg%;f&5h&iOWe6Lt$ro4m5^a&}N^GB!(ha T$pA-!0h(wF#-avj;TX+t#c@Sg literal 0 HcmV?d00001 diff --git a/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class b/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class new file mode 100644 index 0000000000000000000000000000000000000000..951d3fe645f3a4a84e6377da9f2be1d93a171318 GIT binary patch literal 4772 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 literal 0 HcmV?d00001 diff --git a/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg b/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg new file mode 100644 index 0000000..5c6ae9d --- /dev/null +++ b/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg @@ -0,0 +1,5 @@ + +==================== STG syntax: ==================== +2018-02-08 11:48:32.343317 UTC + + diff --git a/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg b/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg new file mode 100644 index 0000000..950fb2e --- /dev/null +++ b/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg @@ -0,0 +1,4501 @@ + +==================== STG syntax: ==================== +2018-02-08 11:48:30.884108 UTC + +Control.Concurrent.Fiber.Internal.async2 + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCG6] (#,#) [s_sCG6 GHC.Tuple.()]; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber3 + :: forall a_a6WE. + GHC.Base.Monoid a_a6WE => + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a6WE #) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [$dMonoid_sCG7 s_sCG8] + let { + sat_sCG9 [Occ=Once] :: a6_a6WE + [LclId, Str=] = + \u srt:SRT:[] [] GHC.Base.mempty $dMonoid_sCG7; + } in (#,#) [s_sCG8 sat_sCG9]; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + :: forall a_a61P. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a61P #) +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [s_sCGA] + case + __primcall eta.fibers.PrimOps.throwEmpty [s_sCGA] + of + s1_sCGC [OS=OneShot] + { __DEFAULT -> (#,#) [s1_sCGC GHC.Err.undefined]; + }; +Control.Concurrent.Fiber.Internal.forkFiber1 + :: Control.Concurrent.Fiber.Internal.Fiber () + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [x_sCGD s_sCGE] + let { + sat_sCGL [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [s1_sCGG] + case fork# [x_sCGD s1_sCGG] of _ [Occ=Dead] { + (#,#) ipv_sCGI [Occ=Once] ipv1_sCGJ [Occ=Once] -> + let { + sat_sCGK [Occ=Once] :: GHC.Conc.Sync.ThreadId + [LclId, Str=] = + NO_CCS GHC.Conc.Sync.ThreadId! [ipv1_sCGJ]; + } in (#,#) [ipv_sCGI sat_sCGK]; + }; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCGL + GHC.Conc.Sync.myThreadId1 + s_sCGE]; +Control.Concurrent.Fiber.Internal.catchEmpty2 + :: forall (m_a628 :: * -> *) a_a629. + GHC.Base.Monad m_a628 => + m_a628 a_a629 + -> m_a628 a_a629 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) +[GblId, + Arity=4, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [$dMonad_sCGM mf_sCGN mg_sCGO s_sCGP] + __primcall eta.fibers.PrimOps.alternativeFiber [mf_sCGN + mg_sCGO + s_sCGP]; +Control.Concurrent.Fiber.Internal.getStack1 + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + Control.Concurrent.Fiber.Internal.Obj #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCGR] + case + __primcall eta.fibers.PrimOps.getStackC [s_sCGR] + of + _ [Occ=Dead] + { (#,#) ipv_sCGU [Occ=Once] ipv1_sCGV [Occ=Once] -> + let { + sat_sCGW [Occ=Once] :: Control.Concurrent.Fiber.Internal.Obj + [LclId, Str=] = + NO_CCS Control.Concurrent.Fiber.Internal.Obj! [ipv1_sCGV]; + } in (#,#) [ipv_sCGU sat_sCGW]; + }; +Control.Concurrent.Fiber.Internal.topStack1 + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Int #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCGX] + case + __primcall eta.fibers.PrimOps.topStackC [s_sCGX] + of + _ [Occ=Dead] + { (#,#) ipv_sCH0 [Occ=Once] ipv1_sCH1 [Occ=Once] -> + let { + sat_sCH2 [Occ=Once] :: GHC.Types.Int + [LclId, Str=] = + NO_CCS GHC.Types.I#! [ipv1_sCH1]; + } in (#,#) [ipv_sCH0 sat_sCH2]; + }; +Control.Concurrent.Fiber.Internal.delEvent1 + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCH3] + case + __primcall eta.fibers.PrimOps.delEventCC [s_sCH3] + of + s1_sCH5 [OS=OneShot] + { __DEFAULT -> (#,#) [s1_sCH5 GHC.Tuple.()]; + }; +Control.Concurrent.Fiber.Internal.setEvent1 + :: forall a_a642. + a_a642 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [x_sCH6 s_sCH7] + case + __primcall eta.fibers.PrimOps.setEventC [x_sCH6 s_sCH7] + of + s1_sCH9 [OS=OneShot] + { __DEFAULT -> (#,#) [s1_sCH9 GHC.Tuple.()]; + }; +Control.Concurrent.Fiber.Internal.getEvent1 + :: forall a_a5Z3. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Base.Maybe a_a5Z3 #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCHA] + case + __primcall eta.fibers.PrimOps.getEventCC [s_sCHA] + of + _ [Occ=Dead] + { (#,,#) ipv_sCHD [Occ=Once*] + ipv1_sCHE [Occ=Once!] + ipv2_sCHF [Occ=Once] -> + case ipv1_sCHE of _ [Occ=Dead] { + __DEFAULT -> (#,#) [ipv_sCHD GHC.Base.Nothing]; + 1 -> + let { + sat_sCHH [Occ=Once] :: GHC.Base.Maybe a6_a5Z3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [ipv2_sCHF]; + } in (#,#) [ipv_sCHD sat_sCHH]; + }; + }; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber2 + :: forall a1_a89V. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a1_a89V] #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCHI] (#,#) [s_sCHI GHC.Types.[]]; +a_rCFV + :: forall a_a6Q3. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.IORef.IORef (GHC.Base.Maybe a_a6Q3) #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCHJ] + case newMutVar# [GHC.Base.Nothing s_sCHJ] of _ [Occ=Dead] { + (#,#) ipv_sCHL [Occ=Once] ipv1_sCHM [Occ=Once] -> + let { + sat_sCHN [Occ=Once] :: GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) + [LclId, Str=] = + NO_CCS GHC.STRef.STRef! [ipv1_sCHM]; + } in (#,#) [ipv_sCHL sat_sCHN]; + }; +a1_rCFW + :: forall a_a6Q3 b_a6Q4. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.IORef.IORef (GHC.Base.Maybe (a_a6Q3 -> b_a6Q4)) #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sCHO] + case newMutVar# [GHC.Base.Nothing s_sCHO] of _ [Occ=Dead] { + (#,#) ipv_sCHQ [Occ=Once] ipv1_sCHR [Occ=Once] -> + let { + sat_sCHS [Occ=Once] + :: GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) + [LclId, Str=] = + NO_CCS GHC.STRef.STRef! [ipv1_sCHR]; + } in (#,#) [ipv_sCHQ sat_sCHS]; + }; +Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + :: forall a_a6NO b_a6NP. + Control.Concurrent.Fiber.Internal.Fiber a_a6NO + -> (a_a6NO -> Control.Concurrent.Fiber.Internal.Fiber b_a6NP) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6NP #) +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [ds_sCHT f_sCHU s_sCHV] + case + __primcall eta.fibers.PrimOps.setCurrentC [ds_sCHT s_sCHV] + of + s1_sCHX [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [f_sCHU s1_sCHX] + of + s2_sCHZ [OS=OneShot] + { __DEFAULT -> + case ds_sCHT s2_sCHZ of _ [Occ=Dead] { + (#,#) ipv_sCI1 [Occ=Once] ipv1_sCI2 [Occ=Once] -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCI1] + of + _ [Occ=Dead] + { (#,#) ipv2_sCI5 [Occ=Once] _ [Occ=Dead] -> + case f_sCHU ipv1_sCI2 of fa_sCI7 [Dmd=] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [fa_sCI7 + ipv2_sCI5] + of + s5_sCI9 [OS=OneShot] + { __DEFAULT -> fa_sCI7 s5_sCI9; + }; + }; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 + :: forall a_a6P9. + a_a6P9 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a6P9 #) +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [a7_sCIA s_sCIB] (#,#) [s_sCIB a7_sCIA]; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + :: forall a_a6Q3 b_a6Q4. + Control.Concurrent.Fiber.Internal.Fiber (a_a6Q3 -> b_a6Q4) + -> Control.Concurrent.Fiber.Internal.Fiber a_a6Q3 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf_sCIC + mx_sCID + eta_sCIE] + case + __primcall eta.fibers.PrimOps.setCurrentC [a1_rCFW eta_sCIE] + of + s1_sCIG [OS=OneShot] + { __DEFAULT -> + let-no-escape { + $sa_sCIH [Occ=Once!] + :: GHC.Prim.MutVar# + GHC.Prim.RealWorld (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) + -> GHC.STRef.STRef + GHC.Prim.RealWorld (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) + ~R# GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) + [LclId, Arity=3, Str=, Unf=OtherCon []] = + sat-only \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [sc_sCII + sg_sBMA + sc1_sCIJ] + case + __primcall eta.fibers.PrimOps.setCurrentC [a_rCFV sc1_sCIJ] + of + s2_sCIL [OS=OneShot] + { __DEFAULT -> + let { + a7_sCIM + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4) #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta1_sCIN] readMutVar# [sc_sCII eta1_sCIN]; + } in + let-no-escape { + $sa1_sCIO [Occ=Once!] + :: GHC.Prim.MutVar# GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) + -> GHC.STRef.STRef + GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) + ~R# GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) + [LclId, Arity=3, Str=, Unf=OtherCon []] = + sat-only \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [sc2_sCIP + sg1_sBME + sc3_sCIQ] + let { + a8_sCIR + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.Base.Maybe a6_a6Q3 #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta1_sCIS] + readMutVar# [sc2_sCIP eta1_sCIS]; + } in + let { + sat_sCMS [Occ=Once] + :: a6_a6Q3 + -> Control.Concurrent.Fiber.Internal.Fiber b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCKU + eta1_sCKV] + let { + sat_sCL0 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta2_sCKX] + let { + sat_sCKY [Occ=Once] + :: GHC.Base.Maybe a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCKU]; + } in + case + writeMutVar# [sc2_sCIP + sat_sCKY + eta2_sCKX] + of + s2#_sCKZ [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCKZ + GHC.Tuple.()]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCL0 + eta1_sCKV] + of + s3_sCL1 [OS=OneShot] + { __DEFAULT -> + let { + a9_sCL2 + :: GHC.Base.Maybe + (a6_a6Q3 -> b_a6Q4) + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCL3 + eta2_sCL4] + case + mf1_sCL3 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta2_sCL4; + GHC.Base.Just f_sCL6 [Occ=Once!] -> + let { + sat_sCL7 [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCL6 + x_sCKU; + } in + (#,#) [eta2_sCL4 + sat_sCL7]; + }; + } in + let { + sat_sCLU [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCL9 + eta2_sCLA] + case + __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM + eta2_sCLA] + of + s4_sCLC [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a9_sCL2 + s4_sCLC] + of + s5_sCLE [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc_sCII + s5_sCLE] + of + _ [Occ=Dead] + { (#,#) ipv_sCLG [Occ=Once] + ipv1_sCLH -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCLG] + of + _ [Occ=Dead] + { (#,#) ipv2_sCLK [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCLN [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a9_sCL2 + ipv1_sCLH; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCLN + ipv2_sCLK] + of + s6_sCLO [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCLH + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCLO] + of + s7_sCLR [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCLR + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCLS [Occ=Once!] -> + let { + sat_sCLT [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCLS + x_sCKU; + } in + (#,#) [s6_sCLO + sat_sCLT]; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCLU + s3_sCL1] + of + s4_sCLV [OS=OneShot] + { __DEFAULT -> + let { + sat_sCLW [Occ=Once] + :: GHC.Base.Maybe + a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCKU]; + } in + case + writeMutVar# [sc2_sCIP + sat_sCLW + s4_sCLV] + of + s2#_sCLX [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCLX] + of + _ [Occ=Dead] + { (#,#) ipv_sCM0 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCM3 [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a7_sCIM + a9_sCL2; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCM3 + ipv_sCM0] + of + s5_sCM4 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM + s5_sCM4] + of + s6_sCM6 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a9_sCL2 + s6_sCM6] + of + s7_sCM8 [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc_sCII + s7_sCM8] + of + _ [Occ=Dead] + { (#,#) ipv2_sCMA [Occ=Once] + ipv3_sCMB -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCMA] + of + _ [Occ=Dead] + { (#,#) ipv4_sCME [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCML [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta2_sCMH] + case + ipv3_sCMB + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta2_sCMH; + GHC.Base.Just f_sCMJ [Occ=Once!] -> + let { + sat_sCMK [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCMJ + x_sCKU; + } in + (#,#) [eta2_sCMH + sat_sCMK]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCML + ipv4_sCME] + of + s8_sCMM [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCMB + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCMM] + of + s9_sCMP [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCMP + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCMQ [Occ=Once!] -> + let { + sat_sCMR [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCMQ + x_sCKU; + } in + (#,#) [s8_sCMM + sat_sCMR]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCMT [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mx_sCID sat_sCMS; + } in + let { + sat_sCKS [Occ=Once] + :: (a6_a6Q3 -> b_a6Q4) + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCIU + eta1_sCIV] + let { + sat_sCJ0 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta2_sCIX] + let { + sat_sCIY [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCIU]; + } in + case + writeMutVar# [sc_sCII + sat_sCIY + eta2_sCIX] + of + s2#_sCIZ [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCIZ + GHC.Tuple.()]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCJ0 + eta1_sCIV] + of + s3_sCJ1 [OS=OneShot] + { __DEFAULT -> + let { + a9_sCJ2 + :: GHC.Base.Maybe a6_a6Q3 + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str= {a4S4->}, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCJ3 + eta2_sCJ4] + case + mx1_sCJ3 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta2_sCJ4; + GHC.Base.Just x_sCJ6 [Occ=Once] -> + let { + sat_sCJ7 [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCIU + x_sCJ6; + } in + (#,#) [eta2_sCJ4 + sat_sCJ7]; + }; + } in + let { + sat_sCJU [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCJ9 + eta2_sCJA] + case + __primcall eta.fibers.PrimOps.setCurrentC [a8_sCIR + eta2_sCJA] + of + s4_sCJC [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a9_sCJ2 + s4_sCJC] + of + s5_sCJE [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc2_sCIP + s5_sCJE] + of + _ [Occ=Dead] + { (#,#) ipv_sCJG [Occ=Once] + ipv1_sCJH -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCJG] + of + _ [Occ=Dead] + { (#,#) ipv2_sCJK [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCJN [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a9_sCJ2 + ipv1_sCJH; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCJN + ipv2_sCJK] + of + s6_sCJO [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCJH + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCJO] + of + s7_sCJR [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCJR + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCJS [Occ=Once] -> + let { + sat_sCJT [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCIU + x_sCJS; + } in + (#,#) [s6_sCJO + sat_sCJT]; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCJU + s3_sCJ1] + of + s4_sCJV [OS=OneShot] + { __DEFAULT -> + let { + sat_sCJW [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 + -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCIU]; + } in + case + writeMutVar# [sc_sCII + sat_sCJW + s4_sCJV] + of + s2#_sCJX [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCJX] + of + _ [Occ=Dead] + { (#,#) ipv_sCK0 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCK3 [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a8_sCIR + a9_sCJ2; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCK3 + ipv_sCK0] + of + s5_sCK4 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a8_sCIR + s5_sCK4] + of + s6_sCK6 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a9_sCJ2 + s6_sCK6] + of + s7_sCK8 [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc2_sCIP + s7_sCK8] + of + _ [Occ=Dead] + { (#,#) ipv2_sCKA [Occ=Once] + ipv3_sCKB -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCKA] + of + _ [Occ=Dead] + { (#,#) ipv4_sCKE [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCKL [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta2_sCKH] + case + ipv3_sCKB + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta2_sCKH; + GHC.Base.Just x_sCKJ [Occ=Once] -> + let { + sat_sCKK [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCIU + x_sCKJ; + } in + (#,#) [eta2_sCKH + sat_sCKK]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCKL + ipv4_sCKE] + of + s8_sCKM [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCKB + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCKM] + of + s9_sCKP [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCKP + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCKQ [Occ=Once] -> + let { + sat_sCKR [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCIU + x_sCKQ; + } in + (#,#) [s8_sCKM + sat_sCKR]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCKT [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mf_sCIC sat_sCKS; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCKT + sat_sCMT + sc3_sCIQ]; + } in + let { + a8_sCMU + :: GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) + [LclId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [r2_sCMV + eta1_sCMW] + let { + a9_sCMX + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.Base.Maybe a6_a6Q3 #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + GHC.STRef.readSTRef1 r2_sCMV eta_B1; + } in + let { + sat_sCR5 [Occ=Once] + :: a6_a6Q3 + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCP3 + eta2_sCP4] + let { + sat_sCPB [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta3_sCP6] + case r2_sCMV of _ [Occ=Dead] { + GHC.STRef.STRef var#_sCP8 [Occ=Once] -> + let { + sat_sCP9 [Occ=Once] + :: GHC.Base.Maybe + a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCP3]; + } in + case + writeMutVar# [var#_sCP8 + sat_sCP9 + eta3_sCP6] + of + s2#_sCPA [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCPA + GHC.Tuple.()]; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCPB + eta2_sCP4] + of + s3_sCPC [OS=OneShot] + { __DEFAULT -> + let { + a10_sCPD + :: GHC.Base.Maybe + (a6_a6Q3 -> b_a6Q4) + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCPE + eta3_sCPF] + case + mf1_sCPE + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCPF; + GHC.Base.Just f_sCPH [Occ=Once!] -> + let { + sat_sCPI [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCPH + x_sCP3; + } in + (#,#) [eta3_sCPF + sat_sCPI]; + }; + } in + let { + sat_sCQ5 [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCPK + eta3_sCPL] + case + __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM + eta3_sCPL] + of + s4_sCPN [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCPD + s4_sCPN] + of + s5_sCPP [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc_sCII + s5_sCPP] + of + _ [Occ=Dead] + { (#,#) ipv_sCPR [Occ=Once] + ipv1_sCPS -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCPR] + of + _ [Occ=Dead] + { (#,#) ipv2_sCPV [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCPY [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a10_sCPD + ipv1_sCPS; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCPY + ipv2_sCPV] + of + s6_sCPZ [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCPS + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCPZ] + of + s7_sCQ2 [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCQ2 + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCQ3 [Occ=Once!] -> + let { + sat_sCQ4 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCQ3 + x_sCP3; + } in + (#,#) [s6_sCPZ + sat_sCQ4]; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCQ5 + s3_sCPC] + of + s4_sCQ6 [OS=OneShot] + { __DEFAULT -> + case + r2_sCMV + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCQ8 [Occ=Once] -> + let { + sat_sCQ9 [Occ=Once] + :: GHC.Base.Maybe + a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCP3]; + } in + case + writeMutVar# [var#_sCQ8 + sat_sCQ9 + s4_sCQ6] + of + s2#_sCQA [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCQA] + of + _ [Occ=Dead] + { (#,#) ipv_sCQD [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCQG [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a7_sCIM + a10_sCPD; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCQG + ipv_sCQD] + of + s5_sCQH [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM + s5_sCQH] + of + s6_sCQJ [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCPD + s6_sCQJ] + of + s7_sCQL [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc_sCII + s7_sCQL] + of + _ [Occ=Dead] + { (#,#) ipv2_sCQN [Occ=Once] + ipv3_sCQO -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCQN] + of + _ [Occ=Dead] + { (#,#) ipv4_sCQR [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCQY [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCQU] + case + ipv3_sCQO + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCQU; + GHC.Base.Just f_sCQW [Occ=Once!] -> + let { + sat_sCQX [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCQW + x_sCP3; + } in + (#,#) [eta3_sCQU + sat_sCQX]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCQY + ipv4_sCQR] + of + s8_sCQZ [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCQO + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCQZ] + of + s9_sCR2 [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCR2 + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCR3 [Occ=Once!] -> + let { + sat_sCR4 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCR3 + x_sCP3; + } in + (#,#) [s8_sCQZ + sat_sCR4]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCR6 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mx_sCID sat_sCR5; + } in + let { + sat_sCP1 [Occ=Once] + :: (a6_a6Q3 -> b_a6Q4) + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCMZ + eta2_sCN0] + let { + sat_sCN5 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta3_sCN2] + let { + sat_sCN3 [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCMZ]; + } in + case + writeMutVar# [sc_sCII + sat_sCN3 + eta3_sCN2] + of + s2#_sCN4 [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCN4 + GHC.Tuple.()]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCN5 + eta2_sCN0] + of + s3_sCN6 [OS=OneShot] + { __DEFAULT -> + let { + a10_sCN7 + :: GHC.Base.Maybe a6_a6Q3 + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str= {a4S4->}, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCN8 + eta3_sCN9] + case + mx1_sCN8 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCN9; + GHC.Base.Just x_sCNB [Occ=Once] -> + let { + sat_sCNC [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCMZ + x_sCNB; + } in + (#,#) [eta3_sCN9 + sat_sCNC]; + }; + } in + let { + sat_sCO1 [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCNE + eta3_sCNF] + case + __primcall eta.fibers.PrimOps.setCurrentC [a9_sCMX + eta3_sCNF] + of + s4_sCNH [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCN7 + s4_sCNH] + of + s5_sCNJ [OS=OneShot] + { __DEFAULT -> + case + r2_sCMV + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCNL [Occ=Once] -> + case + readMutVar# [var#_sCNL + s5_sCNJ] + of + _ [Occ=Dead] + { (#,#) ipv_sCNN [Occ=Once] + ipv1_sCNO -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCNN] + of + _ [Occ=Dead] + { (#,#) ipv2_sCNR [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCNU [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a10_sCN7 + ipv1_sCNO; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCNU + ipv2_sCNR] + of + s6_sCNV [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCNO + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCNV] + of + s7_sCNY [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCNY + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCNZ [Occ=Once] -> + let { + sat_sCO0 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCMZ + x_sCNZ; + } in + (#,#) [s6_sCNV + sat_sCO0]; + }; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCO1 + s3_sCN6] + of + s4_sCO2 [OS=OneShot] + { __DEFAULT -> + let { + sat_sCO3 [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 + -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCMZ]; + } in + case + writeMutVar# [sc_sCII + sat_sCO3 + s4_sCO2] + of + s2#_sCO4 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCO4] + of + _ [Occ=Dead] + { (#,#) ipv_sCO7 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCOA [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a9_sCMX + a10_sCN7; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCOA + ipv_sCO7] + of + s5_sCOB [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a9_sCMX + s5_sCOB] + of + s6_sCOD [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCN7 + s6_sCOD] + of + s7_sCOF [OS=OneShot] + { __DEFAULT -> + case + r2_sCMV + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCOH [Occ=Once] -> + case + readMutVar# [var#_sCOH + s7_sCOF] + of + _ [Occ=Dead] + { (#,#) ipv2_sCOJ [Occ=Once] + ipv3_sCOK -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCOJ] + of + _ [Occ=Dead] + { (#,#) ipv4_sCON [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCOU [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCOQ] + case + ipv3_sCOK + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCOQ; + GHC.Base.Just x_sCOS [Occ=Once] -> + let { + sat_sCOT [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCMZ + x_sCOS; + } in + (#,#) [eta3_sCOQ + sat_sCOT]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCOU + ipv4_sCON] + of + s8_sCOV [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCOK + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCOV] + of + s9_sCOY [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCOY + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCOZ [Occ=Once] -> + let { + sat_sCP0 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCMZ + x_sCOZ; + } in + (#,#) [s8_sCOV + sat_sCP0]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCP2 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mf_sCIC sat_sCP1; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCP2 + sat_sCR6 + eta1_sCMW]; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [a8_sCMU s2_sCIL] + of + s3_sCR8 [OS=OneShot] + { __DEFAULT -> + case + newMutVar# [GHC.Base.Nothing s3_sCR8] + of + _ [Occ=Dead] + { (#,#) ipv_sCRA [Occ=Once] ipv1_sCRB -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCRA] + of + _ [Occ=Dead] + { (#,#) ipv2_sCRE [Occ=Once] _ [Occ=Dead] -> + let { + sat_sCRH [Occ=Once] + :: GHC.IORef.IORef + (GHC.Base.Maybe a6_a6Q3) + [LclId, Str=] = + NO_CCS GHC.STRef.STRef! [ipv1_sCRB]; } in + let { + sat_sCRI [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] a8_sCMU sat_sCRH; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCRI + ipv2_sCRE] + of + s5_sCRJ [OS=OneShot] + { __DEFAULT -> + $sa1_sCIO + ipv1_sCRB + GHC.Prim.coercionToken# + s5_sCRJ; + }; + }; + }; + }; + }; + } in + let { + a7_sCRK + :: GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) + [LclId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [r1_sCRL + eta1_sCRM] + case + __primcall eta.fibers.PrimOps.setCurrentC [a_rCFV eta1_sCRM] + of + s2_sCRO [OS=OneShot] + { __DEFAULT -> + let { + a8_sCRP + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4) #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] GHC.STRef.readSTRef1 r1_sCRL eta_B1; + } in + let-no-escape { + $sa1_sCRQ [Occ=Once!] + :: GHC.Prim.MutVar# + GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) + -> GHC.STRef.STRef + GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) + ~R# GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) + [LclId, Arity=3, Str=, Unf=OtherCon []] = + sat-only \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [sc_sCRR + sg_sBM6 + sc1_sCRS] + let { + a9_sCRT + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.Base.Maybe a6_a6Q3 #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta2_sCRU] + readMutVar# [sc_sCRR eta2_sCRU]; + } in + let { + sat_sCW2 [Occ=Once] + :: a6_a6Q3 + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCU0 + eta2_sCU1] + let { + sat_sCU6 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta3_sCU3] + let { + sat_sCU4 [Occ=Once] + :: GHC.Base.Maybe a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCU0]; + } in + case + writeMutVar# [sc_sCRR + sat_sCU4 + eta3_sCU3] + of + s2#_sCU5 [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCU5 + GHC.Tuple.()]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCU6 + eta2_sCU1] + of + s3_sCU7 [OS=OneShot] + { __DEFAULT -> + let { + a10_sCU8 + :: GHC.Base.Maybe + (a6_a6Q3 -> b_a6Q4) + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCU9 + eta3_sCUA] + case + mf1_sCU9 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCUA; + GHC.Base.Just f_sCUC [Occ=Once!] -> + let { + sat_sCUD [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCUC + x_sCU0; + } in + (#,#) [eta3_sCUA + sat_sCUD]; + }; + } in + let { + sat_sCV2 [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCUF + eta3_sCUG] + case + __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP + eta3_sCUG] + of + s4_sCUI [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCU8 + s4_sCUI] + of + s5_sCUK [OS=OneShot] + { __DEFAULT -> + case + r1_sCRL + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCUM [Occ=Once] -> + case + readMutVar# [var#_sCUM + s5_sCUK] + of + _ [Occ=Dead] + { (#,#) ipv_sCUO [Occ=Once] + ipv1_sCUP -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCUO] + of + _ [Occ=Dead] + { (#,#) ipv2_sCUS [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCUV [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a10_sCU8 + ipv1_sCUP; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCUV + ipv2_sCUS] + of + s6_sCUW [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCUP + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCUW] + of + s7_sCUZ [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCUZ + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCV0 [Occ=Once!] -> + let { + sat_sCV1 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCV0 + x_sCU0; + } in + (#,#) [s6_sCUW + sat_sCV1]; + }; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCV2 + s3_sCU7] + of + s4_sCV3 [OS=OneShot] + { __DEFAULT -> + let { + sat_sCV4 [Occ=Once] + :: GHC.Base.Maybe + a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCU0]; + } in + case + writeMutVar# [sc_sCRR + sat_sCV4 + s4_sCV3] + of + s2#_sCV5 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCV5] + of + _ [Occ=Dead] + { (#,#) ipv_sCV8 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCVB [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a8_sCRP + a10_sCU8; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCVB + ipv_sCV8] + of + s5_sCVC [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP + s5_sCVC] + of + s6_sCVE [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCU8 + s6_sCVE] + of + s7_sCVG [OS=OneShot] + { __DEFAULT -> + case + r1_sCRL + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCVI [Occ=Once] -> + case + readMutVar# [var#_sCVI + s7_sCVG] + of + _ [Occ=Dead] + { (#,#) ipv2_sCVK [Occ=Once] + ipv3_sCVL -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCVK] + of + _ [Occ=Dead] + { (#,#) ipv4_sCVO [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCVV [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCVR] + case + ipv3_sCVL + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCVR; + GHC.Base.Just f_sCVT [Occ=Once!] -> + let { + sat_sCVU [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCVT + x_sCU0; + } in + (#,#) [eta3_sCVR + sat_sCVU]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCVV + ipv4_sCVO] + of + s8_sCVW [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCVL + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCVW] + of + s9_sCVZ [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCVZ + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCW0 [Occ=Once!] -> + let { + sat_sCW1 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCW0 + x_sCU0; + } in + (#,#) [s8_sCVW + sat_sCW1]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCW3 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mx_sCID sat_sCW2; + } in + let { + sat_sCTY [Occ=Once] + :: (a6_a6Q3 -> b_a6Q4) + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCRW + eta2_sCRX] + let { + sat_sCS4 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta3_sCRZ] + case r1_sCRL of _ [Occ=Dead] { + GHC.STRef.STRef var#_sCS1 [Occ=Once] -> + let { + sat_sCS2 [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 + -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCRW]; + } in + case + writeMutVar# [var#_sCS1 + sat_sCS2 + eta3_sCRZ] + of + s2#_sCS3 [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCS3 + GHC.Tuple.()]; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCS4 + eta2_sCRX] + of + s3_sCS5 [OS=OneShot] + { __DEFAULT -> + let { + a10_sCS6 + :: GHC.Base.Maybe a6_a6Q3 + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str= {a4S4->}, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCS7 + eta3_sCS8] + case + mx1_sCS7 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCS8; + GHC.Base.Just x_sCSA [Occ=Once] -> + let { + sat_sCSB [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCRW + x_sCSA; + } in + (#,#) [eta3_sCS8 + sat_sCSB]; + }; + } in + let { + sat_sCSY [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCSD + eta3_sCSE] + case + __primcall eta.fibers.PrimOps.setCurrentC [a9_sCRT + eta3_sCSE] + of + s4_sCSG [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCS6 + s4_sCSG] + of + s5_sCSI [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc_sCRR + s5_sCSI] + of + _ [Occ=Dead] + { (#,#) ipv_sCSK [Occ=Once] + ipv1_sCSL -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCSK] + of + _ [Occ=Dead] + { (#,#) ipv2_sCSO [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCSR [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a10_sCS6 + ipv1_sCSL; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCSR + ipv2_sCSO] + of + s6_sCSS [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCSL + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCSS] + of + s7_sCSV [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCSV + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCSW [Occ=Once] -> + let { + sat_sCSX [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCRW + x_sCSW; + } in + (#,#) [s6_sCSS + sat_sCSX]; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCSY + s3_sCS5] + of + s4_sCSZ [OS=OneShot] + { __DEFAULT -> + case + r1_sCRL + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCT1 [Occ=Once] -> + let { + sat_sCT2 [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 + -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCRW]; + } in + case + writeMutVar# [var#_sCT1 + sat_sCT2 + s4_sCSZ] + of + s2#_sCT3 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCT3] + of + _ [Occ=Dead] + { (#,#) ipv_sCT6 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCT9 [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a9_sCRT + a10_sCS6; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCT9 + ipv_sCT6] + of + s5_sCTA [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a9_sCRT + s5_sCTA] + of + s6_sCTC [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a10_sCS6 + s6_sCTC] + of + s7_sCTE [OS=OneShot] + { __DEFAULT -> + case + readMutVar# [sc_sCRR + s7_sCTE] + of + _ [Occ=Dead] + { (#,#) ipv2_sCTG [Occ=Once] + ipv3_sCTH -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCTG] + of + _ [Occ=Dead] + { (#,#) ipv4_sCTK [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCTR [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCTN] + case + ipv3_sCTH + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta3_sCTN; + GHC.Base.Just x_sCTP [Occ=Once] -> + let { + sat_sCTQ [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCRW + x_sCTP; + } in + (#,#) [eta3_sCTN + sat_sCTQ]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCTR + ipv4_sCTK] + of + s8_sCTS [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCTH + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCTS] + of + s9_sCTV [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCTV + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCTW [Occ=Once] -> + let { + sat_sCTX [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCRW + x_sCTW; + } in + (#,#) [s8_sCTS + sat_sCTX]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCTZ [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mf_sCIC sat_sCTY; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCTZ + sat_sCW3 + sc1_sCRS]; + } in + let { + a9_sCW4 + :: GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) + [LclId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [r2_sCW5 + eta2_sCW6] + let { + a10_sCW7 + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + GHC.Base.Maybe a6_a6Q3 #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + GHC.STRef.readSTRef1 r2_sCW5 eta_B1; + } in + let { + sat_sD0N [Occ=Once] + :: a6_a6Q3 + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCYH + eta3_sCYI] + let { + sat_sCYP [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta4_sCYK] + case r2_sCW5 of _ [Occ=Dead] { + GHC.STRef.STRef var#_sCYM [Occ=Once] -> + let { + sat_sCYN [Occ=Once] + :: GHC.Base.Maybe + a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCYH]; + } in + case + writeMutVar# [var#_sCYM + sat_sCYN + eta4_sCYK] + of + s2#_sCYO [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCYO + GHC.Tuple.()]; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCYP + eta3_sCYI] + of + s3_sCYQ [OS=OneShot] + { __DEFAULT -> + let { + a11_sCYR + :: GHC.Base.Maybe + (a6_a6Q3 -> b_a6Q4) + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCYS + eta4_sCYT] + case + mf1_sCYS + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta4_sCYT; + GHC.Base.Just f_sCYV [Occ=Once!] -> + let { + sat_sCYW [Occ=Once] + :: b_a6Q4 + [LclId, Str=] = + \u srt:SRT:[] [] + f_sCYV + x_sCYH; + } in + (#,#) [eta4_sCYT + sat_sCYW]; + }; + } in + let { + sat_sCZL [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCYY + eta4_sCYZ] + case + __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP + eta4_sCYZ] + of + s4_sCZ1 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a11_sCYR + s4_sCZ1] + of + s5_sCZ3 [OS=OneShot] + { __DEFAULT -> + case + r1_sCRL + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCZ5 [Occ=Once] -> + case + readMutVar# [var#_sCZ5 + s5_sCZ3] + of + _ [Occ=Dead] + { (#,#) ipv_sCZ7 [Occ=Once] + ipv1_sCZ8 -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCZ7] + of + _ [Occ=Dead] + { (#,#) ipv2_sCZB [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCZE [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a11_sCYR + ipv1_sCZ8; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCZE + ipv2_sCZB] + of + s6_sCZF [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCZ8 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCZF] + of + s7_sCZI [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCZI + GHC.Err.undefined]; + }; + GHC.Base.Just f_sCZJ [Occ=Once!] -> + let { + sat_sCZK [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCZJ + x_sCYH; + } in + (#,#) [s6_sCZF + sat_sCZK]; + }; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCZL + s3_sCYQ] + of + s4_sCZM [OS=OneShot] + { __DEFAULT -> + case + r2_sCW5 + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCZO [Occ=Once] -> + let { + sat_sCZP [Occ=Once] + :: GHC.Base.Maybe + a6_a6Q3 + [LclId, Str=] = + NO_CCS GHC.Base.Just! [x_sCYH]; + } in + case + writeMutVar# [var#_sCZO + sat_sCZP + s4_sCZM] + of + s2#_sCZQ [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCZQ] + of + _ [Occ=Dead] + { (#,#) ipv_sCZT [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCZW [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a8_sCRP + a11_sCYR; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCZW + ipv_sCZT] + of + s5_sCZX [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP + s5_sCZX] + of + s6_sCZZ [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a11_sCYR + s6_sCZZ] + of + s7_sD01 [OS=OneShot] + { __DEFAULT -> + case + r1_sCRL + of + _ [Occ=Dead] + { GHC.STRef.STRef var#1_sD03 [Occ=Once] -> + case + readMutVar# [var#1_sD03 + s7_sD01] + of + _ [Occ=Dead] + { (#,#) ipv2_sD05 [Occ=Once] + ipv3_sD06 -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sD05] + of + _ [Occ=Dead] + { (#,#) ipv4_sD09 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sD0G [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta4_sD0C] + case + ipv3_sD06 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta4_sD0C; + GHC.Base.Just f_sD0E [Occ=Once!] -> + let { + sat_sD0F [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sD0E + x_sCYH; + } in + (#,#) [eta4_sD0C + sat_sD0F]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sD0G + ipv4_sD09] + of + s8_sD0H [OS=OneShot] + { __DEFAULT -> + case + ipv3_sD06 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sD0H] + of + s9_sD0K [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sD0K + GHC.Err.undefined]; + }; + GHC.Base.Just f_sD0L [Occ=Once!] -> + let { + sat_sD0M [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sD0L + x_sCYH; + } in + (#,#) [s8_sD0H + sat_sD0M]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sD0O [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mx_sCID sat_sD0N; + } in + let { + sat_sCYF [Occ=Once] + :: (a6_a6Q3 -> b_a6Q4) + -> Control.Concurrent.Fiber.Internal.Fiber + b_a6Q4 + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined, + rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCW9 + eta3_sCWA] + let { + sat_sCWH [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [eta4_sCWC] + case r1_sCRL of _ [Occ=Dead] { + GHC.STRef.STRef var#_sCWE [Occ=Once] -> + let { + sat_sCWF [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 + -> b_a6Q4) + [LclId, Str=] = + NO_CCS GHC.Base.Just! [f_sCW9]; + } in + case + writeMutVar# [var#_sCWE + sat_sCWF + eta4_sCWC] + of + s2#_sCWG [OS=OneShot] + { __DEFAULT -> + (#,#) [s2#_sCWG + GHC.Tuple.()]; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCWH + eta3_sCWA] + of + s3_sCWI [OS=OneShot] + { __DEFAULT -> + let { + a11_sCWJ + :: GHC.Base.Maybe a6_a6Q3 + -> GHC.Prim.State# + GHC.Prim.RealWorld + -> (# GHC.Prim.State# + GHC.Prim.RealWorld, + b_a6Q4 #) + [LclId, + Arity=2, + Str= {a4S4->}, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCWK + eta4_sCWL] + case + mx1_sCWK + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta4_sCWL; + GHC.Base.Just x_sCWN [Occ=Once] -> + let { + sat_sCWO [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCW9 + x_sCWN; + } in + (#,#) [eta4_sCWL + sat_sCWO]; + }; + } in + let { + sat_sCXD [Occ=Once] + :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCWQ + eta4_sCWR] + case + __primcall eta.fibers.PrimOps.setCurrentC [a10_sCW7 + eta4_sCWR] + of + s4_sCWT [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a11_sCWJ + s4_sCWT] + of + s5_sCWV [OS=OneShot] + { __DEFAULT -> + case + r2_sCW5 + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCWX [Occ=Once] -> + case + readMutVar# [var#_sCWX + s5_sCWV] + of + _ [Occ=Dead] + { (#,#) ipv_sCWZ [Occ=Once] + ipv1_sCX0 -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sCWZ] + of + _ [Occ=Dead] + { (#,#) ipv2_sCX3 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCX6 [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + a11_sCWJ + ipv1_sCX0; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCX6 + ipv2_sCX3] + of + s6_sCX7 [OS=OneShot] + { __DEFAULT -> + case + ipv1_sCX0 + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s6_sCX7] + of + s7_sCXA [OS=OneShot] + { __DEFAULT -> + (#,#) [s7_sCXA + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCXB [Occ=Once] -> + let { + sat_sCXC [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCW9 + x_sCXB; + } in + (#,#) [s6_sCX7 + sat_sCXC]; + }; + }; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sCXD + s3_sCWI] + of + s4_sCXE [OS=OneShot] + { __DEFAULT -> + case + r1_sCRL + of + _ [Occ=Dead] + { GHC.STRef.STRef var#_sCXG [Occ=Once] -> + let { + sat_sCXH [Occ=Once] + :: GHC.Base.Maybe + (a6_a6Q3 + -> b_a6Q4) + [LclId, + Str=] = + NO_CCS GHC.Base.Just! [f_sCW9]; + } in + case + writeMutVar# [var#_sCXG + sat_sCXH + s4_sCXE] + of + s2#_sCXI [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [s2#_sCXI] + of + _ [Occ=Dead] + { (#,#) ipv_sCXL [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCXO [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + a10_sCW7 + a11_sCWJ; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCXO + ipv_sCXL] + of + s5_sCXP [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a10_sCW7 + s5_sCXP] + of + s6_sCXR [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.pushNextC [a11_sCWJ + s6_sCXR] + of + s7_sCXT [OS=OneShot] + { __DEFAULT -> + case + r2_sCW5 + of + _ [Occ=Dead] + { GHC.STRef.STRef var#1_sCXV [Occ=Once] -> + case + readMutVar# [var#1_sCXV + s7_sCXT] + of + _ [Occ=Dead] + { (#,#) ipv2_sCXX [Occ=Once] + ipv3_sCXY -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sCXX] + of + _ [Occ=Dead] + { (#,#) ipv4_sCY1 [Occ=Once] + _ [Occ=Dead] -> + let { + sat_sCY8 [Occ=Once] + :: GHC.Prim.Any + [LclId, + Str=] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta4_sCY4] + case + ipv3_sCXY + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + eta4_sCY4; + GHC.Base.Just x_sCY6 [Occ=Once] -> + let { + sat_sCY7 [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCW9 + x_sCY6; + } in + (#,#) [eta4_sCY4 + sat_sCY7]; + }; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sCY8 + ipv4_sCY1] + of + s8_sCY9 [OS=OneShot] + { __DEFAULT -> + case + ipv3_sCXY + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + case + __primcall eta.fibers.PrimOps.throwEmpty [s8_sCY9] + of + s9_sCYC [OS=OneShot] + { __DEFAULT -> + (#,#) [s9_sCYC + GHC.Err.undefined]; + }; + GHC.Base.Just x_sCYD [Occ=Once] -> + let { + sat_sCYE [Occ=Once] + :: b_a6Q4 + [LclId, + Str=] = + \u srt:SRT:[] [] + f_sCW9 + x_sCYD; + } in + (#,#) [s8_sCY9 + sat_sCYE]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; } in + let { + sat_sCYG [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + mf_sCIC sat_sCYF; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCYG + sat_sD0O + eta2_sCW6]; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [a9_sCW4 s2_sCRO] + of + s3_sD0Q [OS=OneShot] + { __DEFAULT -> + case + newMutVar# [GHC.Base.Nothing s3_sD0Q] + of + _ [Occ=Dead] + { (#,#) ipv_sD0S [Occ=Once] ipv1_sD0T -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sD0S] + of + _ [Occ=Dead] + { (#,#) ipv2_sD0W [Occ=Once] _ [Occ=Dead] -> + let { + sat_sD0Z [Occ=Once] + :: GHC.IORef.IORef + (GHC.Base.Maybe a6_a6Q3) + [LclId, Str=] = + NO_CCS GHC.STRef.STRef! [ipv1_sD0T]; } in + let { + sat_sD10 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] a9_sCW4 sat_sD0Z; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sD10 + ipv2_sD0W] + of + s5_sD11 [OS=OneShot] + { __DEFAULT -> + $sa1_sCRQ + ipv1_sD0T + GHC.Prim.coercionToken# + s5_sD11; + }; + }; + }; + }; + }; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [a7_sCRK s1_sCIG] + of + s2_sD13 [OS=OneShot] + { __DEFAULT -> + case newMutVar# [GHC.Base.Nothing s2_sD13] of _ [Occ=Dead] { + (#,#) ipv_sD15 [Occ=Once] ipv1_sD16 -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv_sD15] + of + _ [Occ=Dead] + { (#,#) ipv2_sD19 [Occ=Once] _ [Occ=Dead] -> + let { + sat_sD1C [Occ=Once] + :: GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) + [LclId, Str=] = + NO_CCS GHC.STRef.STRef! [ipv1_sD16]; } in + let { + sat_sD1D [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[] [] a7_sCRK sat_sD1C; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sD1D + ipv2_sD19] + of + s5_sD1E [OS=OneShot] + { __DEFAULT -> + $sa_sCIH ipv1_sD16 GHC.Prim.coercionToken# s5_sD1E; + }; + }; + }; + }; + }; +a3_rCFY + :: forall a1_a896 b_a897. + Control.Concurrent.Fiber.Internal.Fiber a1_a896 + -> Control.Concurrent.Fiber.Internal.Fiber b_a897 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a1_a896 #) +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD1F + eta1_sD1G + eta2_sD1H] + let { + sat_sD1O [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber (b_a897 -> a6_a896) + [LclId, Str=] = + \r srt:SRT:[] [s_sD1I] + case eta_sD1F s_sD1I of _ [Occ=Dead] { + (#,#) ipv_sD1K [Occ=Once] ipv1_sD1L [Occ=OnceL] -> + let { + sat_sD1N [Occ=Once] :: b_a897 -> a6_a896 + [LclId, Str=] = + \r srt:SRT:[] [ds1_sD1M] ipv1_sD1L; + } in (#,#) [ipv_sD1K sat_sD1N]; + }; + } in + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + sat_sD1O eta1_sD1G eta2_sD1H; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber1 + :: forall a1_X8IB b_X8ID c_X8IF. + (a1_X8IB -> b_X8ID -> c_X8IF) + -> Control.Concurrent.Fiber.Internal.Fiber a1_X8IB + -> Control.Concurrent.Fiber.Internal.Fiber b_X8ID + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, c_X8IF #) +[GblId, + Arity=4, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD1P + eta1_sD1Q + eta2_sD1R + eta4_sD1S] + let { + sat_sD1Y [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber (b_X8ID -> c_X8IF) + [LclId, Str=] = + \r srt:SRT:[] [s_sD1T] + case eta1_sD1Q s_sD1T of _ [Occ=Dead] { + (#,#) ipv_sD1V [Occ=Once] ipv1_sD1W [Occ=Once] -> + let { + sat_sD1X [Occ=Once] :: b_X8ID -> c_X8IF + [LclId, Str=] = + \u srt:SRT:[] [] eta_sD1P ipv1_sD1W; + } in (#,#) [ipv_sD1V sat_sD1X]; + }; + } in + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + sat_sD1Y eta2_sD1R eta4_sD1S; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2 + :: forall a_X76K. + GHC.Base.Monoid a_X76K => + Control.Concurrent.Fiber.Internal.Fiber a_X76K + -> Control.Concurrent.Fiber.Internal.Fiber a_X76K + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_X76K #) +[GblId, + Arity=4, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [$dMonoid_sD1Z + x_sD20 + y_sD21 + eta_sD22] + let { + sat_sD28 [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber (a6_X76K -> a6_X76K) + [LclId, Str=] = + \r srt:SRT:[] [s_sD23] + case x_sD20 s_sD23 of _ [Occ=Dead] { + (#,#) ipv_sD25 [Occ=Once] ipv1_sD26 [Occ=Once] -> + let { + sat_sD27 [Occ=Once] :: a6_X76K -> a6_X76K + [LclId, Str=] = + \u srt:SRT:[] [] GHC.Base.mappend $dMonoid_sD1Z ipv1_sD26; + } in (#,#) [ipv_sD25 sat_sD27]; + }; + } in + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + sat_sD28 y_sD21 eta_sD22; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber5 + :: forall a_a6Y2. + Control.Concurrent.Fiber.Internal.Fiber a_a6Y2 + -> Control.Concurrent.Fiber.Internal.Fiber a_a6Y2 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [mf_sD29 mg_sD2A s_sD2B] + __primcall eta.fibers.PrimOps.alternativeFiber [mf_sD29 + mg_sD2A + s_sD2B]; +Control.Concurrent.Fiber.Internal.$fFunctor_Fiber2 + :: forall a_a6ZW b_a6ZX. + (a_a6ZW -> b_a6ZX) + -> Control.Concurrent.Fiber.Internal.Fiber a_a6ZW + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6ZX #) +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [f_sD2D ds_sD2E s_sD2F] + case ds_sD2E s_sD2F of _ [Occ=Dead] { + (#,#) ipv_sD2H [Occ=Once] ipv1_sD2I [Occ=Once] -> + let { + sat_sD2J [Occ=Once] :: b_a6ZX + [LclId, Str=] = + \u srt:SRT:[] [] f_sD2D ipv1_sD2I; + } in (#,#) [ipv_sD2H sat_sD2J]; + }; +lvl_rCFZ :: [GHC.Types.Char] +[GblId, Str=] = + \u srt:SRT:[] [] + GHC.CString.unpackCString# + "This code should not have been reached."#; +Control.Concurrent.Fiber.Internal.block2 :: forall a_a5ZB. a_a5ZB +[GblId, Str=b] = + \u srt:SRT:[05 :-> GHC.Err.error, rCFZ :-> lvl_rCFZ] [] + GHC.Err.error lvl_rCFZ; +lvl1_rCG0 :: [GHC.Types.Char] +[GblId, Str=] = + \u srt:SRT:[] [] + GHC.CString.unpackCString# + "Attempted to extract a value from a Fiber's yield or block."#; +Control.Concurrent.Fiber.Internal.block3 :: GHC.Prim.Any +[GblId, Str=b] = + \u srt:SRT:[05 :-> GHC.Err.error, rCG0 :-> lvl1_rCG0] [] + GHC.Err.error lvl1_rCG0; +lvl2_rCG1 :: [GHC.Types.Char] +[GblId, Str=] = + \u srt:SRT:[] [] + GHC.CString.unpackCString# + "You cannot yield or block as the last action of a Fiber."#; +Control.Concurrent.Fiber.Internal.block4 :: forall a_a5ZB. a_a5ZB +[GblId, Str=b] = + \u srt:SRT:[05 :-> GHC.Err.error, rCG1 :-> lvl2_rCG1] [] + GHC.Err.error lvl2_rCG1; +Control.Concurrent.Fiber.Internal.yield'1 + :: forall a_a5ZB. + GHC.Types.Bool + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5ZB #) +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFB :-> Control.Concurrent.Fiber.Internal.block2, + rCFC :-> Control.Concurrent.Fiber.Internal.block3, + rCFD :-> Control.Concurrent.Fiber.Internal.block4] [block5_sD2K + s_sD2L] + case + __primcall eta.fibers.PrimOps.popContStack [s_sD2L] + of + _ [Occ=Dead] + { (#,,#) ipv_sD2O [Occ=Once*] + ipv1_sD2P [Occ=Once!] + ipv2_sD2Q [Occ=Once] -> + case ipv1_sD2P of _ [Occ=Dead] { + __DEFAULT -> + (#,#) [ipv_sD2O Control.Concurrent.Fiber.Internal.block4]; + 1 -> + let { + sat_sD2T [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] + ipv2_sD2Q Control.Concurrent.Fiber.Internal.block3; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sD2T ipv_sD2O] + of + s2_sD2U [OS=OneShot] + { __DEFAULT -> + case + case block5_sD2K of sat_sD2W { + __DEFAULT -> dataToTag# [sat_sD2W]; + } + of + sat_sD2X + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.yieldFiber [sat_sD2X s2_sD2U] + of + wild_sD2Y [OS=OneShot] + { __DEFAULT -> + (#,#) [wild_sD2Y Control.Concurrent.Fiber.Internal.block2]; + }; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.yield1 + :: forall a_a5ZR. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5ZR #) +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFB :-> Control.Concurrent.Fiber.Internal.block2, + rCFC :-> Control.Concurrent.Fiber.Internal.block3, + rCFD :-> Control.Concurrent.Fiber.Internal.block4] [s_sD2Z] + case + __primcall eta.fibers.PrimOps.popContStack [s_sD2Z] + of + _ [Occ=Dead] + { (#,,#) ipv_sD32 [Occ=Once*] + ipv1_sD33 [Occ=Once!] + ipv2_sD34 [Occ=Once] -> + case ipv1_sD33 of _ [Occ=Dead] { + __DEFAULT -> + (#,#) [ipv_sD32 Control.Concurrent.Fiber.Internal.block4]; + 1 -> + let { + sat_sD37 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] + ipv2_sD34 Control.Concurrent.Fiber.Internal.block3; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sD37 ipv_sD32] + of + s2_sD38 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.yieldFiber [0 s2_sD38] + of + wild_sD3A [OS=OneShot] + { __DEFAULT -> + (#,#) [wild_sD3A Control.Concurrent.Fiber.Internal.block2]; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.block1 + :: forall a_a5ZJ. + GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5ZJ #) +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFB :-> Control.Concurrent.Fiber.Internal.block2, + rCFC :-> Control.Concurrent.Fiber.Internal.block3, + rCFD :-> Control.Concurrent.Fiber.Internal.block4] [s_sD3B] + case + __primcall eta.fibers.PrimOps.popContStack [s_sD3B] + of + _ [Occ=Dead] + { (#,,#) ipv_sD3E [Occ=Once*] + ipv1_sD3F [Occ=Once!] + ipv2_sD3G [Occ=Once] -> + case ipv1_sD3F of _ [Occ=Dead] { + __DEFAULT -> + (#,#) [ipv_sD3E Control.Concurrent.Fiber.Internal.block4]; + 1 -> + let { + sat_sD3J [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] + ipv2_sD3G Control.Concurrent.Fiber.Internal.block3; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sD3J ipv_sD3E] + of + s2_sD3K [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.yieldFiber [1 s2_sD3K] + of + wild_sD3M [OS=OneShot] + { __DEFAULT -> + (#,#) [wild_sD3M Control.Concurrent.Fiber.Internal.block2]; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.$fException_Empty1 + :: [GHC.Types.Char] +[GblId, Str=] = + \u srt:SRT:[] [] GHC.CString.unpackCString# "Empty"#; +Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$s$dmfail + :: forall a_a6PK. + GHC.Base.String -> Control.Concurrent.Fiber.Internal.Fiber a_a6PK +[GblId, Arity=1, Str=b, Unf=OtherCon []] = + \r srt:SRT:[05 :-> GHC.Err.error] [eta_sD3N] + GHC.Err.error eta_sD3N; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$sliftA2 + :: forall a1_a8I7 b_a8I8 c_a8I9. + (a1_a8I7 -> b_a8I8 -> c_a8I9) + -> Control.Concurrent.Fiber.Internal.Fiber a1_a8I7 + -> Control.Concurrent.Fiber.Internal.Fiber b_a8I8 + -> Control.Concurrent.Fiber.Internal.Fiber c_a8I9 +[GblId, + Arity=4, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDZ :-> Control.Concurrent.Fiber.Internal.$fApplicative_Fiber1] [eta_B4 + eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fApplicative_Fiber1 + eta_B4 eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$s$dm<* + :: forall a_a6WA b_a6WB. + Control.Concurrent.Fiber.Internal.Fiber a_a6WA + -> Control.Concurrent.Fiber.Internal.Fiber b_a6WB + -> Control.Concurrent.Fiber.Internal.Fiber a_a6WA +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFY :-> a3_rCFY] [eta_B3 eta_B2 eta_B1] + a3_rCFY eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.catchf1 + :: forall a_a5YO e_a5YP. + GHC.Exception.Exception e_a5YP => + Control.Concurrent.Fiber.Internal.Fiber a_a5YO + -> (e_a5YP -> Control.Concurrent.Fiber.Internal.Fiber a_a5YO) + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5YO #) +[GblId, + Arity=4, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [$dException_sD3O ds_sD3P exc_sD3Q eta_sD3R] + let { + sat_sD3W [Occ=Once] + :: GHC.Exception.SomeException + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a6_a5YO #) + [LclId, Str=] = + \r srt:SRT:[] [e1_sD3S] + case + GHC.Exception.fromException $dException_sD3O e1_sD3S + of + _ [Occ=Dead] + { GHC.Base.Nothing -> + let { + sat_sD3U [Occ=Once] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a6_a5YO #) + [LclId, Str=] = + \r srt:SRT:[] [eta_B1] raiseIO# [e1_sD3S eta_B1]; + } in sat_sD3U; + GHC.Base.Just e'_sD3V [Occ=Once] -> exc_sD3Q e'_sD3V; + }; + } in catch# [ds_sD3P sat_sD3W eta_sD3R]; +Control.Concurrent.Fiber.Internal.$fShow_Empty1 + :: Control.Concurrent.Fiber.Internal.Empty -> GHC.Show.ShowS +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCEB :-> Control.Concurrent.Fiber.Internal.$fException_Empty1] [ds_sD3X + eta_sD3Y] + case ds_sD3X of _ [Occ=Dead] { + Control.Concurrent.Fiber.Internal.Empty -> + GHC.Base.++ + Control.Concurrent.Fiber.Internal.$fException_Empty1 eta_sD3Y; + }; +Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber1 + :: forall a_a6N1. GHC.Types.IO a_a6N1 -> GHC.Types.IO a_a6N1 +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [ds_sD40] ds_sD40; +Control.Concurrent.Fiber.Internal.unFiber1 + :: forall a_a4UC. + Control.Concurrent.Fiber.Internal.Fiber a_a4UC + -> Control.Concurrent.Fiber.Internal.Fiber a_a4UC +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [ds_sD41] ds_sD41; +Control.Concurrent.Fiber.Internal.catchf + :: forall a_a48Q e_a48R. + GHC.Exception.Exception e_a48R => + Control.Concurrent.Fiber.Internal.Fiber a_a48Q + -> (e_a48R -> Control.Concurrent.Fiber.Internal.Fiber a_a48Q) + -> Control.Concurrent.Fiber.Internal.Fiber a_a48Q +[GblId, + Arity=4, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B4 eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.catchf1 + eta_B4 eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.delEvent :: GHC.Types.IO () +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.delEvent1 eta_B1; +Control.Concurrent.Fiber.Internal.getEvent + :: forall a_a48S. GHC.Types.IO (GHC.Base.Maybe a_a48S) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.getEvent1 eta_B1; +Control.Concurrent.Fiber.Internal.setEvent + :: forall a_a640. a_a640 -> GHC.Types.IO () +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.setEvent1 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.forkFiber + :: Control.Concurrent.Fiber.Internal.Fiber () + -> GHC.Types.IO GHC.Conc.Sync.ThreadId +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.forkFiber1 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.yield' + :: forall a_a48T. + GHC.Types.Bool -> Control.Concurrent.Fiber.Internal.Fiber a_a48T +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFU :-> Control.Concurrent.Fiber.Internal.yield'1] [eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.yield'1 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.block + :: forall a_a48U. Control.Concurrent.Fiber.Internal.Fiber a_a48U +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1] [eta_B1] + Control.Concurrent.Fiber.Internal.block1 eta_B1; +Control.Concurrent.Fiber.Internal.yield + :: forall a_a48V. Control.Concurrent.Fiber.Internal.Fiber a_a48V +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFT :-> Control.Concurrent.Fiber.Internal.yield1] [eta_B1] + Control.Concurrent.Fiber.Internal.yield1 eta_B1; +Control.Concurrent.Fiber.Internal.unlift + :: forall a_a66M. + Control.Concurrent.Fiber.Internal.Fiber a_a66M + -> GHC.Types.IO a_a66M +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.unFiber1 eta_B1; +Control.Concurrent.Fiber.Internal.getCurrent + :: GHC.Types.IO GHC.Prim.Any +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.getCurrentC [eta_B1]; +Control.Concurrent.Fiber.Internal.getStack + :: GHC.Types.IO Control.Concurrent.Fiber.Internal.Obj +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.getStack1 eta_B1; +Control.Concurrent.Fiber.Internal.topStack + :: GHC.Types.IO GHC.Types.Int +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.topStack1 eta_B1; +Control.Concurrent.Fiber.Internal.runFiberWithBlock + :: forall a_a4E4. + Control.Concurrent.Fiber.Internal.Fiber a_a4E4 + -> GHC.Types.IO + (Data.Either.Either + (GHC.Types.Bool, Control.Concurrent.Fiber.Internal.Fiber a_a4E4) + a_a4E4) +[GblId, Arity=1, Str=b, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sD43] GHC.Err.undefined; +Control.Concurrent.Fiber.Internal.runFiber + :: forall a_a4HZ. + Control.Concurrent.Fiber.Internal.Fiber a_a4HZ + -> GHC.Types.IO + (Data.Either.Either + (Control.Concurrent.Fiber.Internal.Fiber a_a4HZ) a_a4HZ) +[GblId, Arity=1, Str=b, Unf=OtherCon []] = + \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sD44] GHC.Err.undefined; +Control.Concurrent.Fiber.Internal.throwEmpty + :: forall a_a4I0. GHC.Types.IO a_a4I0 +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 eta_B1; +Control.Concurrent.Fiber.Internal.catchEmpty + :: forall (m_a4I1 :: * -> *) a_a4I2. + GHC.Base.Monad m_a4I1 => + m_a4I1 a_a4I2 -> m_a4I1 a_a4I2 -> m_a4I1 a_a4I2 +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.catchEmpty2 eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.getCurrentC# + :: forall s_a4TW[sk]. + GHC.Prim.State# s_a4TW[sk] + -> (# GHC.Prim.State# s_a4TW[sk], GHC.Prim.Any #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.getCurrentC [eta_B1]; +Control.Concurrent.Fiber.Internal.setCurrentC# + :: forall s_a4TV[sk]. + GHC.Prim.Any + -> GHC.Prim.State# s_a4TV[sk] -> GHC.Prim.State# s_a4TV[sk] +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.setCurrentC [eta_B2 eta_B1]; +Control.Concurrent.Fiber.Internal.pushNextC# + :: forall s_a4TU[sk]. + GHC.Prim.Any + -> GHC.Prim.State# s_a4TU[sk] -> GHC.Prim.State# s_a4TU[sk] +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.pushNextC [eta_B2 eta_B1]; +Control.Concurrent.Fiber.Internal.popNextC# + :: forall s_a4TT[sk]. + GHC.Prim.State# s_a4TT[sk] + -> (# GHC.Prim.State# s_a4TT[sk], GHC.Prim.Any #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.popNextC [eta_B1]; +Control.Concurrent.Fiber.Internal.popContStack# + :: forall s_a4TS[sk]. + GHC.Prim.State# s_a4TS[sk] + -> (# GHC.Prim.State# s_a4TS[sk], GHC.Prim.Int#, GHC.Prim.Any #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.popContStack [eta_B1]; +Control.Concurrent.Fiber.Internal.yieldFiber# + :: forall s_a4TR[sk]. + GHC.Prim.Int# + -> GHC.Prim.State# s_a4TR[sk] -> GHC.Prim.State# s_a4TR[sk] +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.yieldFiber [eta_B2 eta_B1]; +Control.Concurrent.Fiber.Internal.getEvent# + :: forall s_a4TP[sk] a_a4TQ[sk]. + GHC.Prim.State# s_a4TP[sk] + -> (# GHC.Prim.State# s_a4TP[sk], GHC.Prim.Int#, a_a4TQ[sk] #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.getEventCC [eta_B1]; +Control.Concurrent.Fiber.Internal.setEvent# + :: forall s_a4TO[sk]. + GHC.Prim.Any + -> GHC.Prim.State# s_a4TO[sk] -> GHC.Prim.State# s_a4TO[sk] +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.setEventC [eta_B2 eta_B1]; +Control.Concurrent.Fiber.Internal.delEvent# + :: forall s_a4TN[sk]. + GHC.Prim.State# s_a4TN[sk] -> GHC.Prim.State# s_a4TN[sk] +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.delEventCC [eta_B1]; +Control.Concurrent.Fiber.Internal.getTSO# + :: forall s_a4TM[sk]. + GHC.Prim.State# s_a4TM[sk] + -> (# GHC.Prim.State# s_a4TM[sk], GHC.Prim.ThreadId# #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.getTSOC [eta_B1]; +Control.Concurrent.Fiber.Internal.setContStack# + :: forall s_a4TL[sk]. + GHC.Prim.Int# + -> GHC.Prim.Object# GHC.Types.Object + -> GHC.Prim.Any + -> GHC.Prim.State# s_a4TL[sk] + -> GHC.Prim.State# s_a4TL[sk] +[GblId, + Arity=4, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B4 eta_B3 eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.setContStack [eta_B4 + eta_B3 + eta_B2 + eta_B1]; +Control.Concurrent.Fiber.Internal.topStack# + :: forall s_a4TK[sk]. + GHC.Prim.State# s_a4TK[sk] + -> (# GHC.Prim.State# s_a4TK[sk], GHC.Prim.Int# #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.topStackC [eta_B1]; +Control.Concurrent.Fiber.Internal.getStack# + :: forall s_a4TJ[sk]. + GHC.Prim.State# s_a4TJ[sk] + -> (# GHC.Prim.State# s_a4TJ[sk], + GHC.Prim.Object# GHC.Types.Object #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.getStackC [eta_B1]; +Control.Concurrent.Fiber.Internal.setTopStack# + :: forall s_a4TI[sk]. + GHC.Prim.Int# + -> GHC.Prim.State# s_a4TI[sk] -> GHC.Prim.State# s_a4TI[sk] +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.setTopStackC [eta_B2 eta_B1]; +Control.Concurrent.Fiber.Internal.alternativeFiber# + :: forall s_a4TH[sk]. + GHC.Prim.Any + -> GHC.Prim.Any + -> GHC.Prim.State# s_a4TH[sk] + -> (# GHC.Prim.State# s_a4TH[sk], GHC.Prim.Any #) +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] + __primcall eta.fibers.PrimOps.alternativeFiber [eta_B3 + eta_B2 + eta_B1]; +Control.Concurrent.Fiber.Internal.throwEmpty# + :: forall s_a4TG[sk]. + GHC.Prim.State# s_a4TG[sk] -> GHC.Prim.State# s_a4TG[sk] +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + __primcall eta.fibers.PrimOps.throwEmpty [eta_B1]; +Control.Concurrent.Fiber.Internal.unFiber + :: forall a_a48P. + Control.Concurrent.Fiber.Internal.Fiber a_a48P + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a48P #) +[GblId[[RecSel]], + Arity=1, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.unFiber1 eta_B1; +Control.Concurrent.Fiber.Internal.$fException_Empty2 + :: Data.Typeable.Internal.TypeRep +[GblId, Str=m] = + \u srt:SRT:[] [] + case "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq"# of a6_sD4L { + __DEFAULT -> + let { + ww2_sD4M [Occ=Once] :: GHC.Base.String + [LclId, Str=] = + \u srt:SRT:[] [] GHC.CString.unpackCString# a6_sD4L; + } in + case "Control.Concurrent.Fiber.Internal"# of a7_sD4N { + __DEFAULT -> + let { + ww3_sD4O [Occ=Once] :: GHC.Base.String + [LclId, Str=] = + \u srt:SRT:[] [] GHC.CString.unpackCString# a7_sD4N; + } in + case "Empty"# of a8_sD4P { + __DEFAULT -> + let { + ww4_sD4Q [Occ=Once] :: GHC.Base.String + [LclId, Str=] = + \u srt:SRT:[] [] GHC.CString.unpackCString# a8_sD4P; } in + let { + wild_sD4R [Occ=Once] :: Data.Typeable.Internal.TyCon + [LclId, Str=, Unf=OtherCon []] = + NO_CCS Data.Typeable.Internal.TyCon! [__word64 8876078581063674855 + __word64 15964071736263936320 + ww2_sD4M + ww3_sD4O + ww4_sD4Q]; + } in + Data.Typeable.Internal.TypeRep [__word64 8876078581063674855 + __word64 15964071736263936320 + wild_sD4R + GHC.Types.[] + GHC.Types.[]]; + }; + }; + }; +Control.Concurrent.Fiber.Internal.$fException_Empty4 + :: GHC.Prim.Proxy# Control.Concurrent.Fiber.Internal.Empty + -> Data.Typeable.Internal.TypeRep +[GblId, Arity=1, Str=m, Unf=OtherCon []] = + \r srt:SRT:[rCED :-> Control.Concurrent.Fiber.Internal.$fException_Empty2] [wild_sD4S] + Control.Concurrent.Fiber.Internal.$fException_Empty2; +Control.Concurrent.Fiber.Internal.$fFunctor_Fiber1 + :: forall a1_a88Y b_a88Z. + a1_a88Y + -> Control.Concurrent.Fiber.Internal.Fiber b_a88Z + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a1_a88Y #) +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_sD4T eta1_sD4U eta2_sD4V] + case eta1_sD4U eta2_sD4V of _ [Occ=Dead] { + (#,#) ipv_sD4X [Occ=Once] _ [Occ=Dead] -> + (#,#) [ipv_sD4X eta_sD4T]; + }; +Control.Concurrent.Fiber.Internal.$fFunctor_Fiber_$c<$ + :: forall a_a706 b_a707. + a_a706 + -> Control.Concurrent.Fiber.Internal.Fiber b_a707 + -> Control.Concurrent.Fiber.Internal.Fiber a_a706 +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.$fFunctor_Fiber1 + eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2 + :: forall a1_a89H b_a89I. + Control.Concurrent.Fiber.Internal.Fiber a1_a89H + -> Control.Concurrent.Fiber.Internal.Fiber b_a89I + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a89I #) +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD4Z + eta1_sD50 + eta2_sD51] + let { + sat_sD56 [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber (b_a89I -> b_a89I) + [LclId, Str=] = + \r srt:SRT:[] [eta3_sD52] + case eta_sD4Z eta3_sD52 of _ [Occ=Dead] { + (#,#) ipv_sD54 [Occ=Once] _ [Occ=Dead] -> + (#,#) [ipv_sD54 GHC.Base.id]; + }; + } in + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + sat_sD56 eta1_sD50 eta2_sD51; +Control.Concurrent.Fiber.Internal.$fFunctor_Fiber_$cfmap + :: forall a_a6ZU b_a6ZV. + (a_a6ZU -> b_a6ZV) + -> Control.Concurrent.Fiber.Internal.Fiber a_a6ZU + -> Control.Concurrent.Fiber.Internal.Fiber b_a6ZV +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.$fFunctor_Fiber2 + eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fFunctor_Fiber [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Base.Functor Control.Concurrent.Fiber.Internal.Fiber +[GblId[DFunId], Caf=NoCafRefs, Str=m, Unf=OtherCon []] = + NO_CCS GHC.Base.D:Functor! [Control.Concurrent.Fiber.Internal.$fFunctor_Fiber2 + Control.Concurrent.Fiber.Internal.$fFunctor_Fiber1]; +Control.Concurrent.Fiber.Internal.$fException_Empty_$cfromException + :: GHC.Exception.SomeException + -> GHC.Base.Maybe Control.Concurrent.Fiber.Internal.Empty +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCED :-> Control.Concurrent.Fiber.Internal.$fException_Empty2] [eta_sD57] + case eta_sD57 of _ [Occ=Dead] { + GHC.Exception.SomeException $dException1_sD59 [Occ=Once] + e2_sD5A [Occ=Once] -> + case + GHC.Exception.$p1Exception $dException1_sD59 GHC.Prim.proxy# + of + _ [Occ=Dead] + { Data.Typeable.Internal.TypeRep dt_sD5C [Occ=Once] + dt1_sD5D [Occ=Once] + _ [Occ=Dead] + _ [Occ=Dead] + _ [Occ=Dead] -> + case + Control.Concurrent.Fiber.Internal.$fException_Empty2 + of + _ [Occ=Dead] + { Data.Typeable.Internal.TypeRep dt2_sD5I [Occ=Once] + dt3_sD5J [Occ=Once] + _ [Occ=Dead] + _ [Occ=Dead] + _ [Occ=Dead] -> + case eqWord64# [dt_sD5C dt2_sD5I] of _ [Occ=Dead] { + __DEFAULT -> GHC.Base.Nothing []; + 1 -> + case eqWord64# [dt1_sD5D dt3_sD5J] of _ [Occ=Dead] { + __DEFAULT -> GHC.Base.Nothing []; + 1 -> GHC.Base.Just [e2_sD5A]; + }; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.$fException_Empty3 + :: Data.Typeable.Internal.Typeable + Control.Concurrent.Fiber.Internal.Empty +[GblId, Arity=1, Str=m, Unf=OtherCon []] = + \r srt:SRT:[rCEJ :-> Control.Concurrent.Fiber.Internal.$fException_Empty4] [eta_B1] + Control.Concurrent.Fiber.Internal.$fException_Empty4 eta_B1; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1 + :: forall a1_a89P. + Control.Concurrent.Fiber.Internal.Fiber a1_a89P + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a1_a89P] #) +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD5P + eta1_sD5Q] + let { + a7_sD5R [Occ=LoopBreaker] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [s_sD5S] + let { + sat_sD5Z [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber ([a6_a89P] -> [a6_a89P]) + [LclId, Str=] = + \r srt:SRT:[] [s1_sD5U] + case eta_sD5P s1_sD5U of _ [Occ=Dead] { + (#,#) ipv_sD5W [Occ=Once] ipv1_sD5X [Occ=OnceL] -> + let { + sat_sD5Y [Occ=Once] :: [a6_a89P] -> [a6_a89P] + [LclId, Str=] = + \r srt:SRT:[] [eta_B1] : [ipv1_sD5X eta_B1]; + } in (#,#) [ipv_sD5W sat_sD5Y]; + }; } in + let { + sat_sD60 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + sat_sD5Z a7_sD5R; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sD60 + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber2 + s_sD5S]; + } in a7_sD5R eta1_sD5Q; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$cmany + :: forall a_a6YZ. + Control.Concurrent.Fiber.Internal.Fiber a_a6YZ + -> Control.Concurrent.Fiber.Internal.Fiber [a_a6YZ] +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDO :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1] [eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1 + eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4 + :: forall a1_a89V. + Control.Concurrent.Fiber.Internal.Fiber a1_a89V + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a1_a89V] #) +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD61 + eta1_sD62] + let { + a7_sD63 [Occ=Once] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a6_a89V] -> [a6_a89V] #) + [LclId, + Arity=1, + Str= {a89W->}, + Unf=OtherCon []] = + \r srt:SRT:[] [s_sD64] + case eta_sD61 s_sD64 of _ [Occ=Dead] { + (#,#) ipv_sD66 [Occ=Once] ipv1_sD67 [Occ=OnceL] -> + let { + sat_sD68 [Occ=Once] :: [a6_a89V] -> [a6_a89V] + [LclId, Str=] = + \r srt:SRT:[] [eta_B1] : [ipv1_sD67 eta_B1]; + } in (#,#) [ipv_sD66 sat_sD68]; + }; } in + let { + a8_sD69 [Occ=Once] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sD6B] + __primcall eta.fibers.PrimOps.alternativeFiber [a9_sD6A + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber2 + s_sD6B]; + a9_sD6A [Occ=LoopBreaker] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a6_a89V] #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + a7_sD63 a8_sD69 eta_B1; + } in a9_sD6A eta1_sD62; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$csome + :: forall a_a6YR. + Control.Concurrent.Fiber.Internal.Fiber a_a6YR + -> Control.Concurrent.Fiber.Internal.Fiber [a_a6YR] +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDS :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4] [eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4 + eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$c<|> + :: forall a_a6VI. + Control.Concurrent.Fiber.Internal.Fiber a_a6VI + -> Control.Concurrent.Fiber.Internal.Fiber a_a6VI + -> Control.Concurrent.Fiber.Internal.Fiber a_a6VI +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber5 + eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$cempty + :: forall a_a6RV. Control.Concurrent.Fiber.Internal.Fiber a_a6RV +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 eta_B1; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1 + :: forall a_X76R. + GHC.Base.Monoid a_X76R => + [Control.Concurrent.Fiber.Internal.Fiber a_X76R] + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_X76R #) +[GblId, + Arity=3, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [$dMonoid_sD6D + eta_sD6E + eta1_sD6F] + let { + lvl3_sD6G [Occ=OnceL] :: a6_X76R + [LclId, Str=] = + \u srt:SRT:[] [] GHC.Base.mempty $dMonoid_sD6D; } in + let { + a7_sD6H [Occ=LoopBreaker] + :: [Control.Concurrent.Fiber.Internal.Fiber a6_X76R] + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a6_X76R #) + [LclId, Arity=2, Str=, Unf=OtherCon []] = + sat-only \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [ds_sD6I + eta2_sD6J] + case ds_sD6I of _ [Occ=Dead] { + [] -> (#,#) [eta2_sD6J lvl3_sD6G]; + : y_sD6L [Occ=Once] ys_sD6M [Occ=Once] -> + let { + sat_sD6T [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber a6_X76R + [LclId, Str=] = + \r srt:SRT:[] [eta_B1] a7_sD6H ys_sD6M eta_B1; } in + let { + sat_sD6S [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber (a6_X76R -> a6_X76R) + [LclId, Str=] = + \r srt:SRT:[] [s_sD6N] + case y_sD6L s_sD6N of _ [Occ=Dead] { + (#,#) ipv_sD6P [Occ=Once] ipv1_sD6Q [Occ=Once] -> + let { + sat_sD6R [Occ=Once] :: a6_X76R -> a6_X76R + [LclId, Str=] = + \u srt:SRT:[] [] + GHC.Base.mappend $dMonoid_sD6D ipv1_sD6Q; + } in (#,#) [ipv_sD6P sat_sD6R]; + }; + } in + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + sat_sD6S sat_sD6T eta2_sD6J; + }; + } in a7_sD6H eta_sD6E eta1_sD6F; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber_$cmconcat + :: forall a_a6WE. + GHC.Base.Monoid a_a6WE => + [Control.Concurrent.Fiber.Internal.Fiber a_a6WE] + -> Control.Concurrent.Fiber.Internal.Fiber a_a6WE +[GblId, + Arity=3, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCER :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1] [eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1 + eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber_$cmappend + :: forall a_a6WE. + GHC.Base.Monoid a_a6WE => + Control.Concurrent.Fiber.Internal.Fiber a_a6WE + -> Control.Concurrent.Fiber.Internal.Fiber a_a6WE + -> Control.Concurrent.Fiber.Internal.Fiber a_a6WE +[GblId, + Arity=4, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCET :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2] [eta_B4 + eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2 + eta_B4 eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber_$cmempty + :: forall a_a6WE. + GHC.Base.Monoid a_a6WE => + Control.Concurrent.Fiber.Internal.Fiber a_a6WE +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.$fMonoid_Fiber3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fMonoid_Fiber [InlPrag=[ALWAYS] CONLIKE] + :: forall a_a4W2. + GHC.Base.Monoid a_a4W2 => + GHC.Base.Monoid (Control.Concurrent.Fiber.Internal.Fiber a_a4W2) +[GblId[DFunId], Arity=1, Str=m, Unf=OtherCon []] = + \r srt:SRT:[rCER :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1, + rCET :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2] [$dMonoid_sD6U] + let { + sat_sD6Z [Occ=Once] + :: [Control.Concurrent.Fiber.Internal.Fiber a6_X76Q] + -> Control.Concurrent.Fiber.Internal.Fiber a6_X76Q + [LclId, Str=] = + \r srt:SRT:[rCER :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1] [eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1 + $dMonoid_sD6U eta_B2 eta_B1; } in + let { + sat_sD6Y [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber a6_X76Q + -> Control.Concurrent.Fiber.Internal.Fiber a6_X76Q + -> Control.Concurrent.Fiber.Internal.Fiber a6_X76Q + [LclId, Str=] = + \r srt:SRT:[rCET :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2] [eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2 + $dMonoid_sD6U eta_B3 eta_B2 eta_B1; } in + let { + sat_sD6X [Occ=Once] + :: Control.Concurrent.Fiber.Internal.Fiber a6_X76Q + [LclId, Str=] = + \r srt:SRT:[] [s_sD6V] + let { + sat_sD6W [Occ=Once] :: a6_X76Q + [LclId, Str=] = + \u srt:SRT:[] [] GHC.Base.mempty $dMonoid_sD6U; + } in (#,#) [s_sD6V sat_sD6W]; + } in GHC.Base.D:Monoid [sat_sD6X sat_sD6Y sat_sD6Z]; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$c*> + :: forall a_a6VU b_a6VV. + Control.Concurrent.Fiber.Internal.Fiber a_a6VU + -> Control.Concurrent.Fiber.Internal.Fiber b_a6VV + -> Control.Concurrent.Fiber.Internal.Fiber b_a6VV +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCE1 :-> Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2] [eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2 + eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$c<*> + :: forall a_a6Q1 b_a6Q2. + Control.Concurrent.Fiber.Internal.Fiber (a_a6Q1 -> b_a6Q2) + -> Control.Concurrent.Fiber.Internal.Fiber a_a6Q1 + -> Control.Concurrent.Fiber.Internal.Fiber b_a6Q2 +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$cpure + :: forall a_a6PQ. + a_a6PQ -> Control.Concurrent.Fiber.Internal.Fiber a_a6PQ +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 + eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fApplicative_Fiber [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Base.Applicative Control.Concurrent.Fiber.Internal.Fiber +[GblId[DFunId], Str=m, Unf=OtherCon []] = + NO_CCS GHC.Base.D:Applicative! [Control.Concurrent.Fiber.Internal.$fFunctor_Fiber + Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 + Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2 + a3_rCFY]; +Control.Concurrent.Fiber.Internal.$fAlternative_Fiber [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Base.Alternative Control.Concurrent.Fiber.Internal.Fiber +[GblId[DFunId], Str=m, Unf=OtherCon []] = + NO_CCS GHC.Base.D:Alternative! [Control.Concurrent.Fiber.Internal.$fApplicative_Fiber + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber5 + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4 + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1]; +Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$c>>= + :: forall a_a6DM b_a6DN. + Control.Concurrent.Fiber.Internal.Fiber a_a6DM + -> (a_a6DM -> Control.Concurrent.Fiber.Internal.Fiber b_a6DN) + -> Control.Concurrent.Fiber.Internal.Fiber b_a6DN +[GblId, + Arity=3, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + eta_B3 eta_B2 eta_B1; +a5_rCG3 + :: forall a1_a8A1. + [GHC.Types.Char] -> Control.Concurrent.Fiber.Internal.Fiber a1_a8A1 +[GblId, Arity=1, Str=b, Unf=OtherCon []] = + \r srt:SRT:[05 :-> GHC.Err.error] [eta_sD70] + GHC.Err.error eta_sD70; +Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$c>> [InlPrag=INLINE (sat-args=2)] + :: forall a_a6CV b_a6CW. + Control.Concurrent.Fiber.Internal.Fiber a_a6CV + -> Control.Concurrent.Fiber.Internal.Fiber b_a6CW + -> Control.Concurrent.Fiber.Internal.Fiber b_a6CW +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[r4VC :-> Control.Concurrent.Fiber.Internal.$fMonad_Fiber] [eta_sD71 + eta1_sD72] + let { + sat_sD74 [Occ=Once] + :: a6_a6CV -> Control.Concurrent.Fiber.Internal.Fiber b_a6CW + [LclId, Str=] = + \r srt:SRT:[] [ds_sD73] eta1_sD72; + } in + GHC.Base.>>= + Control.Concurrent.Fiber.Internal.$fMonad_Fiber eta_sD71 sat_sD74; +Control.Concurrent.Fiber.Internal.$fMonad_Fiber [InlPrag=[ALWAYS] CONLIKE, + Occ=LoopBreaker!] + :: GHC.Base.Monad Control.Concurrent.Fiber.Internal.Fiber +[GblId[DFunId], Str=m, Unf=OtherCon []] = + NO_CCS GHC.Base.D:Monad! [Control.Concurrent.Fiber.Internal.$fApplicative_Fiber + Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 + Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$c>> + Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 + a5_rCG3]; +Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber_$cliftIO + :: forall a_a6FO. + GHC.Types.IO a_a6FO + -> Control.Concurrent.Fiber.Internal.Fiber a_a6FO +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber1 eta_B1; +Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber [InlPrag=[ALWAYS] CONLIKE] + :: Control.Monad.IO.Class.MonadIO + Control.Concurrent.Fiber.Internal.Fiber +[GblId[DFunId], Str=m, Unf=OtherCon []] = + NO_CCS Control.Monad.IO.Class.D:MonadIO! [Control.Concurrent.Fiber.Internal.$fMonad_Fiber + Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber1]; +Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowList + :: [Control.Concurrent.Fiber.Internal.Empty] -> GHC.Show.ShowS +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCEG :-> Control.Concurrent.Fiber.Internal.$fShow_Empty1] [eta_B2 + eta_B1] + GHC.Show.showList__ + Control.Concurrent.Fiber.Internal.$fShow_Empty1 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow + :: Control.Concurrent.Fiber.Internal.Empty -> GHC.Base.String +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCEB :-> Control.Concurrent.Fiber.Internal.$fException_Empty1] [x_sD75] + case x_sD75 of _ [Occ=Dead] { + Control.Concurrent.Fiber.Internal.Empty -> + Control.Concurrent.Fiber.Internal.$fException_Empty1; + }; +Control.Concurrent.Fiber.Internal.$fException_Empty_$cdisplayException + :: Control.Concurrent.Fiber.Internal.Empty -> GHC.Base.String +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCEA :-> Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow] [eta_B1] + Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow eta_B1; +Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowsPrec + :: GHC.Types.Int + -> Control.Concurrent.Fiber.Internal.Empty -> GHC.Show.ShowS +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCEB :-> Control.Concurrent.Fiber.Internal.$fException_Empty1] [ds_sD77 + ds1_sD78 + eta_sD79] + case ds1_sD78 of _ [Occ=Dead] { + Control.Concurrent.Fiber.Internal.Empty -> + GHC.Base.++ + Control.Concurrent.Fiber.Internal.$fException_Empty1 eta_sD79; + }; +Control.Concurrent.Fiber.Internal.$fShow_Empty [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show Control.Concurrent.Fiber.Internal.Empty +[GblId[DFunId], Str=m, Unf=OtherCon []] = + NO_CCS GHC.Show.D:Show! [Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowsPrec + Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow + Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowList]; +Control.Concurrent.Fiber.Internal.$fException_Empty [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Exception.Exception Control.Concurrent.Fiber.Internal.Empty +[GblId[DFunId], Str=m, Unf=OtherCon []] = + NO_CCS GHC.Exception.D:Exception! [Control.Concurrent.Fiber.Internal.$fException_Empty4 + Control.Concurrent.Fiber.Internal.$fShow_Empty + Control.Concurrent.Fiber.Internal.$fException_Empty_$ctoException + Control.Concurrent.Fiber.Internal.$fException_Empty_$cfromException + Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow]; +Control.Concurrent.Fiber.Internal.$fException_Empty_$ctoException [Occ=LoopBreaker] + :: Control.Concurrent.Fiber.Internal.Empty + -> GHC.Exception.SomeException +[GblId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[r4WM :-> Control.Concurrent.Fiber.Internal.$fException_Empty] [eta_B1] + GHC.Exception.SomeException [Control.Concurrent.Fiber.Internal.$fException_Empty + eta_B1]; +Control.Concurrent.Fiber.Internal.async_go [Occ=LoopBreaker] + :: forall s_a4IC. + GHC.Prim.Any -> GHC.Prim.State# s_a4IC -> GHC.Prim.State# s_a4IC +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [a6_sD7B s1_sD7C] + case + __primcall eta.fibers.PrimOps.popContStack [s1_sD7C] + of + _ [Occ=Dead] + { (#,,#) ipv_sD7F [Occ=Once*] + ipv1_sD7G [Occ=Once!] + ipv2_sD7H [Occ=Once] -> + case ipv1_sD7G of _ [Occ=Dead] { + __DEFAULT -> ipv_sD7F; + 1 -> + case ipv2_sD7H a6_sD7B of fa_sD7J [Dmd=] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [fa_sD7J ipv_sD7F] + of + s2_sD7L [OS=OneShot] + { __DEFAULT -> + case fa_sD7J s2_sD7L of _ [Occ=Dead] { + (#,#) ipv3_sD7N [Occ=Once] ipv4_sD7O [Occ=Once] -> + Control.Concurrent.Fiber.Internal.async_go + ipv4_sD7O ipv3_sD7N; + }; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.resumeFiber1 + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [s_sD7P] + case + __primcall eta.fibers.PrimOps.getCurrentC [s_sD7P] + of + _ [Occ=Dead] + { (#,#) ipv_sD7S [Occ=Once] ipv1_sD7T [Occ=Once] -> + case ipv1_sD7T ipv_sD7S of _ [Occ=Dead] { + (#,#) ipv2_sD7V [Occ=Once] ipv3_sD7W [Occ=Once] -> + case + Control.Concurrent.Fiber.Internal.async_go ipv3_sD7W ipv2_sD7V + of + wild_sD7X [OS=OneShot] + { __DEFAULT -> (#,#) [wild_sD7X GHC.Tuple.()]; + }; + }; + }; +Control.Concurrent.Fiber.Internal.resumeFiber + :: Control.Concurrent.Fiber.Internal.Fiber () +[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.resumeFiber1 eta_B1; +Control.Concurrent.Fiber.Internal.async3 + :: forall a_a6FB. + a_a6FB + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = + \r srt:SRT:[] [ev_sD7Y s_sD7Z] + case + __primcall eta.fibers.PrimOps.setEventC [ev_sD7Y s_sD7Z] + of + s1_sD81 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.getCurrentC [s1_sD81] + of + _ [Occ=Dead] + { (#,#) ipv_sD84 [Occ=Once] ipv1_sD85 [Occ=Once] -> + case ipv1_sD85 ipv_sD84 of _ [Occ=Dead] { + (#,#) ipv2_sD87 [Occ=Once] ipv3_sD88 [Occ=Once] -> + case + Control.Concurrent.Fiber.Internal.async_go ipv3_sD88 ipv2_sD87 + of + wild_sD89 [OS=OneShot] + { __DEFAULT -> (#,#) [wild_sD89 GHC.Tuple.()]; + }; + }; + }; + }; +Control.Concurrent.Fiber.Internal.$wa [InlPrag=[0]] + :: forall eventdata_a60J response_a60K. + ((eventdata_a60J -> GHC.Types.IO response_a60K) -> GHC.Types.IO ()) + -> GHC.Types.IO response_a60K + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, eventdata_a60J #) +[GblId, + Arity=3, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [w_sD8A + w1_sD8B + w2_sD8C] + case + __primcall eta.fibers.PrimOps.getEventCC [w2_sD8C] + of + _ [Occ=Dead] + { (#,,#) ipv_sD8F [Occ=Once*] + ipv1_sD8G [Occ=Once!] + ipv2_sD8H [Occ=Once] -> + case ipv1_sD8G of _ [Occ=Dead] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.topStackC [ipv_sD8F] + of + _ [Occ=Dead] + { (#,#) ipv3_sD8L [Occ=Once] ipv4_sD8M [Occ=OnceL] -> + case + __primcall eta.fibers.PrimOps.getStackC [ipv3_sD8L] + of + _ [Occ=Dead] + { (#,#) ipv5_sD8P [Occ=Once] ipv6_sD8Q [Occ=OnceL] -> + case + __primcall eta.fibers.PrimOps.getCurrentC [ipv5_sD8P] + of + _ [Occ=Dead] + { (#,#) ipv7_sD8T [Occ=Once] ipv8_sD8U [Occ=OnceL] -> + let { + sat_sD97 [Occ=Once] + :: eventdata_a60J -> GHC.Types.IO response_a60K + [LclId, Str=] = + \r srt:SRT:[] [dat_sD8V s_sD8W] + let { + sat_sD93 [Occ=Once] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, + () #) + [LclId, Str=] = + \r srt:SRT:[] [s1_sD8X] + let { + sat_sD92 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [s2_sD8Z] + case + __primcall eta.fibers.PrimOps.setContStack [ipv4_sD8M + ipv6_sD8Q + ipv8_sD8U + s2_sD8Z] + of + s3_sD91 [OS=OneShot] + { __DEFAULT -> + Control.Concurrent.Fiber.Internal.async3 + dat_sD8V s3_sD91; + }; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sD92 + Control.Concurrent.Fiber.Internal.async2 + s1_sD8X]; + } in + case fork# [sat_sD93 s_sD8W] of _ [Occ=Dead] { + (#,#) ipv9_sD95 [Occ=Once] _ [Occ=Dead] -> + w1_sD8B ipv9_sD95; + }; + } in + case w_sD8A sat_sD97 ipv7_sD8T of _ [Occ=Dead] { + (#,#) ipv9_sD99 [Occ=Once] _ [Occ=Dead] -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + ipv9_sD99; + }; + }; + }; + }; + 1 -> + case + __primcall eta.fibers.PrimOps.delEventCC [ipv_sD8F] + of + s1_sD9C [OS=OneShot] + { __DEFAULT -> (#,#) [s1_sD9C ipv2_sD8H]; + }; + }; + }; +Control.Concurrent.Fiber.Internal.react1 [InlPrag=INLINE[0]] + :: forall eventdata_a60J response_a60K. + Data.Typeable.Internal.Typeable eventdata_a60J => + ((eventdata_a60J -> GHC.Types.IO response_a60K) -> GHC.Types.IO ()) + -> GHC.Types.IO response_a60K + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, eventdata_a60J #) +[GblId, + Arity=4, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCFO :-> Control.Concurrent.Fiber.Internal.$wa] [w_sD9D + w1_sD9E + w2_sD9F + w3_sD9G] + Control.Concurrent.Fiber.Internal.$wa w1_sD9E w2_sD9F w3_sD9G; +Control.Concurrent.Fiber.Internal.react + :: forall eventdata_a48X response_a48Y. + Data.Typeable.Internal.Typeable eventdata_a48X => + ((eventdata_a48X -> GHC.Types.IO response_a48Y) -> GHC.Types.IO ()) + -> GHC.Types.IO response_a48Y + -> Control.Concurrent.Fiber.Internal.Fiber eventdata_a48X +[GblId, + Arity=4, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[rCFN :-> Control.Concurrent.Fiber.Internal.react1] [eta_B4 + eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.react1 + eta_B4 eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.forkCont1 + :: forall a_X6QF. + GHC.Types.IO a_X6QF + -> GHC.Prim.Int# + -> GHC.Prim.Object# GHC.Types.Object + -> GHC.Prim.Any + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, + Arity=5, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [io_sD9H top_sD9I stack_sD9J curr_sD9K s_sD9L] + let { + sat_sD9V [Occ=Once] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) + [LclId, Str=] = + \r srt:SRT:[] [s1_sD9M] + let { + sat_sD9U [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [s2_sD9O] + case + __primcall eta.fibers.PrimOps.setContStack [top_sD9I + stack_sD9J + curr_sD9K + s2_sD9O] + of + s3_sD9Q [OS=OneShot] + { __DEFAULT -> + case io_sD9H s3_sD9Q of _ [Occ=Dead] { + (#,#) ipv_sD9S [Occ=Once] ipv1_sD9T [Occ=Once] -> + Control.Concurrent.Fiber.Internal.async3 ipv1_sD9T ipv_sD9S; + }; + }; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sD9U + Control.Concurrent.Fiber.Internal.async2 + s1_sD9M]; + } in + case fork# [sat_sD9V s_sD9L] of _ [Occ=Dead] { + (#,#) ipv_sD9X [Occ=Once] _ [Occ=Dead] -> + (#,#) [ipv_sD9X GHC.Tuple.()]; + }; +Control.Concurrent.Fiber.Internal.async1 + :: forall a_a600. + GHC.Types.IO a_a600 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a600 #) +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [io_sD9Z + eta_sDA0] + case + __primcall eta.fibers.PrimOps.getEventCC [eta_sDA0] + of + _ [Occ=Dead] + { (#,,#) ipv_sDA3 [Occ=Once*] + ipv1_sDA4 [Occ=Once!] + ipv2_sDA5 [Occ=Once] -> + case ipv1_sDA4 of _ [Occ=Dead] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.topStackC [ipv_sDA3] + of + _ [Occ=Dead] + { (#,#) ipv3_sDA9 [Occ=Once] ipv4_sDAA [Occ=Once] -> + case + __primcall eta.fibers.PrimOps.getStackC [ipv3_sDA9] + of + _ [Occ=Dead] + { (#,#) ipv5_sDAD [Occ=Once] ipv6_sDAE [Occ=Once] -> + case + __primcall eta.fibers.PrimOps.getCurrentC [ipv5_sDAD] + of + _ [Occ=Dead] + { (#,#) ipv7_sDAH [Occ=Once] ipv8_sDAI [Occ=Once] -> + let { + sat_sDAS [Occ=Once] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) + [LclId, Str=] = + \r srt:SRT:[] [s_sDAJ] + let { + sat_sDAR [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [s1_sDAL] + case + __primcall eta.fibers.PrimOps.setContStack [ipv4_sDAA + ipv6_sDAE + ipv8_sDAI + s1_sDAL] + of + s2_sDAN [OS=OneShot] + { __DEFAULT -> + case + io_sD9Z s2_sDAN + of + _ [Occ=Dead] + { (#,#) ipv9_sDAP [Occ=Once] + ipv10_sDAQ [Occ=Once] -> + Control.Concurrent.Fiber.Internal.async3 + ipv10_sDAQ ipv9_sDAP; + }; + }; + } in + __primcall eta.fibers.PrimOps.alternativeFiber [sat_sDAR + Control.Concurrent.Fiber.Internal.async2 + s_sDAJ]; + } in + case fork# [sat_sDAS ipv7_sDAH] of _ [Occ=Dead] { + (#,#) ipv9_sDAU [Occ=Once] _ [Occ=Dead] -> + Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 + ipv9_sDAU; + }; + }; + }; + }; + 1 -> + case + __primcall eta.fibers.PrimOps.delEventCC [ipv_sDA3] + of + s1_sDAX [OS=OneShot] + { __DEFAULT -> (#,#) [s1_sDAX ipv2_sDA5]; + }; + }; + }; +Control.Concurrent.Fiber.Internal.async + :: forall a_a48W. + GHC.Types.IO a_a48W + -> Control.Concurrent.Fiber.Internal.Fiber a_a48W +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCF6 :-> Control.Concurrent.Fiber.Internal.async1] [eta_B2 + eta_B1] + Control.Concurrent.Fiber.Internal.async1 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.forkCont + :: forall a_a6F9. + GHC.Types.IO a_a6F9 + -> GHC.Prim.Int# + -> GHC.Prim.Object# GHC.Types.Object + -> GHC.Prim.Any + -> GHC.Types.IO () +[GblId, + Arity=5, + Caf=NoCafRefs, + Str=, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B5 eta_B4 eta_B3 eta_B2 eta_B1] + Control.Concurrent.Fiber.Internal.forkCont1 + eta_B5 eta_B4 eta_B3 eta_B2 eta_B1; +Control.Concurrent.Fiber.Internal.Obj + :: GHC.Prim.Object# GHC.Types.Object + -> Control.Concurrent.Fiber.Internal.Obj +[GblId[DataCon], + Arity=1, + Caf=NoCafRefs, + Str=m, + Unf=OtherCon []] = + \r srt:SRT:[] [eta_B1] + Control.Concurrent.Fiber.Internal.Obj [eta_B1]; +Control.Concurrent.Fiber.Internal.Empty + :: Control.Concurrent.Fiber.Internal.Empty +[GblId[DataCon], Caf=NoCafRefs, Str=, Unf=OtherCon []] = + NO_CCS Control.Concurrent.Fiber.Internal.Empty! []; + diff --git a/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg b/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg new file mode 100644 index 0000000..32828c0 --- /dev/null +++ b/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg @@ -0,0 +1,289 @@ + +==================== STG syntax: ==================== +2018-02-08 11:48:32.120238 UTC + +Control.Concurrent.Fiber.MVar.$wa1 [InlPrag=[0]] + :: forall a_aE5A. + GHC.Prim.MVar# GHC.Prim.RealWorld a_aE5A + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_aE5A #) +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, + rCFC :-> Control.Concurrent.Fiber.Internal.block3] [ww_sEJG w_sEJH] + let { + a1_sEJI [Occ=LoopBreaker] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_aE5A #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, + rCFC :-> Control.Concurrent.Fiber.Internal.block3] [s_sEJJ] + case tryTakeMVar# [ww_sEJG s_sEJJ] of _ [Occ=Dead] { + (#,,#) ipv_sEJL [Occ=Once*] + ipv1_sEJM [Occ=Once!] + ipv2_sEJN [Occ=Once] -> + case ipv1_sEJM of _ [Occ=Dead] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.awakenMVarListeners [ww_sEJG + ipv_sEJL] + of + s''_sEJQ [OS=OneShot] + { __DEFAULT -> (#,#) [s''_sEJQ ipv2_sEJN]; + }; + 0 -> + case + __primcall eta.fibers.PrimOps.addMVarListener [ww_sEJG ipv_sEJL] + of + s''_sEJS [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [Control.Concurrent.Fiber.Internal.block1 + s''_sEJS] + of + s1_sEJU [OS=OneShot] + { __DEFAULT -> + let { + sat_sEJY [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [ds2_sEJW eta_sEJX] a1_sEJI eta_sEJX; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sEJY + s1_sEJU] + of + s2_sEJZ [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popContStack [s2_sEJZ] + of + _ [Occ=Dead] + { (#,,#) ipv3_sEK2 [Occ=Once*] + ipv4_sEK3 [Occ=Once!] + ipv5_sEK4 [Occ=Once] -> + case ipv4_sEK3 of _ [Occ=Dead] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv3_sEK2] + of + _ [Occ=Dead] + { (#,#) ipv6_sEK8 [Occ=Once] + _ [Occ=Dead] -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a1_sEJI + ipv6_sEK8] + of + s5_sEKB [OS=OneShot] + { __DEFAULT -> a1_sEJI s5_sEKB; + }; + }; + 1 -> + let { + sat_sEKD [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] + ipv5_sEK4 + Control.Concurrent.Fiber.Internal.block3; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sEKD + ipv3_sEK2] + of + s4_sEKE [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.yieldFiber [1 + s4_sEKE] + of + wild_sEKG [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [wild_sEKG] + of + _ [Occ=Dead] + { (#,#) ipv6_sEKJ [Occ=Once] + _ [Occ=Dead] -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a1_sEJI + ipv6_sEKJ] + of + s5_sEKM [OS=OneShot] + { __DEFAULT -> + a1_sEJI + s5_sEKM; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + } in a1_sEJI w_sEJH; +Control.Concurrent.Fiber.MVar.takeMVar1 [InlPrag=INLINE[0]] + :: forall a_aE5A. + GHC.MVar.MVar a_aE5A + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_aE5A #) +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rEJD :-> Control.Concurrent.Fiber.MVar.$wa1] [w_sEKN + w1_sEKO] + case w_sEKN of _ [Occ=Dead] { + GHC.MVar.MVar ww1_sEKQ [Occ=Once] -> + Control.Concurrent.Fiber.MVar.$wa1 ww1_sEKQ w1_sEKO; + }; +Control.Concurrent.Fiber.MVar.takeMVar + :: forall a_aE3F. + GHC.MVar.MVar a_aE3F + -> Control.Concurrent.Fiber.Internal.Fiber a_aE3F +[GblId, Arity=2, Str=, Unf=OtherCon []] = + \r srt:SRT:[rEJC :-> Control.Concurrent.Fiber.MVar.takeMVar1] [eta_B2 + eta_B1] + Control.Concurrent.Fiber.MVar.takeMVar1 eta_B2 eta_B1; +Control.Concurrent.Fiber.MVar.$wa [InlPrag=[0]] + :: forall a_aE51. + GHC.Prim.MVar# GHC.Prim.RealWorld a_aE51 + -> a_aE51 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, + rCFC :-> Control.Concurrent.Fiber.Internal.block3] [ww_sEKR + w_sEKS + w1_sEKT] + let { + a1_sEKU [Occ=LoopBreaker] + :: GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) + [LclId, Arity=1, Str=, Unf=OtherCon []] = + \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, + rCFC :-> Control.Concurrent.Fiber.Internal.block3] [s_sEKV] + case tryPutMVar# [ww_sEKR w_sEKS s_sEKV] of _ [Occ=Dead] { + (#,#) ipv_sEKX [Occ=Once*] ipv1_sEKY [Occ=Once!] -> + case ipv1_sEKY of _ [Occ=Dead] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.awakenMVarListeners [ww_sEKR + ipv_sEKX] + of + s''_sEL1 [OS=OneShot] + { __DEFAULT -> (#,#) [s''_sEL1 GHC.Tuple.()]; + }; + 0 -> + case + __primcall eta.fibers.PrimOps.addMVarListener [ww_sEKR ipv_sEKX] + of + s''_sEL3 [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.setCurrentC [Control.Concurrent.Fiber.Internal.block1 + s''_sEL3] + of + s1_sEL5 [OS=OneShot] + { __DEFAULT -> + let { + sat_sEL9 [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \r srt:SRT:[] [ds2_sEL7 eta_sEL8] a1_sEKU eta_sEL8; + } in + case + __primcall eta.fibers.PrimOps.pushNextC [sat_sEL9 + s1_sEL5] + of + s2_sELA [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popContStack [s2_sELA] + of + _ [Occ=Dead] + { (#,,#) ipv2_sELD [Occ=Once*] + ipv3_sELE [Occ=Once!] + ipv4_sELF [Occ=Once] -> + case ipv3_sELE of _ [Occ=Dead] { + __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [ipv2_sELD] + of + _ [Occ=Dead] + { (#,#) ipv5_sELJ [Occ=Once] + _ [Occ=Dead] -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a1_sEKU + ipv5_sELJ] + of + s5_sELM [OS=OneShot] + { __DEFAULT -> a1_sEKU s5_sELM; + }; + }; + 1 -> + let { + sat_sELO [Occ=Once] :: GHC.Prim.Any + [LclId, Str=] = + \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] + ipv4_sELF + Control.Concurrent.Fiber.Internal.block3; + } in + case + __primcall eta.fibers.PrimOps.setCurrentC [sat_sELO + ipv2_sELD] + of + s4_sELP [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.yieldFiber [1 + s4_sELP] + of + wild_sELR [OS=OneShot] + { __DEFAULT -> + case + __primcall eta.fibers.PrimOps.popNextC [wild_sELR] + of + _ [Occ=Dead] + { (#,#) ipv5_sELU [Occ=Once] + _ [Occ=Dead] -> + case + __primcall eta.fibers.PrimOps.setCurrentC [a1_sEKU + ipv5_sELU] + of + s5_sELX [OS=OneShot] + { __DEFAULT -> + a1_sEKU + s5_sELX; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + } in a1_sEKU w1_sEKT; +Control.Concurrent.Fiber.MVar.putMVar1 [InlPrag=INLINE[0]] + :: forall a_aE51. + GHC.MVar.MVar a_aE51 + -> a_aE51 + -> GHC.Prim.State# GHC.Prim.RealWorld + -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rEJB :-> Control.Concurrent.Fiber.MVar.$wa] [w_sELY + w1_sELZ + w2_sEM0] + case w_sELY of _ [Occ=Dead] { + GHC.MVar.MVar ww1_sEM2 [Occ=Once] -> + Control.Concurrent.Fiber.MVar.$wa ww1_sEM2 w1_sELZ w2_sEM0; + }; +Control.Concurrent.Fiber.MVar.putMVar + :: forall a_aE3E. + GHC.MVar.MVar a_aE3E + -> a_aE3E -> Control.Concurrent.Fiber.Internal.Fiber () +[GblId, Arity=3, Str=, Unf=OtherCon []] = + \r srt:SRT:[rE4T :-> Control.Concurrent.Fiber.MVar.putMVar1] [eta_B3 + eta_B2 + eta_B1] + Control.Concurrent.Fiber.MVar.putMVar1 eta_B3 eta_B2 eta_B1; + diff --git a/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs b/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs new file mode 100644 index 0000000..a3a380a --- /dev/null +++ b/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs @@ -0,0 +1,39 @@ +{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} +{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} +module Paths_eta_fibers_dev ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + +version :: Version +version = Version [0,1,0,0] [] +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath + +bindir = "/root/.etlas/bin" +libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq" +dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3" +datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0" +libexecdir = "/root/.etlas/libexec" +sysconfdir = "/root/.etlas/etc" + +getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath +getBinDir = catchIO (getEnv "eta_fibers_dev_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "eta_fibers_dev_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "eta_fibers_dev_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "eta_fibers_dev_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "eta_fibers_dev_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "eta_fibers_dev_sysconfdir") (\_ -> return sysconfdir) + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir ++ "/" ++ name) diff --git a/fibers-dev/dist/build/threadring/autogen/cabal_macros.h b/fibers-dev/dist/build/threadring/autogen/cabal_macros.h new file mode 100644 index 0000000..0698ec3 --- /dev/null +++ b/fibers-dev/dist/build/threadring/autogen/cabal_macros.h @@ -0,0 +1,118 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package eta-fibers-dev-0.1.0.0 */ +#ifndef VERSION_eta_fibers_dev +#define VERSION_eta_fibers_dev "0.1.0.0" +#endif /* VERSION_eta_fibers_dev */ +#ifndef MIN_VERSION_eta_fibers_dev +#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_eta_fibers_dev */ + +/* package base-4.8.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.8.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 8 || \ + (major1) == 4 && (major2) == 8 && (minor) <= 2) +#endif /* MIN_VERSION_base */ + +/* package transformers-0.5.5.0 */ +#ifndef VERSION_transformers +#define VERSION_transformers "0.5.5.0" +#endif /* VERSION_transformers */ +#ifndef MIN_VERSION_transformers +#define MIN_VERSION_transformers(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 5 || \ + (major1) == 0 && (major2) == 5 && (minor) <= 5) +#endif /* MIN_VERSION_transformers */ + +/* package eta-fibers-dev-0.1.0.0 */ +#ifndef VERSION_eta_fibers_dev +#define VERSION_eta_fibers_dev "0.1.0.0" +#endif /* VERSION_eta_fibers_dev */ +#ifndef MIN_VERSION_eta_fibers_dev +#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_eta_fibers_dev */ + +/* tool eta-0.7.0.1 */ +#ifndef TOOL_VERSION_eta +#define TOOL_VERSION_eta "0.7.0.1" +#endif /* TOOL_VERSION_eta */ +#ifndef MIN_TOOL_VERSION_eta +#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta */ + +/* tool eta-pkg-0.7.0.1 */ +#ifndef TOOL_VERSION_eta_pkg +#define TOOL_VERSION_eta_pkg "0.7.0.1" +#endif /* TOOL_VERSION_eta_pkg */ +#ifndef MIN_TOOL_VERSION_eta_pkg +#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_eta_pkg */ + +/* tool git-2.11.0 */ +#ifndef TOOL_VERSION_git +#define TOOL_VERSION_git "2.11.0" +#endif /* TOOL_VERSION_git */ +#ifndef MIN_TOOL_VERSION_git +#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 11 || \ + (major1) == 2 && (major2) == 11 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_git */ + +/* tool jar-0 */ +#ifndef TOOL_VERSION_jar +#define TOOL_VERSION_jar "0" +#endif /* TOOL_VERSION_jar */ +#ifndef MIN_TOOL_VERSION_jar +#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 0 || \ + (major1) == 0 && (major2) == 0 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_jar */ + +/* tool java-1.8.0.151 */ +#ifndef TOOL_VERSION_java +#define TOOL_VERSION_java "1.8.0.151" +#endif /* TOOL_VERSION_java */ +#ifndef MIN_TOOL_VERSION_java +#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_java */ + +/* tool javac-1.8.0.151 */ +#ifndef TOOL_VERSION_javac +#define TOOL_VERSION_javac "1.8.0.151" +#endif /* TOOL_VERSION_javac */ +#ifndef MIN_TOOL_VERSION_javac +#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 8 || \ + (major1) == 1 && (major2) == 8 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_javac */ + +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq-threadring" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/fibers-dev/dist/build/threadring/install-launchers/threadring b/fibers-dev/dist/build/threadring/install-launchers/threadring new file mode 100644 index 0000000..f9c60ea --- /dev/null +++ b/fibers-dev/dist/build/threadring/install-launchers/threadring @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +if [ -z "$ETA_JAVA_CMD" ]; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" + else + ETA_JAVA_CMD="$JAVA_HOME/bin/java" + fi + else + ETA_JAVA_CMD="java" + fi +fi +$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/threadring.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/fibers-dev/dist/build/threadring/threadring b/fibers-dev/dist/build/threadring/threadring new file mode 100644 index 0000000..594f366 --- /dev/null +++ b/fibers-dev/dist/build/threadring/threadring @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +if [ -z "$ETA_JAVA_CMD" ]; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" + else + ETA_JAVA_CMD="$JAVA_HOME/bin/java" + fi + else + ETA_JAVA_CMD="java" + fi +fi +$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/threadring.jar:$DIR/../HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/fibers-dev/dist/etlas-config-flags b/fibers-dev/dist/etlas-config-flags new file mode 100644 index 0000000000000000000000000000000000000000..2554acbf2190fa0f60b6fafeea9c9a09c991585a GIT binary patch literal 114 zcmY+-(FuSs3(aABg oEA2dUQV~xpc|(hJ80kl*D+ZARI{Nujsqh`dq{T_Tq>hIA0)*lx1poj5 literal 0 HcmV?d00001 diff --git a/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf b/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf new file mode 100644 index 0000000..700009d --- /dev/null +++ b/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf @@ -0,0 +1,26 @@ +name: fibers-dev +version: 0.1.0.0 +id: fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq +key: fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq +license: BSD3 +maintainer: rahulmutt@gmail.com +author: Rahul Muttineni +exposed: True +indefinite: False +exposed-modules: + Control.Concurrent.Fiber Control.Concurrent.Fiber.Internal + Control.Concurrent.Fiber.MVar +abi: inplace +trusted: False +import-dirs: /fibers-dev/dist/build +library-dirs: /fibers-dev/dist/build +dynamic-library-dirs: /fibers-dev/dist/build +data-dir: /fibers-dev +hs-libraries: HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq +depends: + base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF + transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR +abi-depends: base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF=5b6a6a225409abadd0342f98620e6a89 + transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR=b622d0f0d4ca4314ad97d24f471e6867 +haddock-interfaces: /fibers-dev/dist/doc/html/fibers-dev/fibers-dev.haddock +haddock-html: /fibers-dev/dist/doc/html/fibers-dev diff --git a/fibers-dev/dist/package.conf.inplace/package.cache b/fibers-dev/dist/package.conf.inplace/package.cache new file mode 100644 index 0000000000000000000000000000000000000000..8d8f4dffdc3432fe906c49a275ce489f3dc73ed7 GIT binary patch literal 2171 zcmeHHO>fgc5KTW&Q8^%igt#CD!39;`Y~1zQzJVI7Mks1jP>Z;&z3Y03KZ3pKU*>P% zz>J-wq)MWS6Sm}8@4S68vrjV}WyExH)2W}m`RC7b@Dmoe_bk?-Dl1E>TZ@uDp@ahB zxb?u!Ay_oXf&X{yyOsmlEjFUQ97JcI##4UHE+RMmaHW61*{u&?%p;voQxPfn-v|39 z6qT|V@rX^RH5>;6^X+@~F-{ya{u=b@t&;=*Ju#)otGFn$`F&90)GxKXVQ_KnR@Edp zAJF1Up##pU%iW`NosbJIY};Yf7om`no-#Z3J#JIQh3D^{O*iDWEon?8iv&CEGa-Ff z+AL;nUvZDSK#j7!=(Xzfq^?Xaoat1qpia&|x3JAb1ct_J7x4bH8qy6H7~8#5tSq8l zVzPA6(N;>5TACu7Kp3QXyNLdMXMdrAGY4Q_o)x(%i4GHF5hb6pT2Oz`T zs4^ERB44dVj;=(*x6tvJ_fj+Ob@uC-fUcce4wLF^&agT`o|ht-rP<7w_cxi)DT#^< zXrErrUENXb)49rZ6K%UiGZ(O2R0Zu3Tq)2Vw<5vLqb04dg6)nyUKMgTn!{z4AwjI{ k{>FJo)RToSSV`gm#sx4o=Km~TKg*j-TC+ga|LOSq1t+?(0ssI2 literal 0 HcmV?d00001 diff --git a/fibers-dev/dist/setup-config b/fibers-dev/dist/setup-config new file mode 100644 index 0000000000000000000000000000000000000000..8fc853637edc48a6b3c8555a87379c08c851eb40 GIT binary patch literal 53264 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.10 + +library + exposed-modules: Control.Concurrent.Fiber + Control.Concurrent.Fiber.MVar + Control.Concurrent.Fiber.Internal + -- other-extensions: + build-depends: base >=4.8 && <4.9 + , transformers + hs-source-dirs: src + java-sources: prim/PrimOps.java + default-language: Haskell2010 + default-extensions: InstanceSigs + ScopedTypeVariables + GHCForeignImportPrim + MagicHash + UnboxedTuples + UnliftedFFITypes + ghc-options: -ddump-stg -ddump-to-file + +executable Main + main-is: Main.hs + build-depends: + base >=4.8 && <4.9 + , transformers + , fibers-dev + default-language: Haskell2010 + hs-source-dirs: . + ghc-options: -threaded -rtsopts \ No newline at end of file diff --git a/fibers-dev/prim/PrimOps.java b/fibers-dev/prim/PrimOps.java new file mode 100644 index 0000000..a715f18 --- /dev/null +++ b/fibers-dev/prim/PrimOps.java @@ -0,0 +1,157 @@ +package eta.fibers; + +import java.util.Queue; +import java.util.Map; +import java.util.Stack; +import java.util.IdentityHashMap; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.atomic.AtomicBoolean; + +import eta.runtime.stg.Capability; +import eta.runtime.stg.Closure; +import eta.runtime.stg.Closures; +import eta.runtime.stg.StgContext; +import eta.runtime.stg.TSO; +import eta.runtime.concurrent.Concurrent; +import eta.runtime.concurrent.Fiber; +import eta.runtime.concurrent.MVar; +//import eta.runtime.exception; + +import static ghc_prim.ghc.Types.*; +import static eta.runtime.stg.TSO.WhatNext.*; +import static eta.runtime.stg.Closures.*; + +/* TODO: Provide cleanup operations by extending the runtime with hooks. */ + + +public class PrimOps { + public static class EmptyException extends eta.runtime.exception.StgException {} + public static final EmptyException EMPTYEXCEPTION= new EmptyException(); + + public static IdentityHashMap tsoEvent = new IdentityHashMap(); + public static void throwEmpty(StgContext context){ + throw EMPTYEXCEPTION; + } + public static Closure alternativeFiber(StgContext context, Closure fa, Closure fb) { + TSO tso = context.currentTSO; + int oldTop = tso.contStackTop; + try { + return fa.applyV(context); + } catch (EmptyException e) { + tso.contStackTop = oldTop; + tso.currentCont= fb; + return fb.applyV(context); + } + } + + + + public static int topStackC(StgContext context){ + return context.currentTSO.contStackTop; + + } + + + + public static Object getStackC(StgContext context){ + Closure[] newContStack = new Closure[context.currentTSO.contStackTop]; + System.arraycopy(context.currentTSO.contStack,0,newContStack,0, context.currentTSO.contStackTop); + return newContStack; + } + + + public static void setTopStackC(StgContext context,int top){ + context.currentTSO.contStackTop= top; + } + + + public static TSO getTSOC(StgContext context) { + return context.currentTSO; + } + + public static void setContStack(StgContext context, int top, Object newContStack,Closure current){ + context.currentTSO.contStack= (Closure[]) newContStack; + context.currentTSO.contStackTop= top; + context.currentTSO.currentCont = current; + + } + + public static Closure getEventCC(StgContext context){ + Closure v= tsoEvent.get(context.currentTSO); + if (v==null) context.I1 = 0; else context.I1 = 1; + return v; + } + public static void setEventC(StgContext context,Closure ev){ + tsoEvent.put(context.currentTSO,ev); + } + + public static void delEventCC(StgContext context){ + tsoEvent.remove(context.currentTSO); + } + + + + public static void setCurrentC(StgContext context, Closure action) { + context.currentTSO.currentCont = action; + } + + public static void pushNextC(StgContext context, Closure action) { + context.currentTSO.pushCont(action); + } + + public static Closure popNextC(StgContext context) { + return context.currentTSO.popCont(); + } + + public static Closure getCurrentC(StgContext context) { + return context.currentTSO.currentCont; + } + + public static Closure popContStack(StgContext context) { + TSO tso = context.currentTSO; + if (tso.emptyContStack()) { + context.I1 = 0; + return null; + } else { + context.I1 = 1; + return tso.popCont(); + } + } + + public static Closure resumeFiber = null; + + static { + try { + resumeFiber = loadClosure("eta_fibers_dev.control.concurrent.fiber.Internal", "resumeFiber"); + } catch (Exception e) { + System.err.println("FATAL ERROR: Failed to load resumeFiber closure."); + e.printStackTrace(); + System.exit(1); + } + } + public static void yieldFiber(StgContext context, int block) { + TSO tso = context.currentTSO; + tso.whatNext = (block == 1)? ThreadBlock : ThreadYield; + Closure oldClosure = tso.closure; + if (oldClosure instanceof EvalLazyIO) { + ((EvalLazyIO) oldClosure).p = resumeFiber; + } else { + oldClosure = Closures.evalLazyIO(resumeFiber); + } + throw Fiber.yieldException.get(); + } + + public static void addMVarListener(StgContext context, MVar m) { + m.registerListener(context.currentTSO); + } + + public static void awakenMVarListeners(StgContext context, MVar m) { + for (TSO top = m.getListeners(); top != null;) { + Concurrent.pushToGlobalRunQueue(top); + TSO oldTop = top; + top = top.link; + oldTop.link = null; + } + } +} diff --git a/fibers-dev/prim/desktop.ini b/fibers-dev/prim/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-dev/prim/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-dev/src/Control/Concurrent/Fiber.hs b/fibers-dev/src/Control/Concurrent/Fiber.hs new file mode 100644 index 0000000..4946586 --- /dev/null +++ b/fibers-dev/src/Control/Concurrent/Fiber.hs @@ -0,0 +1,28 @@ +module Control.Concurrent.Fiber + (Fiber(..) + ,runFiber + ,forkFiber + ,yield + ,block + ,liftIO + + ,MVar + ,newMVar + ,newEmptyMVar + ,modifyMVar + ,takeMVar + ,putMVar + + ,setNumCapabilities + ,getNumCapabilities + + ,threadDelay + ) + where + +import Control.Concurrent.Fiber.Internal +import Control.Concurrent.Fiber.MVar +import Control.Monad.IO.Class +import GHC.Conc.Sync hiding (yield) +import GHC.Conc.IO +import Control.Concurrent.MVar (newEmptyMVar, newMVar, modifyMVar) diff --git a/fibers-dev/src/Control/Concurrent/Fiber/Internal.hs b/fibers-dev/src/Control/Concurrent/Fiber/Internal.hs new file mode 100644 index 0000000..375c85a --- /dev/null +++ b/fibers-dev/src/Control/Concurrent/Fiber/Internal.hs @@ -0,0 +1,360 @@ +module Control.Concurrent.Fiber.Internal where + +import GHC.Base +import GHC.Conc.Sync +import Control.Monad +import Unsafe.Coerce + +import Data.Typeable +import Control.Concurrent +import Control.Exception +import Control.Applicative +import Control.Monad.IO.Class +import Data.Monoid hiding (Any) +import Java.Core +import Data.IORef +-- Fiber +import Debug.Trace +-- (!>) x y= trace (show y) x + + +newtype Fiber a = Fiber { unFiber :: State# RealWorld -> (# State# RealWorld, a #) } + +instance Functor Fiber where + fmap f (Fiber io) = Fiber $ \s -> case io s of (# s1, a #) -> (# s1, f a #) + + +data Empty= Empty deriving (Show) +instance Exception Empty + +instance Alternative Fiber where + empty= Fiber $ \s -> case throwEmpty# s of s1 -> (# s1, undefined #) + mf <|> mg= unsafeCoerce $ Fiber $ \s -> alternativeFiber# (unsafeCoerce mf) (unsafeCoerce mg) s + -- Fiber $ \s -> case topStack# s of + -- (# s1, top, current #) -> catch# mf (mg' top current) s1 + -- where + -- mg' top current Empty s = case setTopStack# top (unsafeCoerce mg) s of + -- s1 -> mg s1 +catchEmpty :: Monad m => m a -> m a -> m a +catchEmpty mf mg= unsafeCoerce $ Fiber $ \s -> alternativeFiber# (unsafeCoerce mf) (unsafeCoerce mg) s +throwEmpty :: IO a +throwEmpty = IO $ \s -> case throwEmpty# s of s1 -> (# s1, undefined #) + +instance Monoid a => Monoid (Fiber a) where + mempty= return mempty + mappend x y= (<>) <$> x <*> y + +instance Applicative Fiber where + pure = return + -- (<*>) = ap + mf <*> mx = do + r1 <- liftIO $ newIORef Nothing + r2 <- liftIO $ newIORef Nothing + fparallel r1 r2 <|> xparallel r1 r2 + where + fparallel r1 r2= do + f <- mf + liftIO $ (writeIORef r1 $ Just f) + mx <- liftIO (readIORef r2) + case mx of + Nothing -> empty + Just x -> return $ f x + + xparallel r1 r2 = do + x <- mx + liftIO $ (writeIORef r2 $ Just x) + mf <- liftIO (readIORef r1) + case mf of + Nothing -> empty + Just f -> return $ f x + + -- Fiber mf <*> Fiber mx = Fiber $ \s -> + -- case newMutVar# Nothing s of + -- (# s1, r1 #) -> case newMutVar# Nothing s1 of + -- (# s2, r2 #) -> case topStack# s2 of + -- (# s3, top #) -> catch# (fparallel r1 r2 ) ( xparallel r1 r2 top ) s3 + + -- where + + -- fparallel r1 r2 s= case mf s of + -- (# s3, f #) -> case writeMutVar# r1 (Just f) s3 of + -- s4# -> case readMutVar# r2 s4# of + -- (# s5,mx #) -> case mx of + -- Just x -> (# s5, f x #) + -- Nothing -> raiseIO# (toException Empty) s5 + + + -- xparallel r1 r2 top (_ :: Empty) s= case mx s of + -- (# s3, x #) -> case writeMutVar# r2 (Just x) s3 of + -- s4# -> case readMutVar# r1 s4# of + -- (# s5,mf #) -> case mf of + -- Just f -> (# s5, f x #) + -- Nothing -> case setTopStack# top s5 of + -- s6 -> raiseIO# (toException Empty) s6 + + + +instance Monad Fiber where + return :: a -> Fiber a + return a = Fiber $ \s -> (# s, a #) + + (>>=) :: forall a b. Fiber a -> (a -> Fiber b) -> Fiber b + (>>=) (Fiber m) f = Fiber $ \s -> + case setCurrentC# (unsafeCoerce m) s of + s1 -> case pushNextC# (unsafeCoerce f) s1 of + s2 -> case m s2 of + (# s3, a #) -> case popNextC# s3 of + (# s4, _ #) -> + case f a of + fa -> case setCurrentC# (unsafeCoerce fa) s4 of + s5 -> unFiber fa s5 + +instance MonadIO Fiber where + liftIO :: IO a -> Fiber a + liftIO (IO m) = Fiber m + +-- Fiber Utilities +runFiber :: forall a. Fiber a -> IO (Either (Fiber a) a) +runFiber (Fiber m) = undefined + -- catch (fmap Right $ IO m) (\(Yield _ fiber) -> return $ Left (unsafeCoerce fiber)) + +runFiberWithBlock :: forall a. Fiber a -> IO (Either (Bool, Fiber a) a) +runFiberWithBlock (Fiber m) = undefined +-- catch (fmap Right $ IO m) $ +-- \(Yield block fiber) -> return $ Left (block, unsafeCoerce fiber) + +resumeFiber :: Fiber () +resumeFiber = Fiber $ \s -> + case getCurrentC# s of + (# s1, fiber #) -> + case (unsafeCoerce fiber) s1 of + (# s2, a #) -> (# go a s2, () #) + where go :: Any -> State# s -> State# s + go a s = + case popContStack# s of + (# s1, 1#, cont1 #) -> + let fa = (unsafeCoerce cont1) a + in case setCurrentC# fa s1 of + s2 -> case fa s2 of + (# s3, a' #) -> go a' s3 + (# s1, _, _ #) -> s1 + +react + :: Typeable eventdata + => ((eventdata -> IO response) -> IO ()) + -> IO response + -> Fiber eventdata +react setHandler iob= liftIO $ do + mev <- getEvent + case mev of + Nothing -> do + I# top <- topStack + Obj stack <- getStack + curr <- getCurrent + setHandler $ \dat ->do + forkCont (return dat) top stack curr -- make sure TSO info is in + iob + throwEmpty + + Just ev -> do + delEvent + return $ unsafeCoerce ev + + where + + +async :: IO a -> Fiber a +async io= liftIO $ do + mev <- getEvent + case mev of + + Nothing -> do + forkCont' io + throwEmpty + Just ev -> do + delEvent + return ev + + where + forkCont' io= do + I# top <- topStack + Obj stack <- getStack + curr <- getCurrent + forkCont io top stack curr + +forkCont io top stack curr= do + forkIO' $ do + setTSO top stack curr + ev <- io + setEvent ev + + unlift resumeFiber + return () + `catchEmpty` return () + + return() + where + setTSO top stack current = IO $ \s -> case setContStack# top stack current s of s2 -> (# s2, () #) + + forkIO' (IO mx)= IO $ \s -> case fork# mx s of (# s1, tid #) -> (# s1, ThreadId tid #) + +topStack= IO $ \s -> case topStack# s of (#s1, i #) -> (# s1, I# i #) +getStack= IO $ \s -> case getStack# s of (#s1, arr #) -> (#s1, Obj arr #) +getCurrent= IO $ \s -> getCurrentC# s + +data Obj = Obj (Object# Object) + +unlift (Fiber fib)= IO fib + + +-- async1 :: IO a -> Fiber a +-- async1 (IO io)= Fiber $ \s -> io' s +-- where +-- unFiber (Fiber fib)= fib +-- io' s = case getEvent# s of +-- (# s2, 0#, _ #) -> case forkCont s2 of +-- (# s5, _ #) -> raiseIO# (toException Empty) s5 + +-- (# s2, _, x #) -> case delEvent# s2 of +-- s3 -> (# s3, x #) + +-- forkCont = \s -> case getTSO# s of (#s2, tso #) -> fork# (execCont tso) s2 +-- where +-- execCont tso =IO $ \s -> case io s of +-- (# s1, x #) -> case setEvent# (unsafeCoerce x) s1 of +-- s2 -> case setContStack# tso s1 of s2 -> alternativeFiber# (unsafeCoerce resumeFiber) +-- (unsafeCoerce $ (return() ::IO())) s2 + + + + +yield :: Fiber a +yield = yield' False + +block :: Fiber a +block = yield' True + +yield' :: Bool -> Fiber a +yield' block = Fiber $ \s -> + case popContStack# s of + (# s1, 1#, current #) -> + let fa = (unsafeCoerce current) extractYieldError + in case setCurrentC# (unsafeCoerce fa) s1 of + s2 -> (# yieldFiber# (dataToTag# block) s2 + , unreachableCodeError #) + (# s1, _, _ #) -> (# s1, lastYieldError #) + where extractYieldError = + error "Attempted to extract a value from a Fiber's yield or block." + lastYieldError = + error "You cannot yield or block as the last action of a Fiber." + unreachableCodeError = + error "This code should not have been reached." + +forkFiber x= forkFiber' x `catchEmpty` myThreadId + where + forkFiber' :: Fiber () -> IO ThreadId + forkFiber' (Fiber m)= IO $ \s -> + case fork# m s of (# s1, tid #) -> (# s1, ThreadId tid #) + + +setEvent x= IO $ \s -> case setEvent# (unsafeCoerce x) s of s1 -> (#s1 , () #) + +getEvent :: IO (Maybe a) +getEvent = IO $ \s -> case getEvent# s of + (# s1, 1# , x #) -> (#s1, Just $ unsafeCoerce x #) + (# s1, _ , _ #) -> (#s1, Nothing #) + +delEvent= IO $ \s -> case delEvent# s of s1-> (# s1,() #) + + +catchf :: Exception e => Fiber a -> (e -> Fiber a) -> Fiber a +catchf (Fiber exp) exc= + case IO exp `catch` (\e -> case exc e of Fiber r -> IO r) of + (IO r) -> Fiber r + + +-- -- pure state + +-- data State= State (State# RealWorld) +-- getData :: Typeable a => Fiber (Maybe a) +-- getData = resp +-- where +-- -- get :: Fiber [(TypeRep,())] +-- get= Fiber $ \s -> (# s, State s #) + +-- resp = do +-- st <- get +-- let list= unsafeCoerce st +-- case lookup (typeOf $ typeResp resp) list of +-- Just x -> return . Just $ unsafeCoerce x +-- Nothing -> return Nothing +-- typeResp :: m (Maybe x) -> x +-- typeResp = undefined +-- -- Runtime primitives +-- setData x = do +-- st' <- get +-- let st= unsafeCoerce st' +-- let nelem= (t ,unsafeCoerce x) +-- put $ State $ nelem : filter ((/=) t . fst) st +-- where +-- t = typeOf x +-- get= Fiber $ \s -> (# s, State s #) +-- put (State x)= Fiber $ \_ -> (# x,() #) + +data {-# CLASS "java.util.Stack" #-} Stack + +type Stack# = Object# Stack + +foreign import prim "eta.fibers.PrimOps.getCurrentC" + getCurrentC# :: State# s -> (# State# s, Any #) + +foreign import prim "eta.fibers.PrimOps.setCurrentC" + setCurrentC# :: Any -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.pushNextC" + pushNextC# :: Any -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.popNextC" + popNextC# :: State# s -> (# State# s, Any #) + +foreign import prim "eta.fibers.PrimOps.popContStack" + popContStack# :: State# s -> (# State# s, Int#, Any #) + +foreign import prim "eta.fibers.PrimOps.yieldFiber" + yieldFiber# :: Int# -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.getEventCC" + getEvent# :: State# s -> (# State# s, Int#, a #) + +foreign import prim "eta.fibers.PrimOps.setEventC" + setEvent# :: Any -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.delEventCC" + delEvent# :: State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.getTSOC" + getTSO# :: State# s -> (# State# s, ThreadId# #) + +foreign import prim "eta.fibers.PrimOps.setContStack" + setContStack# :: Int# -> Object# Object -> Any -> State# s -> State# s + +-- foreign import prim "eta.fibers.PrimOps.traceC" +-- trace# :: String -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.topStackC" + topStack# :: State# s -> (#State# s, Int# #) + +foreign import prim "eta.fibers.PrimOps.getStackC" + getStack# :: State# s -> (#State# s, Object# Object #) + + + + +foreign import prim "eta.fibers.PrimOps.setTopStackC" + setTopStack# :: Int# -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.alternativeFiber" + alternativeFiber# :: Any -> Any -> State# s -> (# State# s, Any #) + +foreign import prim "eta.fibers.PrimOps.throwEmpty" + throwEmpty# :: State# s -> State# s \ No newline at end of file diff --git a/fibers-dev/src/Control/Concurrent/Fiber/MVar.hs b/fibers-dev/src/Control/Concurrent/Fiber/MVar.hs new file mode 100644 index 0000000..d3f4fda --- /dev/null +++ b/fibers-dev/src/Control/Concurrent/Fiber/MVar.hs @@ -0,0 +1,36 @@ +{-# LANGUAGE UnboxedTuples, MagicHash #-} +module Control.Concurrent.Fiber.MVar + (MVar, takeMVar, putMVar) +where + +import GHC.Base +import Control.Concurrent.Fiber.Internal +import GHC.MVar (MVar(..)) + +takeMVar :: MVar a -> Fiber a +takeMVar (MVar m) = go + where go = Fiber $ \s -> + case tryTakeMVar# m s of + (# s', 0#, _ #) -> + case addMVarListener# m s' of + s'' -> unFiber (block >> go) s'' + (# s', _, a #) -> + case awakenMVarListeners# m s' of + s'' -> (# s'', a #) + +putMVar :: MVar a -> a -> Fiber () +putMVar (MVar m) x = go + where go = Fiber $ \s -> + case tryPutMVar# m x s of + (# s', 0# #) -> + case addMVarListener# m s' of + s'' -> unFiber (block >> go) s'' + (# s', _ #) -> + case awakenMVarListeners# m s' of + s'' -> (# s'', () #) + +foreign import prim "eta.fibers.PrimOps.addMVarListener" + addMVarListener# :: MVar# s a -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.awakenMVarListeners" + awakenMVarListeners# :: MVar# s a -> State# s -> State# s diff --git a/fibers-dev/src/Control/Concurrent/Fiber/desktop.ini b/fibers-dev/src/Control/Concurrent/Fiber/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-dev/src/Control/Concurrent/Fiber/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-dev/src/Control/Concurrent/desktop.ini b/fibers-dev/src/Control/Concurrent/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-dev/src/Control/Concurrent/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-dev/src/Control/desktop.ini b/fibers-dev/src/Control/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-dev/src/Control/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-new/LICENSE b/fibers-new/LICENSE new file mode 100644 index 0000000..fc6bf1a --- /dev/null +++ b/fibers-new/LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2017, + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/fibers-new/Main.hs b/fibers-new/Main.hs new file mode 100644 index 0000000..058b071 --- /dev/null +++ b/fibers-new/Main.hs @@ -0,0 +1,50 @@ +import Control.Monad +import Control.Concurrent.MVar hiding (takeMVar, putMVar) +import qualified Control.Concurrent.MVar as MVar +import Control.Concurrent.Fiber +import Control.Concurrent.Fiber.MVar +import System.Environment +import GHC.Conc.Sync hiding (yield) +import GHC.Conc.IO +import Java + +import Control.Monad.IO.Class + +ring = 503 + +new l i = do + r <- newEmptyMVar + ret <- newEmptyMVar + forkFiber (thread ret i l r) + return (r, ret) + +thread :: MVar Int -> Int -> MVar Int -> MVar Int -> Fiber () +thread ret i l r = go + where go = do + m <- takeMVar l + putMVar r $! m - 1 + if (m < 1) + then putMVar ret m + else go + +threadring :: Int -> Int -> IO JIntArray +threadring ring msgs = do + setNumCapabilities 1 + a <- newMVar msgs + ret <- newEmptyMVar + (z, xs) <- foldM (\(prev, xs) i -> do + (r, ret) <- new prev i + return (r, ret:xs)) + (a, []) [2..ring] + forkFiber (thread ret 1 z a) + ints <- mapM MVar.takeMVar (reverse (ret : xs)) + return $ toJava ints + +foreign export java "@static eta.threadring.ThreadRing.start" + threadring :: Int -> Int -> IO JIntArray + +main :: IO () +main = do + msgs <- fmap (read . head) getArgs + threadring ring msgs + return () diff --git a/fibers-new/README b/fibers-new/README new file mode 100644 index 0000000..0c1d36f --- /dev/null +++ b/fibers-new/README @@ -0,0 +1 @@ +alternative Fiber monad for Eta diff --git a/fibers-new/Setup.hs b/fibers-new/Setup.hs new file mode 100644 index 0000000..9a994af --- /dev/null +++ b/fibers-new/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/fibers-new/fibers-new.cabal b/fibers-new/fibers-new.cabal new file mode 100644 index 0000000..36201d3 --- /dev/null +++ b/fibers-new/fibers-new.cabal @@ -0,0 +1,50 @@ +-- Initial fibers.cabal generated by etlas init. For further +-- documentation, see http://etlas.typelead.com/users-guide + +name: fibers-new +version: 0.1.0.0 +-- synopsis: +-- description: +license: BSD3 +license-file: LICENSE +-- author: +-- maintainer: +-- copyright: +-- category: +build-type: Simple +extra-source-files: ChangeLog.md +cabal-version: >=1.10 + +library + exposed-modules: Control.Concurrent.Fiber + Control.Concurrent.Fiber.MVar + other-modules: + -- other-extensions: + build-depends: base >=4.8 && <4.9 + , transformers + hs-source-dirs: src + java-sources: prim/PrimOps.java + default-language: Haskell2010 + default-extensions: InstanceSigs + ScopedTypeVariables + GHCForeignImportPrim + MagicHash + UnboxedTuples + UnliftedFFITypes + +executable Main + default-extensions: InstanceSigs + ScopedTypeVariables + GHCForeignImportPrim + MagicHash + UnboxedTuples + UnliftedFFITypes + ghc-options: -ddump-stg -ddump-to-file + main-is: Main.hs + -- other-modules: + other-extensions: MultiParamTypeClasses, ExistentialQuantification, ScopedTypeVariables, FlexibleInstances, FlexibleContexts, UndecidableInstances + build-depends: base >=4.8 && <4.9, transformers, fibers-new, timeit + hs-source-dirs: . + java-sources: prim/PrimOps.java + + default-language: Haskell2010 diff --git a/fibers-new/prim/PrimOps.java b/fibers-new/prim/PrimOps.java new file mode 100644 index 0000000..bba83c6 --- /dev/null +++ b/fibers-new/prim/PrimOps.java @@ -0,0 +1,42 @@ +package eta.fibers; + +import eta.runtime.stg.Capability; +import eta.runtime.stg.Closure; +import eta.runtime.stg.Closures; +import eta.runtime.stg.StgContext; +import eta.runtime.stg.TSO; +import eta.runtime.concurrent.Concurrent; +import eta.runtime.concurrent.Fiber; +import eta.runtime.concurrent.MVar; +//import eta.runtime.exception; + +import static ghc_prim.ghc.Types.*; +import static eta.runtime.stg.TSO.WhatNext.*; +import static eta.runtime.stg.Closures.*; + +public class PrimOps { + public static void yieldFiber(StgContext context, int block, Closure cont) { + TSO tso = context.currentTSO; + tso.whatNext = (block == 1)? ThreadBlock : ThreadYield; + Closure oldClosure = tso.closure; + if (oldClosure instanceof EvalLazyIO) { + ((EvalLazyIO) oldClosure).p = cont; + } else { + tso.closure = Closures.evalLazyIO(cont); + } + throw Fiber.yieldException.get(); + } + + public static void addMVarListener(StgContext context, MVar m) { + m.registerListener(context.currentTSO); + } + + public static void awakenMVarListeners(StgContext context, MVar m) { + for (TSO top = m.getListeners(); top != null;) { + Concurrent.pushToGlobalRunQueue(top); + TSO oldTop = top; + top = top.link; + oldTop.link = null; + } + } +} \ No newline at end of file diff --git a/fibers-new/prim/desktop.ini b/fibers-new/prim/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-new/prim/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-new/src/Control/Concurrent/Fiber.hs b/fibers-new/src/Control/Concurrent/Fiber.hs new file mode 100644 index 0000000..e852861 --- /dev/null +++ b/fibers-new/src/Control/Concurrent/Fiber.hs @@ -0,0 +1,679 @@ +{-# LANGUAGE CPP, GHCForeignImportPrim, MagicHash, UnboxedTuples,UnliftedFFITypes, MultiParamTypeClasses, ExistentialQuantification, ScopedTypeVariables, FlexibleInstances, FlexibleContexts, UndecidableInstances #-} +module Control.Concurrent.Fiber where + +import Control.Applicative +import Control.Monad.IO.Class + +import GHC.Base +import GHC.Conc.Sync hiding (yield) +import Data.Function + +import System.IO.Unsafe +import Data.IORef +import Control.Concurrent(threadDelay) +import Control.Concurrent.MVar +-- import qualified Data.Map as M +import Data.Typeable +-- import qualified Data.ByteString.Char8 as BS +import Data.Monoid hiding (Any) +import Unsafe.Coerce +import Control.Exception hiding (onException) + + +import Data.IORef +import Debug.Trace +x !> y= trace (show y) x +infixr 0 !> + +#ifdef ETA_VERSION + + +foreign import prim "eta.fibers.PrimOps.yieldFiber" + yieldFiber# :: Int# -> Any -> State# s -> State# s + +yield= callCC $ \k -> liftIO $ yieldFiber (runFiber $ k ()) + where + yieldFiber k= IO $ \s -> case yieldFiber# 0# (unsafeCoerce# k) s of s' -> (# s', () #) + +block= callCC $ \k -> liftIO $ blockFiber (runFiber $ k ()) + where + blockFiber k= IO $ \s -> case yieldFiber# 1# (unsafeCoerce# k) s of s' -> (# s', () #) + +data FiberId= FiberId ThreadId# + +forkFiber :: MonadIO m => Fiber () -> m FiberId +forkFiber f = liftIO $ IO $ \s -> case fork# (runFiber f) s of (# s', tid #) -> (# s', FiberId tid #) + + +trampolineIO :: IO a -> IO a +trampolineIO (IO m) = IO $ \s -> case trampoline# (unsafeCoerce# (m s)) of (# a #) -> (# freshStateToken# a, unsafeCoerce# a #) + +foreign import prim "eta.runtime.stg.Stg.trampoline" + trampoline# :: Any -> (# Any #) + +#else +forkFiber f = liftIO $ forkIO $ runFiber f `catch` \Empty -> return () +yield= return() +trampolineIO= id +#endif + +-- Type coercion is necessary because continuations can only be modeled fully within Indexed monads. +-- See paper P. Wadler "Monads and composable continuations" +-- The symtom of that problem in the typical continuation monad is an extra parameter r that complicates reasoning +-- This monad eliminates the extra parameter by coercing types since, by construction, the contination parameter is of the +-- type of the result of the first term of the bind. +ety :: a -> b +ety= dontWorryEverithingisOk +tdyn :: a -> Dyn +tdyn= dontWorryEverithingisOk +fdyn :: Dyn -> a +fdyn = dontWorryEverithingisOk + +dontWorryEverithingisOk= unsafeCoerce + +type Dyn= () + +data Fiber a = Fiber { runFiberC :: (Dyn -> IO a) -> IO a } + +unFiber= unIO . runFiber + where unIO (IO x)= x + + +instance Monad Fiber where + return = pure + m >>= k = Fiber $ \c -> ety $ runFiberC m (\x -> ety $ runFiberC ( k $ fdyn x) c) + + +-- instance MonadState EventF Fiber where +-- get= lift get +-- put= lift . put + +-- instance MonadTrans (Fiber ) where +-- lift m = Fiber ((unsafeCoerce m) >>=) + +instance MonadIO Fiber where + liftIO x= Fiber (ety x >>=) + +callCC :: ((a -> Fiber b) -> Fiber a) -> Fiber a +callCC f = Fiber $ \ c -> runFiberC (f (\ x -> Fiber $ \ _ -> ety $ c $ tdyn x)) c + +instance Functor Fiber where + fmap f m = Fiber $ \c -> ety $ runFiberC m $ \ x-> ety c $ f $ fdyn x + +instance Monoid a => Monoid (Fiber a) where + mappend x y = mappend <$> x <*> y + mempty = return mempty + +instance Applicative Fiber where + pure a = Fiber ($ tdyn a) + --f <*> v = ety $ Fiber $ \ k -> ety $ runFiberC f $ \ g -> ety $ runFiberC v $ \t -> k $ (ety g) t + f <*> v = do + r1 <- liftIO $ newIORef Nothing + r2 <- liftIO $ newIORef Nothing + (fparallel r1 r2) <|> (vparallel r1 r2) + where + + fparallel :: IORef (Maybe(a -> b)) -> IORef (Maybe a) -> Fiber b + fparallel r1 r2= ety $ Fiber $ \k -> + runFiberC f $ \g -> do + (liftIO $ writeIORef r1 $ Just (fdyn g)) !> "f write r1" + mt <- liftIO $ readIORef r2 !> "f read r2" + case mt of + Just t -> k $ (fdyn g) t + Nothing -> liftIO $ throw Empty !> "throwempty" + + vparallel :: IORef (Maybe(a -> b)) -> IORef (Maybe a) -> Fiber b + vparallel r1 r2= ety $ Fiber $ \k -> + runFiberC v $ \t -> do + (liftIO $ writeIORef r2 $ Just (fdyn t)) !> "v write r2" + mg <- liftIO $ readIORef r1 !> "v read r1" + case mg of + Nothing -> liftIO $ throw Empty !> "throwempty" + Just g -> ( k $ (ety g) t) !> "JUST" + +data Empty= Empty deriving Typeable +instance Show Empty where show _= "Empty" +instance Exception Empty + +instance Alternative Fiber where + empty= liftIO $ throw Empty + f <|> g= callCC $ \k -> do -- liftIO $ runFiber (f >>=k) `catch` \Empty -> runFiber (g >>=k) + + + r <- liftIO $ newIORef False + let io f cont= runFiber (f >>= cont' ) + where cont' x= do liftIO $ (writeIORef r True) !> "write" ; cont x + liftIO $ do + io f k `catch` \(Empty) -> do + c <- liftIO $ readIORef r + when c $ throw Empty + io g k + + + + -- f <|> g = callCC $ \k -> do + -- x <- liftIO $ runFiber f `catch` (\Empty -> (runFiber g) !> "RUNFIBERG" ) + -- k x !> "continuation" + + +runFiber :: Fiber a -> IO a +runFiber x= trampolineIO $ runFiberC x (return . ety id ) + +inputLoop= getLine >>= \l -> atomically (writeTVar mvline l) >> inputLoop + +no = unsafePerformIO newEmptyMVar + +mvline= unsafePerformIO $ newTVarIO "" + +-- option :: String -> Fiber String +-- --option :: [Char] -> Fiber r (StateT t IO) [Char] +-- option s = waitEvents . atomically $ do +-- x <- readTVar mvline +-- if x== s then writeTVar mvline "" >> return s else retry + +-- callCC :: ((a -> Fiber r StateIO b) -> Fiber r m a) -> Fiber r m a + +async :: IO a -> Fiber a +async io= callCC $ \ret -> do + forkFiber $ ( liftIO io >>= ret ) >> return () + empty !> "async empty" + +waitEvents :: IO a -> Fiber a +waitEvents io= callCC $ \ret -> do + loop ret + where + loop ret = do + forkFiber $ do + (liftIO io >>= ret >> loop ret) + return () + empty + + + +testReact = do + -- forkIO' inputLoop + forkFiber $ liftIO reactLoop + r <- (reactOption "hello") <> (reactOption "world") + liftIO $ print r + + liftIO $ takeMVar no + + + + +class AdditionalOperators m where + + -- | Run @m a@ discarding its result before running @m b@. + (**>) :: m a -> m b -> m b + + -- | Run @m b@ discarding its result, after the whole task set @m a@ is + -- done. + (<**) :: m a -> m b -> m a + + atEnd' :: m a -> m b -> m a + atEnd' = (<**) + + -- | Run @m b@ discarding its result, once after each task in @m a@, and + -- every time that an event happens in @m a@ + (<***) :: m a -> m b -> m a + + atEnd :: m a -> m b -> m a + atEnd = (<***) + +instance AdditionalOperators Fiber where + + -- (**>) :: Fiber a -> Fiber b -> Fiber b + (**>) f g = Fiber $ \c -> ety $ runFiberC f (\_ -> ety $ runFiberC g c) + + + -- (<***) :: Fiber a -> Fiber b -> Fiber a + (<***) f g = + ety $ Fiber $ \k -> ety $ runFiberC f $ \x -> ety $ runFiberC g (\_ -> k x) + where + f' = callCC $ \c -> g >> c () + + -- (<**) :: Fiber a -> Fiber b -> Fiber a + (<**) f g = ety $ Fiber $ \k -> ety $ runFiberC f $ \x -> ety $ runFiberC g (\_ -> k x) +--f >>= g = Fiber $ \k -> runFiberC f $ \x -> ety $ runFiberC ( g $ unsafeCoerce x) k + + +infixr 1 <***, <**, **> + + +react + :: ((eventdata -> IO response) -> IO ()) + -> IO response + -> Fiber eventdata +react setHandler iob= callCC $ \ret -> do + liftIO $ setHandler $ \x -> (runFiber $ ret x) >> iob + empty + +reactOption :: String -> Fiber String +reactOption s = do + x <- react setCallback (return ()) + if x /= s then empty else do + -- liftIO $ atomically $ writeTVar mvline "" + return s + + +reactLoop = do + x <- getLine -- atomically $ readTVar mvline + mbs <- readIORef rcb + Prelude.mapM (\cb -> cb x) mbs + reactLoop + +rcb= unsafePerformIO $ newIORef [] + +setCallback :: (String -> IO ()) -> IO () +setCallback cb= atomicModifyIORef rcb $ \cbs -> (reverse $ cb : cbs,()) + + + + + + +test2= runFiber $ do + r <- return 2 +-- r' <- liftIO $ return $ r +5 +-- r2 <- callCC $ \ret -> do +-- ret 100 +-- liftIO $ print "HELLO" +-- return 1 + liftIO $ print $ r +-- liftIO $ print $ "world3" + +test1= do + setNumCapabilities 1 + forkFiber $ f "hello" + forkFiber $ f "world" + forkFiber $ f "world2" + + takeMVar mexit + + where + f str= do + liftIO $ print str + yield + f str + +test3 = keep $ do + r<- ( async $ return "hello " ) <> + (async $ return "world" ) + -- r <- async ( return "hello ") <|> return "world" + -- r2 <- async ( return "hello2 ") <|> return "world2" + + -- r <- Fiber $ \c -> runFiberC (return "hello") c + + liftIO $ print r + +test= runFiber $ do + r <- liftIO $ newIORef 0 + sum r 1000000 + where + sum r 0= do r <- liftIO $ readIORef r; liftIO $ print r + sum r x= do + liftIO $ modifyIORef r $ \v -> v + x + sum r $x -1 + +mexit= unsafePerformIO $ newEmptyMVar + +keep :: Fiber () -> IO () +keep mx= do + forkFiber $ liftIO $ (runFiber mx) `catch` \Empty -> return () + takeMVar mexit + + + + +{-- ---------------------------------backtracking ------------------------ + + +data Backtrack b= forall a r c. Backtrack{backtracking :: Maybe b + ,backStack :: [(b ->Fiber c,c -> Fiber a)] } + deriving Typeable + + + +-- | Delete all the undo actions registered till now for the given track id. +-- backCut :: (Typeable b, Show b) => b -> Fiber () +backCut reason= + delData $ Backtrack (Just reason) [] + +-- | 'backCut' for the default track; equivalent to @backCut ()@. +undoCut :: Fiber () +undoCut = backCut () + +-- | Run the action in the first parameter and register the second parameter as +-- the undo action. On undo ('back') the second parameter is called with the +-- undo track id as argument. +-- +onBack :: (Typeable b, Show b) => Fiber a -> ( b -> Fiber a) -> Fiber a +onBack ac back = do + -- Backtrack mreason _ <- getData `onNothing` backStateOf (typeof bac) !> "HANDLER1" + -- r <-ac + -- case mreason !> ("mreason",mreason) of + -- Nothing -> ac + -- Just reason -> bac reason + registerBack ac back + + where + + typeof :: (b -> Fiber a) -> b + typeof = undefined + +-- | 'onBack' for the default track; equivalent to @onBack ()@. +onUndo :: Fiber a -> Fiber a -> Fiber a +onUndo x y= onBack x (\() -> y) + + + +-- | Register an undo action to be executed when backtracking. The first +-- parameter is a "witness" whose data type is used to uniquely identify this +-- backtracking action. The value of the witness parameter is not used. +-- +-- registerBack :: (Typeable a, Show a) => (a -> Fiber a) -> a -> Fiber a +registerBack ac back = callCC $ \k -> do + md <- getData `asTypeOf` (Just <$> (backStateOf $ typeof back)) !> "HANDLER" + case md of + Just (bss@(Backtrack b (bs@((back',_):_)))) -> + -- when (isNothing b) $ do + -- addrx <- addr back' + -- addrx' <- addr back -- to avoid duplicate backtracking points + -- when (addrx /= addrx') $ do return () !> "ADD"; setData $ Backtrack mwit ( (back, k): unsafeCoerce bs) + setData $ Backtrack b ( (back, k): unsafeCoerce bs) + Just (Backtrack b []) -> setData $ Backtrack b [(back , k)] + Nothing -> do + setData $ Backtrack mwit [ (back , k)] !> "NOTHING" + ac + + where + + + typeof :: (b -> Fiber a) -> b + typeof = undefined + mwit= Nothing `asTypeOf` (Just $ typeof back) + addr x = liftIO $ return . hashStableName =<< (makeStableName $! x) + + +-- registerUndo :: Fiber a -> Fiber a +-- registerUndo f= registerBack () f + +-- XXX Should we enforce retry of the same track which is being undone? If the +-- user specifies a different track would it make sense? +-- +-- | For a given undo track id, stop executing more backtracking actions and +-- resume normal execution in the forward direction. Used inside an undo +-- action. +-- +forward :: (Typeable b, Show b) => b -> Fiber () +forward reason= do + Backtrack _ stack <- getData `onNothing` (backStateOf reason) + setData $ Backtrack(Nothing `asTypeOf` Just reason) stack + + + + + + +-- | Start the undo process for the given undo track id. Performs all the undo +-- actions registered till now in reverse order. An undo action can use +-- 'forward' to stop the undo process and resume forward execution. If there +-- are no more undo actions registered execution stops and a 'stop' action is +-- returned. +-- +back :: (Typeable b, Show b) => b -> Fiber a +back reason = do + Backtrack _ cs <- getData `onNothing` backStateOf reason + let bs= Backtrack (Just reason) cs + setData bs + goBackt bs + !>"GOBACK" + + where + + goBackt (Backtrack _ [] )= empty !> "END" + goBackt (Backtrack Nothing _ )= error "goback: no reason" + + goBackt (Backtrack (Just reason) ((handler,cont) : bs))= do + + -- setData $ Backtrack (Just reason) $ tail stack + -- unsafeCoerce $ first reason !> "GOBACK2" + x <- unsafeCoerce handler reason -- !> ("RUNCLOSURE",length stack) + + Backtrack mreason _ <- getData `onNothing` backStateOf reason + -- setData $ Backtrack mreason bs + -- -- !> "END RUNCLOSURE" + + -- case mr of + -- Nothing -> return empty -- !> "END EXECUTION" + case mreason of + Nothing -> do + --setData $ Backtrack Nothing bs + unsafeCoerce $ cont x !> "FORWARD EXEC" + justreason -> do + setData $ Backtrack justreason bs + goBackt $ Backtrack justreason bs !> ("BACK AGAIN") + empty + +backStateOf :: (Monad m, Show a, Typeable a) => a -> m (Backtrack a) +backStateOf reason= return $ Backtrack (Nothing `asTypeOf` (Just reason)) [] + + + +------ exceptions --- +-- +-- | Install an exception handler. Handlers are executed in reverse (i.e. last in, first out) order when such exception happens in the +-- continuation. Note that multiple handlers can be installed for the same exception type. +-- +-- The semantic is thus very different than the one of `Control.Exception.Base.onException` +onException :: Exception e => (e -> Fiber ()) -> Fiber () +onException exc= return () `onException'` exc + + +onException' :: Exception e => Fiber a -> (e -> Fiber a) -> Fiber a +onException' mx f= onAnyException mx $ \e -> + case fromException e of + Nothing -> return $ error "do nothing,this should not be evaluated" + Just e' -> f e' + where + --onAnyException :: Fiber a -> (SomeException ->Fiber a) -> Fiber a + onAnyException mx f= ioexp `onBack` f + where + ioexp = callCC $ \cont -> do + st <- get + ioexp' $ runTransState st (mx >>=cont ) `catch` exceptBack st + + ioexp' mx= do + (mx,st') <- liftIO mx + put st' + case mx of + Nothing -> empty + Just x -> return x + +exceptBack st = \(e ::SomeException) -> do -- recursive catch itself + return () !> "CATCHHHHHHHHHHHHH" + runTransState st (back e ) + `catch` exceptBack st + + + + +-- | Delete all the exception handlers registered till now. +cutExceptions :: Fiber () +cutExceptions= backCut (undefined :: SomeException) + +-- | Use it inside an exception handler. it stop executing any further exception +-- handlers and resume normal execution from this point on. +continue :: Fiber () +continue = forward (undefined :: SomeException) !> "CONTINUE" + +-- | catch an exception in a Fiber block +-- +-- The semantic is the same than `catch` but the computation and the exception handler can be multirhreaded +-- catcht1 mx exc= mx' `onBack` exc +-- where +-- mx'= Fiber $ const $do +-- st <- get +-- (mx, st) <- liftIO $ runTransState st mx `catch` exceptBack st +-- put st +-- return mx + + +catcht :: Exception e => Fiber a -> (e -> Fiber a) -> Fiber a +catcht mx exc= do + rpassed <- liftIO $ newIORef False + sandbox $ do + delData $ Backtrack (Just (undefined :: SomeException)) [] + + r <- onException' mx $ \e -> do + passed <- liftIO $ readIORef rpassed + if not passed then unsafeCoerce continue >> exc e else empty + liftIO $ writeIORef rpassed True + return r + + where + sandbox :: Fiber a -> Fiber a + sandbox mx= do + exState <- getData `onNothing` backStateOf (undefined :: SomeException) + mx <*** setState exState + +-- | throw an exception in the Fiber monad +throwt :: Exception e => e -> Fiber a +throwt= back . toException + + +-- * Extensible State: Session Data Management + +-- | Same as 'getSData' but with a more general type. If the data is found, a +-- 'Just' value is returned. Otherwise, a 'Nothing' value is returned. +getData :: (MonadState EventF m, Typeable a) => m (Maybe a) +getData = resp + where resp = do + list <- gets mfData + case M.lookup (typeOf $ typeResp resp) list of + Just x -> return . Just $ unsafeCoerce x + Nothing -> return Nothing + typeResp :: m (Maybe x) -> x + typeResp = undefined + +-- | Retrieve a previously stored data item of the given data type from the +-- monad state. The data type to retrieve is implicitly determined from the +-- requested type context. +-- If the data item is not found, an 'empty' value (a void event) is returned. +-- Remember that an empty value stops the monad computation. If you want to +-- print an error message or a default value in that case, you can use an +-- 'Alternative' composition. For example: +-- +-- > getSData <|> error "no data" +-- > getInt = getSData <|> return (0 :: Int) +getSData :: Typeable a => Fiber a +getSData = Fiber $ const $ do + mx <- getData + case mx of + Nothing -> empty + Just x -> return x + +-- | Same as `getSData` +getState :: Typeable a => Fiber a +getState = getSData + +-- | 'setData' stores a data item in the monad state which can be retrieved +-- later using 'getData' or 'getSData'. Stored data items are keyed by their +-- data type, and therefore only one item of a given type can be stored. A +-- newtype wrapper can be used to distinguish two data items of the same type. +-- +-- @ +-- import Control.Monad.IO.Class (liftIO) +-- import Fiber.Base +-- import Data.Typeable +-- +-- data Person = Person +-- { name :: String +-- , age :: Int +-- } deriving Typeable +-- +-- test = keep $ do +-- setData $ Person "Alberto" 55 +-- Person name age <- getSData +-- liftIO $ print (name, age) +-- @ +setData :: (MonadState EventF m, Typeable a) => a -> m () +setData x = modify $ \st -> st { mfData = M.insert t (unsafeCoerce x) (mfData st) } + where t = typeOf x + +-- | Accepts a function that takes the current value of the stored data type +-- and returns the modified value. If the function returns 'Nothing' the value +-- is deleted otherwise updated. +modifyData :: (MonadState EventF m, Typeable a) => (Maybe a -> Maybe a) -> m () +modifyData f = modify $ \st -> st { mfData = M.alter alterf t (mfData st) } + where typeResp :: (Maybe a -> b) -> a + typeResp = undefined + t = typeOf (typeResp f) + alterf mx = unsafeCoerce $ f x' + where x' = case mx of + Just x -> Just $ unsafeCoerce x + Nothing -> Nothing + +-- | Same as modifyData +modifyState :: (MonadState EventF m, Typeable a) => (Maybe a -> Maybe a) -> m () +modifyState = modifyData + +-- | Same as 'setData' +setState :: (MonadState EventF m, Typeable a) => a -> m () +setState = setData + +-- | Delete the data item of the given type from the monad state. +delData :: (MonadState EventF m, Typeable a) => a -> m () +delData x = modify $ \st -> st { mfData = M.delete (typeOf x) (mfData st) } + +-- | Same as 'delData' +delState :: (MonadState EventF m, Typeable a) => a -> m () +delState = delData + + +-- STRefs for the Fiber monad +-} + +-- | If the first parameter is 'Nothing' return the second parameter otherwise +-- return the first parameter.. +onNothing :: Monad m => m (Maybe b) -> m b -> m b +onNothing iox iox'= do + mx <- iox + case mx of + Just x -> return x + Nothing -> iox' + + +-- testBack = do + +-- runFiber $ do +-- return () !> "before" +-- r <- async (print "hello") `onBack` \s -> liftIO $ print $ "received: 111"++ s +-- r <- async (print "world") `onBack` \s -> liftIO $ print $ "received: 222"++ s + +-- back "exception" +-- empty +-- takeMVar no + + +-- test1= do +-- runFiber $ do +-- return () !> "before" +-- onException $ \(s :: SomeException) -> liftIO $ print $ "received: 111"++ show s +-- async $ print "$$$$$$$$$$$$" +-- -- r <- async (print "hello") `onException'` \(s :: SomeException) -> liftIO $ print $ "received: 111"++ show s +-- -- r <- async (print "world") `onException'` \(s :: SomeException) -> liftIO $ print $ "received: 222"++ show s +-- liftIO $ print "AFTER" +-- liftIO $ myThreadId >>= print + +-- error "exception" +-- takeMVar no + +-- testCatch= do +-- runFiber $ do +-- async $ print "hello" +-- error "error" +-- return () +-- `catcht` (\(e :: SomeException) -> liftIO $ print $ "RECEIVED " ++ show e) + +-- takeMVar no \ No newline at end of file diff --git a/fibers-new/src/Control/Concurrent/Fiber.o b/fibers-new/src/Control/Concurrent/Fiber.o new file mode 100644 index 0000000000000000000000000000000000000000..12c405cef8b3a45877d85d54b001e8be79bb5baf GIT binary patch literal 103600 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%0Ah`w0D`qXGt1F^O1Y(UhfH=DE0dY)&k&-$Z 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 HWS;*AQbdo! literal 0 HcmV?d00001 diff --git a/fibers-new/src/Control/Concurrent/Fiber/MVar.hs b/fibers-new/src/Control/Concurrent/Fiber/MVar.hs new file mode 100644 index 0000000..1e5485b --- /dev/null +++ b/fibers-new/src/Control/Concurrent/Fiber/MVar.hs @@ -0,0 +1,51 @@ +{-# LANGUAGE UnboxedTuples, MagicHash #-} +module Control.Concurrent.Fiber.MVar + (MVar, takeMVar, putMVar) +where + +import GHC.Base +import Control.Concurrent.Fiber +import Control.Monad.IO.Class +import GHC.MVar (MVar(..)) + +takeMVar :: MVar a -> Fiber a +takeMVar (MVar m) = callCC go + where go k = do + mResult <- liftIO $ tryTake + case mResult of + Just a -> k a + Nothing -> block >> go k + + tryTake = IO $ \s -> + case tryTakeMVar# m s of + (# s', 0#, _ #) -> + case addMVarListener# m s' of + s'' -> (# s'', Nothing #) + (# s', _, a #) -> + case awakenMVarListeners# m s' of + s'' -> (# s'', Just a #) + +putMVar :: MVar a -> a -> Fiber () +putMVar (MVar m) x = callCC go + where go k = do + success <- liftIO $ tryPut + if success + then k () + else block >> go k + + tryPut = IO $ \s -> + case tryPutMVar# m x s of + (# s', 0# #) -> + case addMVarListener# m s' of + s'' -> (# s'', False #) + (# s', _ #) -> + case awakenMVarListeners# m s' of + s'' -> (# s'', True #) + + + +foreign import prim "eta.fibers.PrimOps.addMVarListener" + addMVarListener# :: MVar# s a -> State# s -> State# s + +foreign import prim "eta.fibers.PrimOps.awakenMVarListeners" + awakenMVarListeners# :: MVar# s a -> State# s -> State# s diff --git a/fibers-new/src/Control/Concurrent/Fiber/desktop.ini b/fibers-new/src/Control/Concurrent/Fiber/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-new/src/Control/Concurrent/Fiber/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-new/src/Control/Concurrent/Fiber2.hs b/fibers-new/src/Control/Concurrent/Fiber2.hs new file mode 100644 index 0000000..02d5b73 --- /dev/null +++ b/fibers-new/src/Control/Concurrent/Fiber2.hs @@ -0,0 +1,708 @@ +{-# LANGUAGE MultiParamTypeClasses, ExistentialQuantification, ScopedTypeVariables, FlexibleInstances, FlexibleContexts, UndecidableInstances #-} +module Control.Concurrent.Fiber where +import Control.Applicative +import Control.Monad.IO.Class +import Control.Monad.Trans +import GHC.Conc +import System.IO.Unsafe +import Data.IORef +import Control.Concurrent.MVar +import qualified Data.Map as M +import Data.Typeable +import qualified Data.ByteString.Char8 as BS +import Control.Monad.State +import Data.Monoid +import Unsafe.Coerce +import System.Mem.StableName +import Control.Exception hiding (onException) + +import Debug.Trace +x !> y= trace (show y) x +infixr 0 !> + + +type SData= () + +data LifeCycle = Alive | Parent | Listener | Dead + deriving (Eq, Show) + +-- | EventF describes the context of a TransientIO computation: +data EventF = EventF + { mfData :: M.Map TypeRep SData + -- ^ State data accessed with get or put operations + , mfSequence :: Int + , threadId :: ThreadId + , freeTh :: Bool + -- ^ When 'True', threads are not killed using kill primitives + + , parent :: Maybe EventF + -- ^ The parent of this thread + + , children :: MVar [EventF] + -- ^ Forked child threads, used only when 'freeTh' is 'False' + + , maxThread :: Maybe (IORef Int) + -- ^ Maximum number of threads that are allowed to be created + + , labelth :: IORef (LifeCycle, BS.ByteString) + -- ^ Label the thread with its lifecycle state and a label string + , emptyOut :: Bool + } deriving Typeable + +-- Type coercion is necessary because continuations can only be modeled fully within Indexed monads. +-- See paper P. Wadler "Monads and composable continuations" +-- The symtom of that problem in the typical continaution monad is an extra parameter r that complicates reasoning +-- This monad eliminates the extra parameter by coercing types since, by construction, the contination parameter is of the +-- type of the result of the first term of the bind. +ety :: a -> b +ety= dontWorryEverithingisOk +tdyn :: a -> Dyn +tdyn= dontWorryEverithingisOk +fdyn :: Dyn -> a +fdyn = dontWorryEverithingisOk + +dontWorryEverithingisOk= unsafeCoerce + +type Dyn= () + +data Cont m a = Cont { runCont :: (Dyn -> m a) -> m a } + + + + + +type StateIO = StateT EventF IO + +type Fiber = Cont StateIO + +instance Monad Fiber where + return = pure + m >>= k = Cont $ \c -> ety $ runCont m (\x -> ety $ runCont ( k $ fdyn x) c) + + +instance MonadState EventF Fiber where + get= lift get + put= lift . put + +instance MonadTrans Cont where + lift m = Cont ((unsafeCoerce m) >>=) + +instance MonadIO Fiber where + liftIO = lift . liftIO + +callCC :: ((a -> Cont m b) -> Cont m a) -> Cont m a +callCC f = Cont $ \ c -> runCont (f (\ x -> Cont $ \ _ -> ety $ c $ tdyn x)) c + + + +instance Functor (Cont m) where + fmap f m = Cont $ \c -> ety $ runCont m $ \ x-> ety c $ f $ fdyn x + +instance Monoid a => Monoid (Fiber a) where + mappend x y = mappend <$> x <*> y + mempty = return mempty + +instance Applicative Fiber where + pure a = Cont ($ tdyn a) + --f <*> v = ety $ Cont $ \ k -> ety $ runCont f $ \ g -> ety $ runCont v $ \t -> k $ (ety g) t + f <*> v = do + r1 <- liftIO $ newIORef Nothing + r2 <- liftIO $ newIORef Nothing + (fparallel r1 r2) <|> (vparallel r1 r2) + where + + fparallel :: IORef (Maybe(a -> b)) -> IORef (Maybe a) -> Fiber b + fparallel r1 r2= ety $ Cont $ \k -> + runCont f $ \g -> do + (liftIO $ writeIORef r1 $ Just (fdyn g)) !> "f write r1" + mt <- liftIO $ readIORef r2 !> "f read r2" + case mt of + Just t -> k $ (fdyn g) t + Nothing -> get >>= liftIO . throw . Empty + + vparallel :: IORef (Maybe(a -> b)) -> IORef (Maybe a) -> Fiber b + vparallel r1 r2= ety $ Cont $ \k -> + runCont v $ \t -> do + (liftIO $ writeIORef r2 $ Just (fdyn t)) !> "v write r2" + mg <- liftIO $ readIORef r1 !> "v read r1" + case mg of + Nothing -> get >>= liftIO . throw . Empty + Just g -> k $ (ety g) t + + + +newtype Empty= Empty EventF deriving Typeable +instance Show Empty where show _= "Empty" +instance Exception Empty + +instance Alternative Fiber where + + empty= get >>= liftIO . throw . Empty + f <|> g= callCC $ \k -> do + -- st <- get + -- (x,st') <- liftIO (runFiberState st f `catch` (\(Empty st) -> runFiberState st (g >>= k) )) + -- -- liftIO $ io st f k `catch` (\(Empty st') -> io st' g k) + -- put st' + -- k x + + st <- get + let io st f cont= runFiberState st (f >>= cont' ) + where cont' x= do modify $ \st ->st{emptyOut=True} ; cont x + (x,st') <- liftIO $ io st f k `catch` \(Empty st') -> do + let c = emptyOut st' + when c $ throw (Empty st'{emptyOut=False}) + io st' g k + put st' + k x + + + + +emptyEventF :: ThreadId -> IORef (LifeCycle, BS.ByteString) -> MVar [EventF] -> EventF +emptyEventF th label childs = + EventF { mfData = mempty + , mfSequence = 0 + , threadId = th + , freeTh = False + , parent = Nothing + , children = childs + , maxThread = Nothing + , labelth = label + , emptyOut = False } + + +-- | Run a transient computation with a default initial state +runFiber :: Fiber a -> IO ( a, EventF) +-- runFiber :: Cont r (StateT EventF IO) r -> IO (Maybe r, EventF) +runFiber t = do + th <- myThreadId + label <- newIORef $ (Alive, BS.pack "top") + childs <- newMVar [] + runFiberState (emptyEventF th label childs) t + +runFiberState :: EventF -> Fiber a -> IO ( a, EventF) +runFiberState st t= runStateT (runTrans t) st + where + runTrans :: Fiber a -> StateIO a + runTrans t= runCont t (return . ety id ) + +inputLoop= getLine >>= \l -> atomically (writeTVar mvline l) >> inputLoop + +no = unsafePerformIO newEmptyMVar + +mvline= unsafePerformIO $ newTVarIO "" + +option :: String -> Fiber String +--option :: [Char] -> Cont r (StateT t IO) [Char] +option s = waitEvents . atomically $ do + x <- readTVar mvline + if x== s then writeTVar mvline "" >> return s else GHC.Conc.retry + +-- callCC :: ((a -> Cont r StateIO b) -> Cont r m a) -> Cont r m a + +async :: IO a -> Fiber a +async io= callCC $ \ret -> do + st <- get + liftIO $ forkIO $ runFiberState st ( liftIO io >>= ret ) >> return () + empty + +waitEvents :: IO a -> Fiber a +--waitEvents :: IO a -> Cont a (StateIO) a +waitEvents io= callCC $ \ret -> do + st <- get + loop ret st + where + loop ret st= do + liftIO $ forkIO $ do + runFiberState st (liftIO io >>= ret >> loop ret st) + return () + empty + + + + + + + + + + +class AdditionalOperators m where + + -- | Run @m a@ discarding its result before running @m b@. + (**>) :: m a -> m b -> m b + + -- | Run @m b@ discarding its result, after the whole task set @m a@ is + -- done. + (<**) :: m a -> m b -> m a + + atEnd' :: m a -> m b -> m a + atEnd' = (<**) + + -- | Run @m b@ discarding its result, once after each task in @m a@, and + -- every time that an event happens in @m a@ + (<***) :: m a -> m b -> m a + + atEnd :: m a -> m b -> m a + atEnd = (<***) + +instance AdditionalOperators (Cont StateIO) where + + -- (**>) :: Fiber a -> Fiber b -> Fiber b + (**>) f g = Cont $ \c -> ety $ runCont f (\x -> ety $ runCont g c) + + + -- (<***) :: Fiber a -> Fiber b -> Fiber a + (<***) f g = + ety $ Cont $ \k -> ety $ runCont f $ \x -> ety $ runCont g (\_ -> k x) + where + f' = callCC $ \c -> g >> c () + + -- (<**) :: Fiber a -> Fiber b -> Fiber a + (<**) f g = ety $ Cont $ \k -> ety $ runCont f $ \x -> ety $ runCont g (\_ -> k x) +--f >>= g = Cont $ \k -> runCont f $ \x -> ety $ runCont ( g $ unsafeCoerce x) k + + +infixr 1 <***, <**, **> + + +react + :: ((eventdata -> IO response) -> IO ()) + -> IO response + -> Fiber eventdata +react setHandler iob= callCC $ \ret -> do + st <- get + liftIO $ setHandler $ \x -> (runFiberState st $ ret x) >> iob + empty + +reactOption :: String -> Fiber String +reactOption s = do + x <- react (setCallback s) (return ()) + if x /= s then empty else do + return s + + +reactLoop = do + x <- getLine -- atomically $ readTVar mvline + mbs <- readIORef rcb + --foldr (<|>) empty $ map (\cb -> cb x) mbs + mapM (\(n,cb) -> cb x `catch` \(Empty _) -> return()) mbs + reactLoop + +rcb= unsafePerformIO $ newIORef [] + +setCallback :: String -> (String -> IO ()) -> IO () +setCallback name cb= atomicModifyIORef rcb $ \cbs -> (reverse $ (name,cb) : cbs,()) + +delCallback name= atomicModifyIORef rcb $ \cbs -> (filter ((/=) name . fst ) cbs,()) + + +----------------------------------backtracking ------------------------ + + +data Backtrack b= forall a r c. Backtrack{backtracking :: Maybe b + ,backStack :: [(b ->Fiber c,c -> Fiber a)] } + deriving Typeable + + + +-- | Delete all the undo actions registered till now for the given track id. +-- backCut :: (Typeable b, Show b) => b -> Fiber () +backCut reason= + delData $ Backtrack (Just reason) [] + +-- | 'backCut' for the default track; equivalent to @backCut ()@. +undoCut :: Fiber () +undoCut = backCut () + +-- | Run the action in the first parameter and register the second parameter as +-- the undo action. On undo ('back') the second parameter is called with the +-- undo track id as argument. +-- +{-# NOINLINE onBack #-} +onBack :: (Typeable b, Show b) => Fiber a -> ( b -> Fiber a) -> Fiber a +onBack ac back = do + -- Backtrack mreason _ <- getData `onNothing` backStateOf (typeof bac) !> "HANDLER1" + -- r <-ac + -- case mreason !> ("mreason",mreason) of + -- Nothing -> ac + -- Just reason -> bac reason + registerBack ac back + + where + + typeof :: (b -> Fiber a) -> b + typeof = undefined + +-- | 'onBack' for the default track; equivalent to @onBack ()@. +onUndo :: Fiber a -> Fiber a -> Fiber a +onUndo x y= onBack x (\() -> y) + + + +-- | Register an undo action to be executed when backtracking. The first +-- parameter is a "witness" whose data type is used to uniquely identify this +-- backtracking action. The value of the witness parameter is not used. +-- +--{-# NOINLINE registerUndo #-} +-- registerBack :: (Typeable a, Show a) => (a -> Fiber a) -> a -> Fiber a +registerBack ac back = callCC $ \k -> do + md <- getData `asTypeOf` (Just <$> (backStateOf $ typeof back)) !> "HANDLER" + case md of + Just (bss@(Backtrack b (bs@((back',_):_)))) -> + -- when (isNothing b) $ do + -- addrx <- addr back' + -- addrx' <- addr back -- to avoid duplicate backtracking points + -- when (addrx /= addrx') $ do return () !> "ADD"; setData $ Backtrack mwit ( (back, k): unsafeCoerce bs) + setData $ Backtrack b ( (back, k): unsafeCoerce bs) + Just (Backtrack b []) -> setData $ Backtrack b [(back , k)] + Nothing -> do + setData $ Backtrack mwit [ (back , k)] !> "NOTHING" + ac + + where + + + typeof :: (b -> Fiber a) -> b + typeof = undefined + mwit= Nothing `asTypeOf` (Just $ typeof back) + addr x = liftIO $ return . hashStableName =<< (makeStableName $! x) + + +-- registerUndo :: Fiber a -> Fiber a +-- registerUndo f= registerBack () f + +-- XXX Should we enforce retry of the same track which is being undone? If the +-- user specifies a different track would it make sense? +-- +-- | For a given undo track id, stop executing more backtracking actions and +-- resume normal execution in the forward direction. Used inside an undo +-- action. +-- +forward :: (Typeable b, Show b) => b -> Fiber () +forward reason= do + Backtrack _ stack <- getData `onNothing` (backStateOf reason) + setData $ Backtrack(Nothing `asTypeOf` Just reason) stack + + + + + + +-- | Start the undo process for the given undo track id. Performs all the undo +-- actions registered till now in reverse order. An undo action can use +-- 'forward' to stop the undo process and resume forward execution. If there +-- are no more undo actions registered execution stops and a 'stop' action is +-- returned. +-- +back :: (Typeable b, Show b) => b -> Fiber a +back reason = do + Backtrack _ cs <- getData `onNothing` backStateOf reason + let bs= Backtrack (Just reason) cs + setData bs + goBackt bs + !>"GOBACK" + + where + + goBackt (Backtrack _ [] )= empty !> "END" + goBackt (Backtrack Nothing _ )= error "goback: no reason" + + goBackt (Backtrack (Just reason) ((handler,cont) : bs))= do + + -- setData $ Backtrack (Just reason) $ tail stack + -- unsafeCoerce $ first reason !> "GOBACK2" + x <- unsafeCoerce handler reason -- !> ("RUNCLOSURE",length stack) + + Backtrack mreason _ <- getData `onNothing` backStateOf reason + -- setData $ Backtrack mreason bs + -- -- !> "END RUNCLOSURE" + + -- case mr of + -- Nothing -> return empty -- !> "END EXECUTION" + case mreason of + Nothing -> do + --setData $ Backtrack Nothing bs + unsafeCoerce $ cont x !> "FORWARD EXEC" + justreason -> do + setData $ Backtrack justreason bs + goBackt $ Backtrack justreason bs !> ("BACK AGAIN") + empty + +backStateOf :: (Monad m, Show a, Typeable a) => a -> m (Backtrack a) +backStateOf reason= return $ Backtrack (Nothing `asTypeOf` (Just reason)) [] + + + +------ exceptions --- +-- +-- | Install an exception handler. Handlers are executed in reverse (i.e. last in, first out) order when such exception happens in the +-- continuation. Note that multiple handlers can be installed for the same exception type. +-- +-- The semantic is thus very different than the one of `Control.Exception.Base.onException` +onException :: Exception e => (e -> Fiber ()) -> Fiber () +onException exc= return () `onException'` exc + + +onException' :: Exception e => Fiber a -> (e -> Fiber a) -> Fiber a +onException' mx f= onAnyException mx $ \e -> + case fromException e of + Nothing -> return $ error "do nothing,this should not be evaluated" + Just e' -> f e' + where + --onAnyException :: Fiber a -> (SomeException ->Fiber a) -> Fiber a + onAnyException mx f= ioexp `onBack` f + where + ioexp = callCC $ \cont -> do + st <- get + ioexp' $ runFiberState st (mx >>=cont ) `catch` exceptBack st + + ioexp' mx= do + (mx,st') <- liftIO mx + put st' + case mx of + Nothing -> empty + Just x -> return x + +exceptBack st = \(e ::SomeException) -> -- recursive catch itself + runFiberState st (back e ) + `catch` exceptBack st + + + + +-- | Delete all the exception handlers registered till now. +cutExceptions :: Fiber () +cutExceptions= backCut (undefined :: SomeException) + +-- | Use it inside an exception handler. it stop executing any further exception +-- handlers and resume normal execution from this point on. +continue :: Fiber () +continue = forward (undefined :: SomeException) !> "CONTINUE" + +-- | catch an exception in a Cont block +-- +-- The semantic is the same than `catch` but the computation and the exception handler can be multirhreaded +-- catcht1 mx exc= mx' `onBack` exc +-- where +-- mx'= Cont $ const $do +-- st <- get +-- (mx, st) <- liftIO $ runFiberState st mx `catch` exceptBack st +-- put st +-- return mx + + +catcht :: Exception e => Fiber a -> (e -> Fiber a) -> Fiber a +catcht mx exc= do + rpassed <- liftIO $ newIORef False + sandbox $ do + delData $ Backtrack (Just (undefined :: SomeException)) [] + + r <- onException' mx $ \e -> do + passed <- liftIO $ readIORef rpassed + if not passed then unsafeCoerce continue >> exc e else empty + liftIO $ writeIORef rpassed True + return r + + where + sandbox :: Fiber a -> Fiber a + sandbox mx= do + exState <- getData `onNothing` backStateOf (undefined :: SomeException) + mx <*** setState exState + +-- | throw an exception in the Cont monad +throwt :: Exception e => e -> Fiber a +throwt= back . toException + + +-- * Extensible State: Session Data Management + +-- | Same as 'getSData' but with a more general type. If the data is found, a +-- 'Just' value is returned. Otherwise, a 'Nothing' value is returned. +getData :: (MonadState EventF m, Typeable a) => m (Maybe a) +getData = resp + where resp = do + list <- gets mfData + case M.lookup (typeOf $ typeResp resp) list of + Just x -> return . Just $ unsafeCoerce x + Nothing -> return Nothing + typeResp :: m (Maybe x) -> x + typeResp = undefined + +-- | Retrieve a previously stored data item of the given data type from the +-- monad state. The data type to retrieve is implicitly determined from the +-- requested type context. +-- If the data item is not found, an 'empty' value (a void event) is returned. +-- Remember that an empty value stops the monad computation. If you want to +-- print an error message or a default value in that case, you can use an +-- 'Alternative' composition. For example: +-- +-- > getSData <|> error "no data" +-- > getInt = getSData <|> return (0 :: Int) +getSData :: Typeable a => Fiber a +getSData = Cont $ const $ do + mx <- getData + case mx of + Nothing -> empty + Just x -> return x + +-- | Same as `getSData` +getState :: Typeable a => Fiber a +getState = getSData + +-- | 'setData' stores a data item in the monad state which can be retrieved +-- later using 'getData' or 'getSData'. Stored data items are keyed by their +-- data type, and therefore only one item of a given type can be stored. A +-- newtype wrapper can be used to distinguish two data items of the same type. +-- +-- @ +-- import Control.Monad.IO.Class (liftIO) +-- import Cont.Base +-- import Data.Typeable +-- +-- data Person = Person +-- { name :: String +-- , age :: Int +-- } deriving Typeable +-- +-- main = keep $ do +-- setData $ Person "Alberto" 55 +-- Person name age <- getSData +-- liftIO $ print (name, age) +-- @ +setData :: (MonadState EventF m, Typeable a) => a -> m () +setData x = modify $ \st -> st { mfData = M.insert t (unsafeCoerce x) (mfData st) } + where t = typeOf x + +-- | Accepts a function that takes the current value of the stored data type +-- and returns the modified value. If the function returns 'Nothing' the value +-- is deleted otherwise updated. +modifyData :: (MonadState EventF m, Typeable a) => (Maybe a -> Maybe a) -> m () +modifyData f = modify $ \st -> st { mfData = M.alter alterf t (mfData st) } + where typeResp :: (Maybe a -> b) -> a + typeResp = undefined + t = typeOf (typeResp f) + alterf mx = unsafeCoerce $ f x' + where x' = case mx of + Just x -> Just $ unsafeCoerce x + Nothing -> Nothing + +-- | Same as modifyData +modifyState :: (MonadState EventF m, Typeable a) => (Maybe a -> Maybe a) -> m () +modifyState = modifyData + +-- | Same as 'setData' +setState :: (MonadState EventF m, Typeable a) => a -> m () +setState = setData + +-- | Delete the data item of the given type from the monad state. +delData :: (MonadState EventF m, Typeable a) => a -> m () +delData x = modify $ \st -> st { mfData = M.delete (typeOf x) (mfData st) } + +-- | Same as 'delData' +delState :: (MonadState EventF m, Typeable a) => a -> m () +delState = delData + + +-- STRefs for the Cont monad + + +-- | If the first parameter is 'Nothing' return the second parameter otherwise +-- return the first parameter.. +onNothing :: Monad m => m (Maybe b) -> m b -> m b +onNothing iox iox'= do + mx <- iox + case mx of + Just x -> return x + Nothing -> iox' + + +testBack = do + + runFiber $ do + return () !> "before" + r <- async (print "hello") `onBack` \s -> liftIO $ print $ "received: 111"++ s + r <- async (print "world") `onBack` \s -> liftIO $ print $ "received: 222"++ s + + back "exception" + empty + takeMVar no + + +testException= do + runFiber $ do + return () !> "before" + onException $ \(s :: SomeException) -> liftIO $ print $ "received: 111"++ show s + async $ print "$$$$$$$$$$$$" + -- r <- async (print "hello") `onException'` \(s :: SomeException) -> liftIO $ print $ "received: 111"++ show s + -- r <- async (print "world") `onException'` \(s :: SomeException) -> liftIO $ print $ "received: 222"++ show s + liftIO $ print "AFTER" + liftIO $ myThreadId >>= print + + error "exception" + takeMVar no + +mainCatch= do + runFiber $ do + async $ print "hello" + error "error" + return () + `catcht` (\(e :: SomeException) -> liftIO $ print $ "RECEIVED " ++ show e) + + takeMVar no + + + + +callCCTest= runFiber $ do + r <- return 2 + r' <- liftIO $ return $ r +5 + r2 <- callCC $ \ret -> do + ret 100 + liftIO $ print "HELLO" + return 1 + liftIO $ print $ r2 + liftIO $ print $ "world3" + + +testAlternative= keep $ do + r <- async (return "hello") <|> async (return "world") <|> async (return "world2") + liftIO $ print r + +mainReact = do + -- forkIO inputLoop + forkIO reactLoop + keep $ do + r <- (reactOption "hello") <|> (reactOption "world") + liftIO $ print r + +main3= keep $ do + -- r<- async ( return "hello") <*** liftIO (print "world") + r <- ( async (threadDelay 10000 >> return "hello ") <> return "world" ) <|> return "world2" + -- r <- Cont $ \c -> runCont (return "hello") c + liftIO $ putStrLn r + +mexit= unsafePerformIO $ newEmptyMVar +keep mx= do + forkIO $( runFiber mx >> return ()) `catch` \(Empty _) -> return () + takeMVar mexit + +options=do + forkIO $ inputLoop + keep $ do + r <- option "hello" <|> option "world" + liftIO $ print r + +main= testAlternative + +looptest= runFiber $ do + setState "hello" + r <- liftIO $ newIORef 0 + sum r 1000000 + s <- getState + liftIO $ putStrLn s + where + sum r 0= do r <- liftIO $ readIORef r; liftIO $ print r + sum r x= do + liftIO $ modifyIORef r $ \v -> v + x + sum r $x -1 \ No newline at end of file diff --git a/fibers-new/src/Control/Concurrent/desktop.ini b/fibers-new/src/Control/Concurrent/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-new/src/Control/Concurrent/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-new/src/Control/desktop.ini b/fibers-new/src/Control/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-new/src/Control/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/fibers-new/src/desktop.ini b/fibers-new/src/desktop.ini new file mode 100644 index 0000000..f63c1a5 --- /dev/null +++ b/fibers-new/src/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Esta carpeta se ha compartido online. +IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/imaginary/fibers-dev b/imaginary/fibers-dev deleted file mode 160000 index 915ba57..0000000 --- a/imaginary/fibers-dev +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 915ba57c270f3a9dacc0c98f50f1be98c822c576 diff --git a/imaginary/fibers-new b/imaginary/fibers-new deleted file mode 160000 index c1d598a..0000000 --- a/imaginary/fibers-new +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c1d598a29b8705ee042a02817cd33c6382ec356e From 9db5563c4bfe431a5149652535bd12f49bce7ae8 Mon Sep 17 00:00:00 2001 From: agocorona Date: Thu, 8 Feb 2018 17:51:12 +0100 Subject: [PATCH 3/4] moved fiber code --- {fibers-dev => imaginary/fibers-dev}/ChangeLog.md | 0 {fibers-dev => imaginary/fibers-dev}/LICENSE | 0 {fibers-dev => imaginary/fibers-dev}/Main.hs | 0 {fibers-dev => imaginary/fibers-dev}/Setup.hs | 0 {fibers-dev => imaginary/fibers-dev}/desktop.ini | 0 ...fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap | 0 ...fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap | 0 .../fibers-dev}/dist/build/Main/Main | 0 .../classes/eta/fibers/PrimOps$EmptyException.class | Bin .../Main/Main-tmp/classes/eta/fibers/PrimOps.class | Bin .../dist/build/Main/autogen/Paths_fibers_dev.hs | 0 .../dist/build/Main/autogen/cabal_macros.h | 0 .../dist/build/Main/install-launchers/Main | 0 .../fibers-dev}/dist/build/PingPong/PingPong | 0 .../build/PingPong/autogen/Paths_eta_fibers_dev.hs | 0 .../dist/build/PingPong/autogen/cabal_macros.h | 0 .../dist/build/PingPong/install-launchers/PingPong | 0 .../dist/build/autogen/Paths_eta_fibers_dev.hs | 0 .../dist/build/autogen/Paths_fibers_dev.hs | 0 .../fibers-dev}/dist/build/autogen/cabal_macros.h | 0 .../classes/eta/fibers/PrimOps$EmptyException.class | Bin .../dist/build/classes/eta/fibers/PrimOps.class | Bin .../build/src/Control/Concurrent/Fiber.dump-stg | 0 .../src/Control/Concurrent/Fiber/Internal.dump-stg | 0 .../src/Control/Concurrent/Fiber/MVar.dump-stg | 0 .../threadring/autogen/Paths_eta_fibers_dev.hs | 0 .../dist/build/threadring/autogen/cabal_macros.h | 0 .../build/threadring/install-launchers/threadring | 0 .../fibers-dev}/dist/build/threadring/threadring | 0 .../fibers-dev}/dist/etlas-config-flags | Bin .../fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf | 0 .../dist/package.conf.inplace/package.cache | Bin .../fibers-dev}/dist/setup-config | Bin .../fibers-dev}/fibers-dev.cabal | 0 .../fibers-dev}/prim/PrimOps.java | 0 .../fibers-dev}/prim/desktop.ini | 0 .../fibers-dev}/src/Control/Concurrent/Fiber.hs | 0 .../src/Control/Concurrent/Fiber/Internal.hs | 0 .../src/Control/Concurrent/Fiber/MVar.hs | 0 .../src/Control/Concurrent/Fiber/desktop.ini | 0 .../fibers-dev}/src/Control/Concurrent/desktop.ini | 0 .../fibers-dev}/src/Control/desktop.ini | 0 {fibers-new => imaginary/fibers-new}/LICENSE | 0 {fibers-new => imaginary/fibers-new}/Main.hs | 0 {fibers-new => imaginary/fibers-new}/README | 0 {fibers-new => imaginary/fibers-new}/Setup.hs | 0 .../fibers-new}/fibers-new.cabal | 0 .../fibers-new}/prim/PrimOps.java | 0 .../fibers-new}/prim/desktop.ini | 0 .../fibers-new}/src/Control/Concurrent/Fiber.hs | 0 .../fibers-new}/src/Control/Concurrent/Fiber.o | Bin .../src/Control/Concurrent/Fiber/MVar.hs | 0 .../src/Control/Concurrent/Fiber/desktop.ini | 0 .../fibers-new}/src/Control/Concurrent/Fiber2.hs | 0 .../fibers-new}/src/Control/Concurrent/desktop.ini | 0 .../fibers-new}/src/Control/desktop.ini | 0 .../fibers-new}/src/desktop.ini | 0 57 files changed, 0 insertions(+), 0 deletions(-) rename {fibers-dev => imaginary/fibers-dev}/ChangeLog.md (100%) rename {fibers-dev => imaginary/fibers-dev}/LICENSE (100%) rename {fibers-dev => imaginary/fibers-dev}/Main.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/Setup.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/desktop.ini (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/Main/Main (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/Main/autogen/Paths_fibers_dev.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/Main/autogen/cabal_macros.h (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/Main/install-launchers/Main (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/PingPong/PingPong (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/PingPong/autogen/cabal_macros.h (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/PingPong/install-launchers/PingPong (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/autogen/Paths_eta_fibers_dev.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/autogen/Paths_fibers_dev.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/autogen/cabal_macros.h (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/classes/eta/fibers/PrimOps$EmptyException.class (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/classes/eta/fibers/PrimOps.class (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/src/Control/Concurrent/Fiber.dump-stg (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/threadring/autogen/cabal_macros.h (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/threadring/install-launchers/threadring (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/build/threadring/threadring (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/etlas-config-flags (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/package.conf.inplace/package.cache (100%) rename {fibers-dev => imaginary/fibers-dev}/dist/setup-config (100%) rename {fibers-dev => imaginary/fibers-dev}/fibers-dev.cabal (100%) rename {fibers-dev => imaginary/fibers-dev}/prim/PrimOps.java (100%) rename {fibers-dev => imaginary/fibers-dev}/prim/desktop.ini (100%) rename {fibers-dev => imaginary/fibers-dev}/src/Control/Concurrent/Fiber.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/src/Control/Concurrent/Fiber/Internal.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/src/Control/Concurrent/Fiber/MVar.hs (100%) rename {fibers-dev => imaginary/fibers-dev}/src/Control/Concurrent/Fiber/desktop.ini (100%) rename {fibers-dev => imaginary/fibers-dev}/src/Control/Concurrent/desktop.ini (100%) rename {fibers-dev => imaginary/fibers-dev}/src/Control/desktop.ini (100%) rename {fibers-new => imaginary/fibers-new}/LICENSE (100%) rename {fibers-new => imaginary/fibers-new}/Main.hs (100%) rename {fibers-new => imaginary/fibers-new}/README (100%) rename {fibers-new => imaginary/fibers-new}/Setup.hs (100%) rename {fibers-new => imaginary/fibers-new}/fibers-new.cabal (100%) rename {fibers-new => imaginary/fibers-new}/prim/PrimOps.java (100%) rename {fibers-new => imaginary/fibers-new}/prim/desktop.ini (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/Concurrent/Fiber.hs (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/Concurrent/Fiber.o (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/Concurrent/Fiber/MVar.hs (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/Concurrent/Fiber/desktop.ini (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/Concurrent/Fiber2.hs (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/Concurrent/desktop.ini (100%) rename {fibers-new => imaginary/fibers-new}/src/Control/desktop.ini (100%) rename {fibers-new => imaginary/fibers-new}/src/desktop.ini (100%) diff --git a/fibers-dev/ChangeLog.md b/imaginary/fibers-dev/ChangeLog.md similarity index 100% rename from fibers-dev/ChangeLog.md rename to imaginary/fibers-dev/ChangeLog.md diff --git a/fibers-dev/LICENSE b/imaginary/fibers-dev/LICENSE similarity index 100% rename from fibers-dev/LICENSE rename to imaginary/fibers-dev/LICENSE diff --git a/fibers-dev/Main.hs b/imaginary/fibers-dev/Main.hs similarity index 100% rename from fibers-dev/Main.hs rename to imaginary/fibers-dev/Main.hs diff --git a/fibers-dev/Setup.hs b/imaginary/fibers-dev/Setup.hs similarity index 100% rename from fibers-dev/Setup.hs rename to imaginary/fibers-dev/Setup.hs diff --git a/fibers-dev/desktop.ini b/imaginary/fibers-dev/desktop.ini similarity index 100% rename from fibers-dev/desktop.ini rename to imaginary/fibers-dev/desktop.ini diff --git a/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap b/imaginary/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap similarity index 100% rename from fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap rename to imaginary/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap diff --git a/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap b/imaginary/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap similarity index 100% rename from fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap rename to imaginary/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap diff --git a/fibers-dev/dist/build/Main/Main b/imaginary/fibers-dev/dist/build/Main/Main similarity index 100% rename from fibers-dev/dist/build/Main/Main rename to imaginary/fibers-dev/dist/build/Main/Main diff --git a/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class b/imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class similarity index 100% rename from fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class rename to imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class diff --git a/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class b/imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class similarity index 100% rename from fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class rename to imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class diff --git a/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs b/imaginary/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs similarity index 100% rename from fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs rename to imaginary/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs diff --git a/fibers-dev/dist/build/Main/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/Main/autogen/cabal_macros.h similarity index 100% rename from fibers-dev/dist/build/Main/autogen/cabal_macros.h rename to imaginary/fibers-dev/dist/build/Main/autogen/cabal_macros.h diff --git a/fibers-dev/dist/build/Main/install-launchers/Main b/imaginary/fibers-dev/dist/build/Main/install-launchers/Main similarity index 100% rename from fibers-dev/dist/build/Main/install-launchers/Main rename to imaginary/fibers-dev/dist/build/Main/install-launchers/Main diff --git a/fibers-dev/dist/build/PingPong/PingPong b/imaginary/fibers-dev/dist/build/PingPong/PingPong similarity index 100% rename from fibers-dev/dist/build/PingPong/PingPong rename to imaginary/fibers-dev/dist/build/PingPong/PingPong diff --git a/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs b/imaginary/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs similarity index 100% rename from fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs rename to imaginary/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs diff --git a/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h similarity index 100% rename from fibers-dev/dist/build/PingPong/autogen/cabal_macros.h rename to imaginary/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h diff --git a/fibers-dev/dist/build/PingPong/install-launchers/PingPong b/imaginary/fibers-dev/dist/build/PingPong/install-launchers/PingPong similarity index 100% rename from fibers-dev/dist/build/PingPong/install-launchers/PingPong rename to imaginary/fibers-dev/dist/build/PingPong/install-launchers/PingPong diff --git a/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs b/imaginary/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs similarity index 100% rename from fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs rename to imaginary/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs diff --git a/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs b/imaginary/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs similarity index 100% rename from fibers-dev/dist/build/autogen/Paths_fibers_dev.hs rename to imaginary/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs diff --git a/fibers-dev/dist/build/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/autogen/cabal_macros.h similarity index 100% rename from fibers-dev/dist/build/autogen/cabal_macros.h rename to imaginary/fibers-dev/dist/build/autogen/cabal_macros.h diff --git a/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class b/imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class similarity index 100% rename from fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class rename to imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class diff --git a/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class b/imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class similarity index 100% rename from fibers-dev/dist/build/classes/eta/fibers/PrimOps.class rename to imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class diff --git a/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg b/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg similarity index 100% rename from fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg rename to imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg diff --git a/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg b/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg similarity index 100% rename from fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg rename to imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg diff --git a/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg b/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg similarity index 100% rename from fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg rename to imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg diff --git a/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs b/imaginary/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs similarity index 100% rename from fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs rename to imaginary/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs diff --git a/fibers-dev/dist/build/threadring/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/threadring/autogen/cabal_macros.h similarity index 100% rename from fibers-dev/dist/build/threadring/autogen/cabal_macros.h rename to imaginary/fibers-dev/dist/build/threadring/autogen/cabal_macros.h diff --git a/fibers-dev/dist/build/threadring/install-launchers/threadring b/imaginary/fibers-dev/dist/build/threadring/install-launchers/threadring similarity index 100% rename from fibers-dev/dist/build/threadring/install-launchers/threadring rename to imaginary/fibers-dev/dist/build/threadring/install-launchers/threadring diff --git a/fibers-dev/dist/build/threadring/threadring b/imaginary/fibers-dev/dist/build/threadring/threadring similarity index 100% rename from fibers-dev/dist/build/threadring/threadring rename to imaginary/fibers-dev/dist/build/threadring/threadring diff --git a/fibers-dev/dist/etlas-config-flags b/imaginary/fibers-dev/dist/etlas-config-flags similarity index 100% rename from fibers-dev/dist/etlas-config-flags rename to imaginary/fibers-dev/dist/etlas-config-flags diff --git a/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf b/imaginary/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf similarity index 100% rename from fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf rename to imaginary/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf diff --git a/fibers-dev/dist/package.conf.inplace/package.cache b/imaginary/fibers-dev/dist/package.conf.inplace/package.cache similarity index 100% rename from fibers-dev/dist/package.conf.inplace/package.cache rename to imaginary/fibers-dev/dist/package.conf.inplace/package.cache diff --git a/fibers-dev/dist/setup-config b/imaginary/fibers-dev/dist/setup-config similarity index 100% rename from fibers-dev/dist/setup-config rename to imaginary/fibers-dev/dist/setup-config diff --git a/fibers-dev/fibers-dev.cabal b/imaginary/fibers-dev/fibers-dev.cabal similarity index 100% rename from fibers-dev/fibers-dev.cabal rename to imaginary/fibers-dev/fibers-dev.cabal diff --git a/fibers-dev/prim/PrimOps.java b/imaginary/fibers-dev/prim/PrimOps.java similarity index 100% rename from fibers-dev/prim/PrimOps.java rename to imaginary/fibers-dev/prim/PrimOps.java diff --git a/fibers-dev/prim/desktop.ini b/imaginary/fibers-dev/prim/desktop.ini similarity index 100% rename from fibers-dev/prim/desktop.ini rename to imaginary/fibers-dev/prim/desktop.ini diff --git a/fibers-dev/src/Control/Concurrent/Fiber.hs b/imaginary/fibers-dev/src/Control/Concurrent/Fiber.hs similarity index 100% rename from fibers-dev/src/Control/Concurrent/Fiber.hs rename to imaginary/fibers-dev/src/Control/Concurrent/Fiber.hs diff --git a/fibers-dev/src/Control/Concurrent/Fiber/Internal.hs b/imaginary/fibers-dev/src/Control/Concurrent/Fiber/Internal.hs similarity index 100% rename from fibers-dev/src/Control/Concurrent/Fiber/Internal.hs rename to imaginary/fibers-dev/src/Control/Concurrent/Fiber/Internal.hs diff --git a/fibers-dev/src/Control/Concurrent/Fiber/MVar.hs b/imaginary/fibers-dev/src/Control/Concurrent/Fiber/MVar.hs similarity index 100% rename from fibers-dev/src/Control/Concurrent/Fiber/MVar.hs rename to imaginary/fibers-dev/src/Control/Concurrent/Fiber/MVar.hs diff --git a/fibers-dev/src/Control/Concurrent/Fiber/desktop.ini b/imaginary/fibers-dev/src/Control/Concurrent/Fiber/desktop.ini similarity index 100% rename from fibers-dev/src/Control/Concurrent/Fiber/desktop.ini rename to imaginary/fibers-dev/src/Control/Concurrent/Fiber/desktop.ini diff --git a/fibers-dev/src/Control/Concurrent/desktop.ini b/imaginary/fibers-dev/src/Control/Concurrent/desktop.ini similarity index 100% rename from fibers-dev/src/Control/Concurrent/desktop.ini rename to imaginary/fibers-dev/src/Control/Concurrent/desktop.ini diff --git a/fibers-dev/src/Control/desktop.ini b/imaginary/fibers-dev/src/Control/desktop.ini similarity index 100% rename from fibers-dev/src/Control/desktop.ini rename to imaginary/fibers-dev/src/Control/desktop.ini diff --git a/fibers-new/LICENSE b/imaginary/fibers-new/LICENSE similarity index 100% rename from fibers-new/LICENSE rename to imaginary/fibers-new/LICENSE diff --git a/fibers-new/Main.hs b/imaginary/fibers-new/Main.hs similarity index 100% rename from fibers-new/Main.hs rename to imaginary/fibers-new/Main.hs diff --git a/fibers-new/README b/imaginary/fibers-new/README similarity index 100% rename from fibers-new/README rename to imaginary/fibers-new/README diff --git a/fibers-new/Setup.hs b/imaginary/fibers-new/Setup.hs similarity index 100% rename from fibers-new/Setup.hs rename to imaginary/fibers-new/Setup.hs diff --git a/fibers-new/fibers-new.cabal b/imaginary/fibers-new/fibers-new.cabal similarity index 100% rename from fibers-new/fibers-new.cabal rename to imaginary/fibers-new/fibers-new.cabal diff --git a/fibers-new/prim/PrimOps.java b/imaginary/fibers-new/prim/PrimOps.java similarity index 100% rename from fibers-new/prim/PrimOps.java rename to imaginary/fibers-new/prim/PrimOps.java diff --git a/fibers-new/prim/desktop.ini b/imaginary/fibers-new/prim/desktop.ini similarity index 100% rename from fibers-new/prim/desktop.ini rename to imaginary/fibers-new/prim/desktop.ini diff --git a/fibers-new/src/Control/Concurrent/Fiber.hs b/imaginary/fibers-new/src/Control/Concurrent/Fiber.hs similarity index 100% rename from fibers-new/src/Control/Concurrent/Fiber.hs rename to imaginary/fibers-new/src/Control/Concurrent/Fiber.hs diff --git a/fibers-new/src/Control/Concurrent/Fiber.o b/imaginary/fibers-new/src/Control/Concurrent/Fiber.o similarity index 100% rename from fibers-new/src/Control/Concurrent/Fiber.o rename to imaginary/fibers-new/src/Control/Concurrent/Fiber.o diff --git a/fibers-new/src/Control/Concurrent/Fiber/MVar.hs b/imaginary/fibers-new/src/Control/Concurrent/Fiber/MVar.hs similarity index 100% rename from fibers-new/src/Control/Concurrent/Fiber/MVar.hs rename to imaginary/fibers-new/src/Control/Concurrent/Fiber/MVar.hs diff --git a/fibers-new/src/Control/Concurrent/Fiber/desktop.ini b/imaginary/fibers-new/src/Control/Concurrent/Fiber/desktop.ini similarity index 100% rename from fibers-new/src/Control/Concurrent/Fiber/desktop.ini rename to imaginary/fibers-new/src/Control/Concurrent/Fiber/desktop.ini diff --git a/fibers-new/src/Control/Concurrent/Fiber2.hs b/imaginary/fibers-new/src/Control/Concurrent/Fiber2.hs similarity index 100% rename from fibers-new/src/Control/Concurrent/Fiber2.hs rename to imaginary/fibers-new/src/Control/Concurrent/Fiber2.hs diff --git a/fibers-new/src/Control/Concurrent/desktop.ini b/imaginary/fibers-new/src/Control/Concurrent/desktop.ini similarity index 100% rename from fibers-new/src/Control/Concurrent/desktop.ini rename to imaginary/fibers-new/src/Control/Concurrent/desktop.ini diff --git a/fibers-new/src/Control/desktop.ini b/imaginary/fibers-new/src/Control/desktop.ini similarity index 100% rename from fibers-new/src/Control/desktop.ini rename to imaginary/fibers-new/src/Control/desktop.ini diff --git a/fibers-new/src/desktop.ini b/imaginary/fibers-new/src/desktop.ini similarity index 100% rename from fibers-new/src/desktop.ini rename to imaginary/fibers-new/src/desktop.ini From ff072b86ba54cb7d6d228ba9466d90221a56d142 Mon Sep 17 00:00:00 2001 From: agocorona Date: Fri, 9 Feb 2018 12:33:03 +0100 Subject: [PATCH 4/4] modified primops.java --- ...-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap | 1 - ...-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap | 1 - imaginary/fibers-dev/dist/build/Main/Main | 14 - .../eta/fibers/PrimOps$EmptyException.class | Bin 304 -> 0 bytes .../Main-tmp/classes/eta/fibers/PrimOps.class | Bin 4772 -> 0 bytes .../build/Main/autogen/Paths_fibers_dev.hs | 39 - .../dist/build/Main/autogen/cabal_macros.h | 118 - .../dist/build/Main/install-launchers/Main | 14 - .../fibers-dev/dist/build/PingPong/PingPong | 14 - .../PingPong/autogen/Paths_eta_fibers_dev.hs | 39 - .../build/PingPong/autogen/cabal_macros.h | 118 - .../build/PingPong/install-launchers/PingPong | 14 - .../build/autogen/Paths_eta_fibers_dev.hs | 39 - .../dist/build/autogen/Paths_fibers_dev.hs | 39 - .../dist/build/autogen/cabal_macros.h | 110 - .../eta/fibers/PrimOps$EmptyException.class | Bin 304 -> 0 bytes .../build/classes/eta/fibers/PrimOps.class | Bin 4772 -> 0 bytes .../src/Control/Concurrent/Fiber.dump-stg | 5 - .../Concurrent/Fiber/Internal.dump-stg | 4501 ----------------- .../Control/Concurrent/Fiber/MVar.dump-stg | 289 -- .../autogen/Paths_eta_fibers_dev.hs | 39 - .../build/threadring/autogen/cabal_macros.h | 118 - .../threadring/install-launchers/threadring | 14 - .../dist/build/threadring/threadring | 14 - imaginary/fibers-dev/dist/etlas-config-flags | Bin 114 -> 0 bytes ...rs-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf | 26 - .../dist/package.conf.inplace/package.cache | Bin 2171 -> 0 bytes imaginary/fibers-dev/dist/setup-config | Bin 53264 -> 0 bytes imaginary/fibers-dev/prim/PrimOps.java | 2 +- 29 files changed, 1 insertion(+), 5567 deletions(-) delete mode 100644 imaginary/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap delete mode 100644 imaginary/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap delete mode 100644 imaginary/fibers-dev/dist/build/Main/Main delete mode 100644 imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class delete mode 100644 imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class delete mode 100644 imaginary/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs delete mode 100644 imaginary/fibers-dev/dist/build/Main/autogen/cabal_macros.h delete mode 100644 imaginary/fibers-dev/dist/build/Main/install-launchers/Main delete mode 100644 imaginary/fibers-dev/dist/build/PingPong/PingPong delete mode 100644 imaginary/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs delete mode 100644 imaginary/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h delete mode 100644 imaginary/fibers-dev/dist/build/PingPong/install-launchers/PingPong delete mode 100644 imaginary/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs delete mode 100644 imaginary/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs delete mode 100644 imaginary/fibers-dev/dist/build/autogen/cabal_macros.h delete mode 100644 imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class delete mode 100644 imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class delete mode 100644 imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg delete mode 100644 imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg delete mode 100644 imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg delete mode 100644 imaginary/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs delete mode 100644 imaginary/fibers-dev/dist/build/threadring/autogen/cabal_macros.h delete mode 100644 imaginary/fibers-dev/dist/build/threadring/install-launchers/threadring delete mode 100644 imaginary/fibers-dev/dist/build/threadring/threadring delete mode 100644 imaginary/fibers-dev/dist/etlas-config-flags delete mode 100644 imaginary/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf delete mode 100644 imaginary/fibers-dev/dist/package.conf.inplace/package.cache delete mode 100644 imaginary/fibers-dev/dist/setup-config diff --git a/imaginary/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap b/imaginary/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap deleted file mode 100644 index 2cb54cd..0000000 --- a/imaginary/fibers-dev/dist/build/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.ffimap +++ /dev/null @@ -1 +0,0 @@ -java.util.Stack,Stack,Control.Concurrent.Fiber.Internal diff --git a/imaginary/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap b/imaginary/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap deleted file mode 100644 index 2cb54cd..0000000 --- a/imaginary/fibers-dev/dist/build/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.ffimap +++ /dev/null @@ -1 +0,0 @@ -java.util.Stack,Stack,Control.Concurrent.Fiber.Internal diff --git a/imaginary/fibers-dev/dist/build/Main/Main b/imaginary/fibers-dev/dist/build/Main/Main deleted file mode 100644 index 93f4825..0000000 --- a/imaginary/fibers-dev/dist/build/Main/Main +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -if [ -z "$ETA_JAVA_CMD" ]; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" - else - ETA_JAVA_CMD="$JAVA_HOME/bin/java" - fi - else - ETA_JAVA_CMD="java" - fi -fi -$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/Main.jar:$DIR/../HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class b/imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps$EmptyException.class deleted file mode 100644 index ccd2dc686d206c6281f8c2c507a6b3918fc44a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmZWkO-lk%6g_v;nH(oA_bn6`<-%FGjW%KsLHRM`cpBOW`%#BzAd@%IyZ#&e<8Us zhV5jnoMT7mS2JvByv{h~-@bJ2pZ^T$9xg%;f&5h&iOWe6Lt$ro4m5^a&}N^GB!(ha T$pA-!0h(wF#-avj;TX+t#c@Sg diff --git a/imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class b/imaginary/fibers-dev/dist/build/Main/Main-tmp/classes/eta/fibers/PrimOps.class deleted file mode 100644 index 951d3fe645f3a4a84e6377da9f2be1d93a171318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4772 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 diff --git a/imaginary/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs b/imaginary/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs deleted file mode 100644 index 9ef87a2..0000000 --- a/imaginary/fibers-dev/dist/build/Main/autogen/Paths_fibers_dev.hs +++ /dev/null @@ -1,39 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} -module Paths_fibers_dev ( - version, - getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, - getDataFileName, getSysconfDir - ) where - -import qualified Control.Exception as Exception -import Data.Version (Version(..)) -import System.Environment (getEnv) -import Prelude - -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -catchIO = Exception.catch - -version :: Version -version = Version [0,1,0,0] [] -bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath - -bindir = "/root/.etlas/bin" -libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" -dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3" -datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0" -libexecdir = "/root/.etlas/libexec" -sysconfdir = "/root/.etlas/etc" - -getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath -getBinDir = catchIO (getEnv "fibers_dev_bindir") (\_ -> return bindir) -getLibDir = catchIO (getEnv "fibers_dev_libdir") (\_ -> return libdir) -getDynLibDir = catchIO (getEnv "fibers_dev_dynlibdir") (\_ -> return dynlibdir) -getDataDir = catchIO (getEnv "fibers_dev_datadir") (\_ -> return datadir) -getLibexecDir = catchIO (getEnv "fibers_dev_libexecdir") (\_ -> return libexecdir) -getSysconfDir = catchIO (getEnv "fibers_dev_sysconfdir") (\_ -> return sysconfdir) - -getDataFileName :: FilePath -> IO FilePath -getDataFileName name = do - dir <- getDataDir - return (dir ++ "/" ++ name) diff --git a/imaginary/fibers-dev/dist/build/Main/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/Main/autogen/cabal_macros.h deleted file mode 100644 index 0a176bc..0000000 --- a/imaginary/fibers-dev/dist/build/Main/autogen/cabal_macros.h +++ /dev/null @@ -1,118 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package fibers-dev-0.1.0.0 */ -#ifndef VERSION_fibers_dev -#define VERSION_fibers_dev "0.1.0.0" -#endif /* VERSION_fibers_dev */ -#ifndef MIN_VERSION_fibers_dev -#define MIN_VERSION_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_fibers_dev */ - -/* package base-4.8.2.0 */ -#ifndef VERSION_base -#define VERSION_base "4.8.2.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 8 || \ - (major1) == 4 && (major2) == 8 && (minor) <= 2) -#endif /* MIN_VERSION_base */ - -/* package transformers-0.5.5.0 */ -#ifndef VERSION_transformers -#define VERSION_transformers "0.5.5.0" -#endif /* VERSION_transformers */ -#ifndef MIN_VERSION_transformers -#define MIN_VERSION_transformers(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 5 || \ - (major1) == 0 && (major2) == 5 && (minor) <= 5) -#endif /* MIN_VERSION_transformers */ - -/* package fibers-dev-0.1.0.0 */ -#ifndef VERSION_fibers_dev -#define VERSION_fibers_dev "0.1.0.0" -#endif /* VERSION_fibers_dev */ -#ifndef MIN_VERSION_fibers_dev -#define MIN_VERSION_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_fibers_dev */ - -/* tool eta-0.7.0.2 */ -#ifndef TOOL_VERSION_eta -#define TOOL_VERSION_eta "0.7.0.2" -#endif /* TOOL_VERSION_eta */ -#ifndef MIN_TOOL_VERSION_eta -#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta */ - -/* tool eta-pkg-0.7.0.2 */ -#ifndef TOOL_VERSION_eta_pkg -#define TOOL_VERSION_eta_pkg "0.7.0.2" -#endif /* TOOL_VERSION_eta_pkg */ -#ifndef MIN_TOOL_VERSION_eta_pkg -#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta_pkg */ - -/* tool git-2.11.0 */ -#ifndef TOOL_VERSION_git -#define TOOL_VERSION_git "2.11.0" -#endif /* TOOL_VERSION_git */ -#ifndef MIN_TOOL_VERSION_git -#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 11 || \ - (major1) == 2 && (major2) == 11 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_git */ - -/* tool jar-0 */ -#ifndef TOOL_VERSION_jar -#define TOOL_VERSION_jar "0" -#endif /* TOOL_VERSION_jar */ -#ifndef MIN_TOOL_VERSION_jar -#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 0 || \ - (major1) == 0 && (major2) == 0 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_jar */ - -/* tool java-1.8.0.151 */ -#ifndef TOOL_VERSION_java -#define TOOL_VERSION_java "1.8.0.151" -#endif /* TOOL_VERSION_java */ -#ifndef MIN_TOOL_VERSION_java -#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_java */ - -/* tool javac-1.8.0.151 */ -#ifndef TOOL_VERSION_javac -#define TOOL_VERSION_javac "1.8.0.151" -#endif /* TOOL_VERSION_javac */ -#ifndef MIN_TOOL_VERSION_javac -#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_javac */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq-Main" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/imaginary/fibers-dev/dist/build/Main/install-launchers/Main b/imaginary/fibers-dev/dist/build/Main/install-launchers/Main deleted file mode 100644 index ad3fc2a..0000000 --- a/imaginary/fibers-dev/dist/build/Main/install-launchers/Main +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -if [ -z "$ETA_JAVA_CMD" ]; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" - else - ETA_JAVA_CMD="$JAVA_HOME/bin/java" - fi - else - ETA_JAVA_CMD="java" - fi -fi -$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/Main.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq/HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/imaginary/fibers-dev/dist/build/PingPong/PingPong b/imaginary/fibers-dev/dist/build/PingPong/PingPong deleted file mode 100644 index f9e61d3..0000000 --- a/imaginary/fibers-dev/dist/build/PingPong/PingPong +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -if [ -z "$ETA_JAVA_CMD" ]; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" - else - ETA_JAVA_CMD="$JAVA_HOME/bin/java" - fi - else - ETA_JAVA_CMD="java" - fi -fi -$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/PingPong.jar:$DIR/../HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/imaginary/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs b/imaginary/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs deleted file mode 100644 index a3a380a..0000000 --- a/imaginary/fibers-dev/dist/build/PingPong/autogen/Paths_eta_fibers_dev.hs +++ /dev/null @@ -1,39 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} -module Paths_eta_fibers_dev ( - version, - getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, - getDataFileName, getSysconfDir - ) where - -import qualified Control.Exception as Exception -import Data.Version (Version(..)) -import System.Environment (getEnv) -import Prelude - -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -catchIO = Exception.catch - -version :: Version -version = Version [0,1,0,0] [] -bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath - -bindir = "/root/.etlas/bin" -libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq" -dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3" -datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0" -libexecdir = "/root/.etlas/libexec" -sysconfdir = "/root/.etlas/etc" - -getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath -getBinDir = catchIO (getEnv "eta_fibers_dev_bindir") (\_ -> return bindir) -getLibDir = catchIO (getEnv "eta_fibers_dev_libdir") (\_ -> return libdir) -getDynLibDir = catchIO (getEnv "eta_fibers_dev_dynlibdir") (\_ -> return dynlibdir) -getDataDir = catchIO (getEnv "eta_fibers_dev_datadir") (\_ -> return datadir) -getLibexecDir = catchIO (getEnv "eta_fibers_dev_libexecdir") (\_ -> return libexecdir) -getSysconfDir = catchIO (getEnv "eta_fibers_dev_sysconfdir") (\_ -> return sysconfdir) - -getDataFileName :: FilePath -> IO FilePath -getDataFileName name = do - dir <- getDataDir - return (dir ++ "/" ++ name) diff --git a/imaginary/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h deleted file mode 100644 index e7e5193..0000000 --- a/imaginary/fibers-dev/dist/build/PingPong/autogen/cabal_macros.h +++ /dev/null @@ -1,118 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package eta-fibers-dev-0.1.0.0 */ -#ifndef VERSION_eta_fibers_dev -#define VERSION_eta_fibers_dev "0.1.0.0" -#endif /* VERSION_eta_fibers_dev */ -#ifndef MIN_VERSION_eta_fibers_dev -#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_eta_fibers_dev */ - -/* package base-4.8.2.0 */ -#ifndef VERSION_base -#define VERSION_base "4.8.2.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 8 || \ - (major1) == 4 && (major2) == 8 && (minor) <= 2) -#endif /* MIN_VERSION_base */ - -/* package transformers-0.5.5.0 */ -#ifndef VERSION_transformers -#define VERSION_transformers "0.5.5.0" -#endif /* VERSION_transformers */ -#ifndef MIN_VERSION_transformers -#define MIN_VERSION_transformers(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 5 || \ - (major1) == 0 && (major2) == 5 && (minor) <= 5) -#endif /* MIN_VERSION_transformers */ - -/* package eta-fibers-dev-0.1.0.0 */ -#ifndef VERSION_eta_fibers_dev -#define VERSION_eta_fibers_dev "0.1.0.0" -#endif /* VERSION_eta_fibers_dev */ -#ifndef MIN_VERSION_eta_fibers_dev -#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_eta_fibers_dev */ - -/* tool eta-0.7.0.1 */ -#ifndef TOOL_VERSION_eta -#define TOOL_VERSION_eta "0.7.0.1" -#endif /* TOOL_VERSION_eta */ -#ifndef MIN_TOOL_VERSION_eta -#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta */ - -/* tool eta-pkg-0.7.0.1 */ -#ifndef TOOL_VERSION_eta_pkg -#define TOOL_VERSION_eta_pkg "0.7.0.1" -#endif /* TOOL_VERSION_eta_pkg */ -#ifndef MIN_TOOL_VERSION_eta_pkg -#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta_pkg */ - -/* tool git-2.11.0 */ -#ifndef TOOL_VERSION_git -#define TOOL_VERSION_git "2.11.0" -#endif /* TOOL_VERSION_git */ -#ifndef MIN_TOOL_VERSION_git -#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 11 || \ - (major1) == 2 && (major2) == 11 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_git */ - -/* tool jar-0 */ -#ifndef TOOL_VERSION_jar -#define TOOL_VERSION_jar "0" -#endif /* TOOL_VERSION_jar */ -#ifndef MIN_TOOL_VERSION_jar -#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 0 || \ - (major1) == 0 && (major2) == 0 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_jar */ - -/* tool java-1.8.0.151 */ -#ifndef TOOL_VERSION_java -#define TOOL_VERSION_java "1.8.0.151" -#endif /* TOOL_VERSION_java */ -#ifndef MIN_TOOL_VERSION_java -#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_java */ - -/* tool javac-1.8.0.151 */ -#ifndef TOOL_VERSION_javac -#define TOOL_VERSION_javac "1.8.0.151" -#endif /* TOOL_VERSION_javac */ -#ifndef MIN_TOOL_VERSION_javac -#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_javac */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq-PingPong" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/imaginary/fibers-dev/dist/build/PingPong/install-launchers/PingPong b/imaginary/fibers-dev/dist/build/PingPong/install-launchers/PingPong deleted file mode 100644 index b41c7ad..0000000 --- a/imaginary/fibers-dev/dist/build/PingPong/install-launchers/PingPong +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -if [ -z "$ETA_JAVA_CMD" ]; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" - else - ETA_JAVA_CMD="$JAVA_HOME/bin/java" - fi - else - ETA_JAVA_CMD="java" - fi -fi -$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/PingPong.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/imaginary/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs b/imaginary/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs deleted file mode 100644 index a3a380a..0000000 --- a/imaginary/fibers-dev/dist/build/autogen/Paths_eta_fibers_dev.hs +++ /dev/null @@ -1,39 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} -module Paths_eta_fibers_dev ( - version, - getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, - getDataFileName, getSysconfDir - ) where - -import qualified Control.Exception as Exception -import Data.Version (Version(..)) -import System.Environment (getEnv) -import Prelude - -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -catchIO = Exception.catch - -version :: Version -version = Version [0,1,0,0] [] -bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath - -bindir = "/root/.etlas/bin" -libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq" -dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3" -datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0" -libexecdir = "/root/.etlas/libexec" -sysconfdir = "/root/.etlas/etc" - -getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath -getBinDir = catchIO (getEnv "eta_fibers_dev_bindir") (\_ -> return bindir) -getLibDir = catchIO (getEnv "eta_fibers_dev_libdir") (\_ -> return libdir) -getDynLibDir = catchIO (getEnv "eta_fibers_dev_dynlibdir") (\_ -> return dynlibdir) -getDataDir = catchIO (getEnv "eta_fibers_dev_datadir") (\_ -> return datadir) -getLibexecDir = catchIO (getEnv "eta_fibers_dev_libexecdir") (\_ -> return libexecdir) -getSysconfDir = catchIO (getEnv "eta_fibers_dev_sysconfdir") (\_ -> return sysconfdir) - -getDataFileName :: FilePath -> IO FilePath -getDataFileName name = do - dir <- getDataDir - return (dir ++ "/" ++ name) diff --git a/imaginary/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs b/imaginary/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs deleted file mode 100644 index 9ef87a2..0000000 --- a/imaginary/fibers-dev/dist/build/autogen/Paths_fibers_dev.hs +++ /dev/null @@ -1,39 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} -module Paths_fibers_dev ( - version, - getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, - getDataFileName, getSysconfDir - ) where - -import qualified Control.Exception as Exception -import Data.Version (Version(..)) -import System.Environment (getEnv) -import Prelude - -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -catchIO = Exception.catch - -version :: Version -version = Version [0,1,0,0] [] -bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath - -bindir = "/root/.etlas/bin" -libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" -dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.2-ghc7_10_3" -datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.2-ghc7_10_3/fibers-dev-0.1.0.0" -libexecdir = "/root/.etlas/libexec" -sysconfdir = "/root/.etlas/etc" - -getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath -getBinDir = catchIO (getEnv "fibers_dev_bindir") (\_ -> return bindir) -getLibDir = catchIO (getEnv "fibers_dev_libdir") (\_ -> return libdir) -getDynLibDir = catchIO (getEnv "fibers_dev_dynlibdir") (\_ -> return dynlibdir) -getDataDir = catchIO (getEnv "fibers_dev_datadir") (\_ -> return datadir) -getLibexecDir = catchIO (getEnv "fibers_dev_libexecdir") (\_ -> return libexecdir) -getSysconfDir = catchIO (getEnv "fibers_dev_sysconfdir") (\_ -> return sysconfdir) - -getDataFileName :: FilePath -> IO FilePath -getDataFileName name = do - dir <- getDataDir - return (dir ++ "/" ++ name) diff --git a/imaginary/fibers-dev/dist/build/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/autogen/cabal_macros.h deleted file mode 100644 index 9e72a6c..0000000 --- a/imaginary/fibers-dev/dist/build/autogen/cabal_macros.h +++ /dev/null @@ -1,110 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package fibers-dev-0.1.0.0 */ -#ifndef VERSION_fibers_dev -#define VERSION_fibers_dev "0.1.0.0" -#endif /* VERSION_fibers_dev */ -#ifndef MIN_VERSION_fibers_dev -#define MIN_VERSION_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_fibers_dev */ - -/* package base-4.8.2.0 */ -#ifndef VERSION_base -#define VERSION_base "4.8.2.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 8 || \ - (major1) == 4 && (major2) == 8 && (minor) <= 2) -#endif /* MIN_VERSION_base */ - -/* package transformers-0.5.5.0 */ -#ifndef VERSION_transformers -#define VERSION_transformers "0.5.5.0" -#endif /* VERSION_transformers */ -#ifndef MIN_VERSION_transformers -#define MIN_VERSION_transformers(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 5 || \ - (major1) == 0 && (major2) == 5 && (minor) <= 5) -#endif /* MIN_VERSION_transformers */ - -/* tool eta-0.7.0.2 */ -#ifndef TOOL_VERSION_eta -#define TOOL_VERSION_eta "0.7.0.2" -#endif /* TOOL_VERSION_eta */ -#ifndef MIN_TOOL_VERSION_eta -#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta */ - -/* tool eta-pkg-0.7.0.2 */ -#ifndef TOOL_VERSION_eta_pkg -#define TOOL_VERSION_eta_pkg "0.7.0.2" -#endif /* TOOL_VERSION_eta_pkg */ -#ifndef MIN_TOOL_VERSION_eta_pkg -#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta_pkg */ - -/* tool git-2.11.0 */ -#ifndef TOOL_VERSION_git -#define TOOL_VERSION_git "2.11.0" -#endif /* TOOL_VERSION_git */ -#ifndef MIN_TOOL_VERSION_git -#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 11 || \ - (major1) == 2 && (major2) == 11 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_git */ - -/* tool jar-0 */ -#ifndef TOOL_VERSION_jar -#define TOOL_VERSION_jar "0" -#endif /* TOOL_VERSION_jar */ -#ifndef MIN_TOOL_VERSION_jar -#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 0 || \ - (major1) == 0 && (major2) == 0 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_jar */ - -/* tool java-1.8.0.151 */ -#ifndef TOOL_VERSION_java -#define TOOL_VERSION_java "1.8.0.151" -#endif /* TOOL_VERSION_java */ -#ifndef MIN_TOOL_VERSION_java -#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_java */ - -/* tool javac-1.8.0.151 */ -#ifndef TOOL_VERSION_javac -#define TOOL_VERSION_javac "1.8.0.151" -#endif /* TOOL_VERSION_javac */ -#ifndef MIN_TOOL_VERSION_javac -#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_javac */ - -#ifndef CURRENT_PACKAGE_KEY -#define CURRENT_PACKAGE_KEY "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" -#endif /* CURRENT_PACKAGE_KEY */ -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class b/imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps$EmptyException.class deleted file mode 100644 index ccd2dc686d206c6281f8c2c507a6b3918fc44a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmZWkO-lk%6g_v;nH(oA_bn6`<-%FGjW%KsLHRM`cpBOW`%#BzAd@%IyZ#&e<8Us zhV5jnoMT7mS2JvByv{h~-@bJ2pZ^T$9xg%;f&5h&iOWe6Lt$ro4m5^a&}N^GB!(ha T$pA-!0h(wF#-avj;TX+t#c@Sg diff --git a/imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class b/imaginary/fibers-dev/dist/build/classes/eta/fibers/PrimOps.class deleted file mode 100644 index 951d3fe645f3a4a84e6377da9f2be1d93a171318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4772 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 diff --git a/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg b/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg deleted file mode 100644 index 5c6ae9d..0000000 --- a/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber.dump-stg +++ /dev/null @@ -1,5 +0,0 @@ - -==================== STG syntax: ==================== -2018-02-08 11:48:32.343317 UTC - - diff --git a/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg b/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg deleted file mode 100644 index 950fb2e..0000000 --- a/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/Internal.dump-stg +++ /dev/null @@ -1,4501 +0,0 @@ - -==================== STG syntax: ==================== -2018-02-08 11:48:30.884108 UTC - -Control.Concurrent.Fiber.Internal.async2 - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCG6] (#,#) [s_sCG6 GHC.Tuple.()]; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber3 - :: forall a_a6WE. - GHC.Base.Monoid a_a6WE => - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a6WE #) -[GblId, - Arity=2, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [$dMonoid_sCG7 s_sCG8] - let { - sat_sCG9 [Occ=Once] :: a6_a6WE - [LclId, Str=] = - \u srt:SRT:[] [] GHC.Base.mempty $dMonoid_sCG7; - } in (#,#) [s_sCG8 sat_sCG9]; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - :: forall a_a61P. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a61P #) -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [s_sCGA] - case - __primcall eta.fibers.PrimOps.throwEmpty [s_sCGA] - of - s1_sCGC [OS=OneShot] - { __DEFAULT -> (#,#) [s1_sCGC GHC.Err.undefined]; - }; -Control.Concurrent.Fiber.Internal.forkFiber1 - :: Control.Concurrent.Fiber.Internal.Fiber () - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [x_sCGD s_sCGE] - let { - sat_sCGL [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [s1_sCGG] - case fork# [x_sCGD s1_sCGG] of _ [Occ=Dead] { - (#,#) ipv_sCGI [Occ=Once] ipv1_sCGJ [Occ=Once] -> - let { - sat_sCGK [Occ=Once] :: GHC.Conc.Sync.ThreadId - [LclId, Str=] = - NO_CCS GHC.Conc.Sync.ThreadId! [ipv1_sCGJ]; - } in (#,#) [ipv_sCGI sat_sCGK]; - }; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCGL - GHC.Conc.Sync.myThreadId1 - s_sCGE]; -Control.Concurrent.Fiber.Internal.catchEmpty2 - :: forall (m_a628 :: * -> *) a_a629. - GHC.Base.Monad m_a628 => - m_a628 a_a629 - -> m_a628 a_a629 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) -[GblId, - Arity=4, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [$dMonad_sCGM mf_sCGN mg_sCGO s_sCGP] - __primcall eta.fibers.PrimOps.alternativeFiber [mf_sCGN - mg_sCGO - s_sCGP]; -Control.Concurrent.Fiber.Internal.getStack1 - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Control.Concurrent.Fiber.Internal.Obj #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCGR] - case - __primcall eta.fibers.PrimOps.getStackC [s_sCGR] - of - _ [Occ=Dead] - { (#,#) ipv_sCGU [Occ=Once] ipv1_sCGV [Occ=Once] -> - let { - sat_sCGW [Occ=Once] :: Control.Concurrent.Fiber.Internal.Obj - [LclId, Str=] = - NO_CCS Control.Concurrent.Fiber.Internal.Obj! [ipv1_sCGV]; - } in (#,#) [ipv_sCGU sat_sCGW]; - }; -Control.Concurrent.Fiber.Internal.topStack1 - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Int #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCGX] - case - __primcall eta.fibers.PrimOps.topStackC [s_sCGX] - of - _ [Occ=Dead] - { (#,#) ipv_sCH0 [Occ=Once] ipv1_sCH1 [Occ=Once] -> - let { - sat_sCH2 [Occ=Once] :: GHC.Types.Int - [LclId, Str=] = - NO_CCS GHC.Types.I#! [ipv1_sCH1]; - } in (#,#) [ipv_sCH0 sat_sCH2]; - }; -Control.Concurrent.Fiber.Internal.delEvent1 - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCH3] - case - __primcall eta.fibers.PrimOps.delEventCC [s_sCH3] - of - s1_sCH5 [OS=OneShot] - { __DEFAULT -> (#,#) [s1_sCH5 GHC.Tuple.()]; - }; -Control.Concurrent.Fiber.Internal.setEvent1 - :: forall a_a642. - a_a642 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [x_sCH6 s_sCH7] - case - __primcall eta.fibers.PrimOps.setEventC [x_sCH6 s_sCH7] - of - s1_sCH9 [OS=OneShot] - { __DEFAULT -> (#,#) [s1_sCH9 GHC.Tuple.()]; - }; -Control.Concurrent.Fiber.Internal.getEvent1 - :: forall a_a5Z3. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Base.Maybe a_a5Z3 #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCHA] - case - __primcall eta.fibers.PrimOps.getEventCC [s_sCHA] - of - _ [Occ=Dead] - { (#,,#) ipv_sCHD [Occ=Once*] - ipv1_sCHE [Occ=Once!] - ipv2_sCHF [Occ=Once] -> - case ipv1_sCHE of _ [Occ=Dead] { - __DEFAULT -> (#,#) [ipv_sCHD GHC.Base.Nothing]; - 1 -> - let { - sat_sCHH [Occ=Once] :: GHC.Base.Maybe a6_a5Z3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [ipv2_sCHF]; - } in (#,#) [ipv_sCHD sat_sCHH]; - }; - }; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber2 - :: forall a1_a89V. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a1_a89V] #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCHI] (#,#) [s_sCHI GHC.Types.[]]; -a_rCFV - :: forall a_a6Q3. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.IORef.IORef (GHC.Base.Maybe a_a6Q3) #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCHJ] - case newMutVar# [GHC.Base.Nothing s_sCHJ] of _ [Occ=Dead] { - (#,#) ipv_sCHL [Occ=Once] ipv1_sCHM [Occ=Once] -> - let { - sat_sCHN [Occ=Once] :: GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) - [LclId, Str=] = - NO_CCS GHC.STRef.STRef! [ipv1_sCHM]; - } in (#,#) [ipv_sCHL sat_sCHN]; - }; -a1_rCFW - :: forall a_a6Q3 b_a6Q4. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.IORef.IORef (GHC.Base.Maybe (a_a6Q3 -> b_a6Q4)) #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sCHO] - case newMutVar# [GHC.Base.Nothing s_sCHO] of _ [Occ=Dead] { - (#,#) ipv_sCHQ [Occ=Once] ipv1_sCHR [Occ=Once] -> - let { - sat_sCHS [Occ=Once] - :: GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) - [LclId, Str=] = - NO_CCS GHC.STRef.STRef! [ipv1_sCHR]; - } in (#,#) [ipv_sCHQ sat_sCHS]; - }; -Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - :: forall a_a6NO b_a6NP. - Control.Concurrent.Fiber.Internal.Fiber a_a6NO - -> (a_a6NO -> Control.Concurrent.Fiber.Internal.Fiber b_a6NP) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6NP #) -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [ds_sCHT f_sCHU s_sCHV] - case - __primcall eta.fibers.PrimOps.setCurrentC [ds_sCHT s_sCHV] - of - s1_sCHX [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [f_sCHU s1_sCHX] - of - s2_sCHZ [OS=OneShot] - { __DEFAULT -> - case ds_sCHT s2_sCHZ of _ [Occ=Dead] { - (#,#) ipv_sCI1 [Occ=Once] ipv1_sCI2 [Occ=Once] -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCI1] - of - _ [Occ=Dead] - { (#,#) ipv2_sCI5 [Occ=Once] _ [Occ=Dead] -> - case f_sCHU ipv1_sCI2 of fa_sCI7 [Dmd=] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [fa_sCI7 - ipv2_sCI5] - of - s5_sCI9 [OS=OneShot] - { __DEFAULT -> fa_sCI7 s5_sCI9; - }; - }; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 - :: forall a_a6P9. - a_a6P9 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a6P9 #) -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [a7_sCIA s_sCIB] (#,#) [s_sCIB a7_sCIA]; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - :: forall a_a6Q3 b_a6Q4. - Control.Concurrent.Fiber.Internal.Fiber (a_a6Q3 -> b_a6Q4) - -> Control.Concurrent.Fiber.Internal.Fiber a_a6Q3 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf_sCIC - mx_sCID - eta_sCIE] - case - __primcall eta.fibers.PrimOps.setCurrentC [a1_rCFW eta_sCIE] - of - s1_sCIG [OS=OneShot] - { __DEFAULT -> - let-no-escape { - $sa_sCIH [Occ=Once!] - :: GHC.Prim.MutVar# - GHC.Prim.RealWorld (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) - -> GHC.STRef.STRef - GHC.Prim.RealWorld (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) - ~R# GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) - [LclId, Arity=3, Str=, Unf=OtherCon []] = - sat-only \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [sc_sCII - sg_sBMA - sc1_sCIJ] - case - __primcall eta.fibers.PrimOps.setCurrentC [a_rCFV sc1_sCIJ] - of - s2_sCIL [OS=OneShot] - { __DEFAULT -> - let { - a7_sCIM - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4) #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta1_sCIN] readMutVar# [sc_sCII eta1_sCIN]; - } in - let-no-escape { - $sa1_sCIO [Occ=Once!] - :: GHC.Prim.MutVar# GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) - -> GHC.STRef.STRef - GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) - ~R# GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) - [LclId, Arity=3, Str=, Unf=OtherCon []] = - sat-only \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [sc2_sCIP - sg1_sBME - sc3_sCIQ] - let { - a8_sCIR - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.Base.Maybe a6_a6Q3 #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta1_sCIS] - readMutVar# [sc2_sCIP eta1_sCIS]; - } in - let { - sat_sCMS [Occ=Once] - :: a6_a6Q3 - -> Control.Concurrent.Fiber.Internal.Fiber b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCKU - eta1_sCKV] - let { - sat_sCL0 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta2_sCKX] - let { - sat_sCKY [Occ=Once] - :: GHC.Base.Maybe a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCKU]; - } in - case - writeMutVar# [sc2_sCIP - sat_sCKY - eta2_sCKX] - of - s2#_sCKZ [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCKZ - GHC.Tuple.()]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCL0 - eta1_sCKV] - of - s3_sCL1 [OS=OneShot] - { __DEFAULT -> - let { - a9_sCL2 - :: GHC.Base.Maybe - (a6_a6Q3 -> b_a6Q4) - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCL3 - eta2_sCL4] - case - mf1_sCL3 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta2_sCL4; - GHC.Base.Just f_sCL6 [Occ=Once!] -> - let { - sat_sCL7 [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCL6 - x_sCKU; - } in - (#,#) [eta2_sCL4 - sat_sCL7]; - }; - } in - let { - sat_sCLU [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCL9 - eta2_sCLA] - case - __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM - eta2_sCLA] - of - s4_sCLC [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a9_sCL2 - s4_sCLC] - of - s5_sCLE [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc_sCII - s5_sCLE] - of - _ [Occ=Dead] - { (#,#) ipv_sCLG [Occ=Once] - ipv1_sCLH -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCLG] - of - _ [Occ=Dead] - { (#,#) ipv2_sCLK [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCLN [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a9_sCL2 - ipv1_sCLH; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCLN - ipv2_sCLK] - of - s6_sCLO [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCLH - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCLO] - of - s7_sCLR [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCLR - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCLS [Occ=Once!] -> - let { - sat_sCLT [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCLS - x_sCKU; - } in - (#,#) [s6_sCLO - sat_sCLT]; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCLU - s3_sCL1] - of - s4_sCLV [OS=OneShot] - { __DEFAULT -> - let { - sat_sCLW [Occ=Once] - :: GHC.Base.Maybe - a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCKU]; - } in - case - writeMutVar# [sc2_sCIP - sat_sCLW - s4_sCLV] - of - s2#_sCLX [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCLX] - of - _ [Occ=Dead] - { (#,#) ipv_sCM0 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCM3 [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a7_sCIM - a9_sCL2; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCM3 - ipv_sCM0] - of - s5_sCM4 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM - s5_sCM4] - of - s6_sCM6 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a9_sCL2 - s6_sCM6] - of - s7_sCM8 [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc_sCII - s7_sCM8] - of - _ [Occ=Dead] - { (#,#) ipv2_sCMA [Occ=Once] - ipv3_sCMB -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCMA] - of - _ [Occ=Dead] - { (#,#) ipv4_sCME [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCML [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta2_sCMH] - case - ipv3_sCMB - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta2_sCMH; - GHC.Base.Just f_sCMJ [Occ=Once!] -> - let { - sat_sCMK [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCMJ - x_sCKU; - } in - (#,#) [eta2_sCMH - sat_sCMK]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCML - ipv4_sCME] - of - s8_sCMM [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCMB - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCMM] - of - s9_sCMP [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCMP - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCMQ [Occ=Once!] -> - let { - sat_sCMR [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCMQ - x_sCKU; - } in - (#,#) [s8_sCMM - sat_sCMR]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCMT [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mx_sCID sat_sCMS; - } in - let { - sat_sCKS [Occ=Once] - :: (a6_a6Q3 -> b_a6Q4) - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCIU - eta1_sCIV] - let { - sat_sCJ0 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta2_sCIX] - let { - sat_sCIY [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCIU]; - } in - case - writeMutVar# [sc_sCII - sat_sCIY - eta2_sCIX] - of - s2#_sCIZ [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCIZ - GHC.Tuple.()]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCJ0 - eta1_sCIV] - of - s3_sCJ1 [OS=OneShot] - { __DEFAULT -> - let { - a9_sCJ2 - :: GHC.Base.Maybe a6_a6Q3 - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str= {a4S4->}, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCJ3 - eta2_sCJ4] - case - mx1_sCJ3 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta2_sCJ4; - GHC.Base.Just x_sCJ6 [Occ=Once] -> - let { - sat_sCJ7 [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCIU - x_sCJ6; - } in - (#,#) [eta2_sCJ4 - sat_sCJ7]; - }; - } in - let { - sat_sCJU [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCJ9 - eta2_sCJA] - case - __primcall eta.fibers.PrimOps.setCurrentC [a8_sCIR - eta2_sCJA] - of - s4_sCJC [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a9_sCJ2 - s4_sCJC] - of - s5_sCJE [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc2_sCIP - s5_sCJE] - of - _ [Occ=Dead] - { (#,#) ipv_sCJG [Occ=Once] - ipv1_sCJH -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCJG] - of - _ [Occ=Dead] - { (#,#) ipv2_sCJK [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCJN [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a9_sCJ2 - ipv1_sCJH; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCJN - ipv2_sCJK] - of - s6_sCJO [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCJH - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCJO] - of - s7_sCJR [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCJR - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCJS [Occ=Once] -> - let { - sat_sCJT [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCIU - x_sCJS; - } in - (#,#) [s6_sCJO - sat_sCJT]; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCJU - s3_sCJ1] - of - s4_sCJV [OS=OneShot] - { __DEFAULT -> - let { - sat_sCJW [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 - -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCIU]; - } in - case - writeMutVar# [sc_sCII - sat_sCJW - s4_sCJV] - of - s2#_sCJX [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCJX] - of - _ [Occ=Dead] - { (#,#) ipv_sCK0 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCK3 [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a8_sCIR - a9_sCJ2; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCK3 - ipv_sCK0] - of - s5_sCK4 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a8_sCIR - s5_sCK4] - of - s6_sCK6 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a9_sCJ2 - s6_sCK6] - of - s7_sCK8 [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc2_sCIP - s7_sCK8] - of - _ [Occ=Dead] - { (#,#) ipv2_sCKA [Occ=Once] - ipv3_sCKB -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCKA] - of - _ [Occ=Dead] - { (#,#) ipv4_sCKE [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCKL [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta2_sCKH] - case - ipv3_sCKB - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta2_sCKH; - GHC.Base.Just x_sCKJ [Occ=Once] -> - let { - sat_sCKK [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCIU - x_sCKJ; - } in - (#,#) [eta2_sCKH - sat_sCKK]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCKL - ipv4_sCKE] - of - s8_sCKM [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCKB - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCKM] - of - s9_sCKP [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCKP - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCKQ [Occ=Once] -> - let { - sat_sCKR [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCIU - x_sCKQ; - } in - (#,#) [s8_sCKM - sat_sCKR]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCKT [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mf_sCIC sat_sCKS; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCKT - sat_sCMT - sc3_sCIQ]; - } in - let { - a8_sCMU - :: GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) - [LclId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [r2_sCMV - eta1_sCMW] - let { - a9_sCMX - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.Base.Maybe a6_a6Q3 #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - GHC.STRef.readSTRef1 r2_sCMV eta_B1; - } in - let { - sat_sCR5 [Occ=Once] - :: a6_a6Q3 - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCP3 - eta2_sCP4] - let { - sat_sCPB [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta3_sCP6] - case r2_sCMV of _ [Occ=Dead] { - GHC.STRef.STRef var#_sCP8 [Occ=Once] -> - let { - sat_sCP9 [Occ=Once] - :: GHC.Base.Maybe - a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCP3]; - } in - case - writeMutVar# [var#_sCP8 - sat_sCP9 - eta3_sCP6] - of - s2#_sCPA [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCPA - GHC.Tuple.()]; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCPB - eta2_sCP4] - of - s3_sCPC [OS=OneShot] - { __DEFAULT -> - let { - a10_sCPD - :: GHC.Base.Maybe - (a6_a6Q3 -> b_a6Q4) - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCPE - eta3_sCPF] - case - mf1_sCPE - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCPF; - GHC.Base.Just f_sCPH [Occ=Once!] -> - let { - sat_sCPI [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCPH - x_sCP3; - } in - (#,#) [eta3_sCPF - sat_sCPI]; - }; - } in - let { - sat_sCQ5 [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCPK - eta3_sCPL] - case - __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM - eta3_sCPL] - of - s4_sCPN [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCPD - s4_sCPN] - of - s5_sCPP [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc_sCII - s5_sCPP] - of - _ [Occ=Dead] - { (#,#) ipv_sCPR [Occ=Once] - ipv1_sCPS -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCPR] - of - _ [Occ=Dead] - { (#,#) ipv2_sCPV [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCPY [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a10_sCPD - ipv1_sCPS; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCPY - ipv2_sCPV] - of - s6_sCPZ [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCPS - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCPZ] - of - s7_sCQ2 [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCQ2 - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCQ3 [Occ=Once!] -> - let { - sat_sCQ4 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCQ3 - x_sCP3; - } in - (#,#) [s6_sCPZ - sat_sCQ4]; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCQ5 - s3_sCPC] - of - s4_sCQ6 [OS=OneShot] - { __DEFAULT -> - case - r2_sCMV - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCQ8 [Occ=Once] -> - let { - sat_sCQ9 [Occ=Once] - :: GHC.Base.Maybe - a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCP3]; - } in - case - writeMutVar# [var#_sCQ8 - sat_sCQ9 - s4_sCQ6] - of - s2#_sCQA [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCQA] - of - _ [Occ=Dead] - { (#,#) ipv_sCQD [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCQG [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a7_sCIM - a10_sCPD; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCQG - ipv_sCQD] - of - s5_sCQH [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a7_sCIM - s5_sCQH] - of - s6_sCQJ [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCPD - s6_sCQJ] - of - s7_sCQL [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc_sCII - s7_sCQL] - of - _ [Occ=Dead] - { (#,#) ipv2_sCQN [Occ=Once] - ipv3_sCQO -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCQN] - of - _ [Occ=Dead] - { (#,#) ipv4_sCQR [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCQY [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCQU] - case - ipv3_sCQO - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCQU; - GHC.Base.Just f_sCQW [Occ=Once!] -> - let { - sat_sCQX [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCQW - x_sCP3; - } in - (#,#) [eta3_sCQU - sat_sCQX]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCQY - ipv4_sCQR] - of - s8_sCQZ [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCQO - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCQZ] - of - s9_sCR2 [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCR2 - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCR3 [Occ=Once!] -> - let { - sat_sCR4 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCR3 - x_sCP3; - } in - (#,#) [s8_sCQZ - sat_sCR4]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCR6 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mx_sCID sat_sCR5; - } in - let { - sat_sCP1 [Occ=Once] - :: (a6_a6Q3 -> b_a6Q4) - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCMZ - eta2_sCN0] - let { - sat_sCN5 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta3_sCN2] - let { - sat_sCN3 [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCMZ]; - } in - case - writeMutVar# [sc_sCII - sat_sCN3 - eta3_sCN2] - of - s2#_sCN4 [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCN4 - GHC.Tuple.()]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCN5 - eta2_sCN0] - of - s3_sCN6 [OS=OneShot] - { __DEFAULT -> - let { - a10_sCN7 - :: GHC.Base.Maybe a6_a6Q3 - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str= {a4S4->}, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCN8 - eta3_sCN9] - case - mx1_sCN8 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCN9; - GHC.Base.Just x_sCNB [Occ=Once] -> - let { - sat_sCNC [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCMZ - x_sCNB; - } in - (#,#) [eta3_sCN9 - sat_sCNC]; - }; - } in - let { - sat_sCO1 [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCNE - eta3_sCNF] - case - __primcall eta.fibers.PrimOps.setCurrentC [a9_sCMX - eta3_sCNF] - of - s4_sCNH [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCN7 - s4_sCNH] - of - s5_sCNJ [OS=OneShot] - { __DEFAULT -> - case - r2_sCMV - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCNL [Occ=Once] -> - case - readMutVar# [var#_sCNL - s5_sCNJ] - of - _ [Occ=Dead] - { (#,#) ipv_sCNN [Occ=Once] - ipv1_sCNO -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCNN] - of - _ [Occ=Dead] - { (#,#) ipv2_sCNR [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCNU [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a10_sCN7 - ipv1_sCNO; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCNU - ipv2_sCNR] - of - s6_sCNV [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCNO - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCNV] - of - s7_sCNY [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCNY - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCNZ [Occ=Once] -> - let { - sat_sCO0 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCMZ - x_sCNZ; - } in - (#,#) [s6_sCNV - sat_sCO0]; - }; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCO1 - s3_sCN6] - of - s4_sCO2 [OS=OneShot] - { __DEFAULT -> - let { - sat_sCO3 [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 - -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCMZ]; - } in - case - writeMutVar# [sc_sCII - sat_sCO3 - s4_sCO2] - of - s2#_sCO4 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCO4] - of - _ [Occ=Dead] - { (#,#) ipv_sCO7 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCOA [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a9_sCMX - a10_sCN7; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCOA - ipv_sCO7] - of - s5_sCOB [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a9_sCMX - s5_sCOB] - of - s6_sCOD [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCN7 - s6_sCOD] - of - s7_sCOF [OS=OneShot] - { __DEFAULT -> - case - r2_sCMV - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCOH [Occ=Once] -> - case - readMutVar# [var#_sCOH - s7_sCOF] - of - _ [Occ=Dead] - { (#,#) ipv2_sCOJ [Occ=Once] - ipv3_sCOK -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCOJ] - of - _ [Occ=Dead] - { (#,#) ipv4_sCON [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCOU [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCOQ] - case - ipv3_sCOK - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCOQ; - GHC.Base.Just x_sCOS [Occ=Once] -> - let { - sat_sCOT [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCMZ - x_sCOS; - } in - (#,#) [eta3_sCOQ - sat_sCOT]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCOU - ipv4_sCON] - of - s8_sCOV [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCOK - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCOV] - of - s9_sCOY [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCOY - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCOZ [Occ=Once] -> - let { - sat_sCP0 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCMZ - x_sCOZ; - } in - (#,#) [s8_sCOV - sat_sCP0]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCP2 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mf_sCIC sat_sCP1; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCP2 - sat_sCR6 - eta1_sCMW]; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [a8_sCMU s2_sCIL] - of - s3_sCR8 [OS=OneShot] - { __DEFAULT -> - case - newMutVar# [GHC.Base.Nothing s3_sCR8] - of - _ [Occ=Dead] - { (#,#) ipv_sCRA [Occ=Once] ipv1_sCRB -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCRA] - of - _ [Occ=Dead] - { (#,#) ipv2_sCRE [Occ=Once] _ [Occ=Dead] -> - let { - sat_sCRH [Occ=Once] - :: GHC.IORef.IORef - (GHC.Base.Maybe a6_a6Q3) - [LclId, Str=] = - NO_CCS GHC.STRef.STRef! [ipv1_sCRB]; } in - let { - sat_sCRI [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] a8_sCMU sat_sCRH; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCRI - ipv2_sCRE] - of - s5_sCRJ [OS=OneShot] - { __DEFAULT -> - $sa1_sCIO - ipv1_sCRB - GHC.Prim.coercionToken# - s5_sCRJ; - }; - }; - }; - }; - }; - } in - let { - a7_sCRK - :: GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) - [LclId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [r1_sCRL - eta1_sCRM] - case - __primcall eta.fibers.PrimOps.setCurrentC [a_rCFV eta1_sCRM] - of - s2_sCRO [OS=OneShot] - { __DEFAULT -> - let { - a8_sCRP - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4) #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] GHC.STRef.readSTRef1 r1_sCRL eta_B1; - } in - let-no-escape { - $sa1_sCRQ [Occ=Once!] - :: GHC.Prim.MutVar# - GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) - -> GHC.STRef.STRef - GHC.Prim.RealWorld (GHC.Base.Maybe a6_a6Q3) - ~R# GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) - [LclId, Arity=3, Str=, Unf=OtherCon []] = - sat-only \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [sc_sCRR - sg_sBM6 - sc1_sCRS] - let { - a9_sCRT - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.Base.Maybe a6_a6Q3 #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta2_sCRU] - readMutVar# [sc_sCRR eta2_sCRU]; - } in - let { - sat_sCW2 [Occ=Once] - :: a6_a6Q3 - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCU0 - eta2_sCU1] - let { - sat_sCU6 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta3_sCU3] - let { - sat_sCU4 [Occ=Once] - :: GHC.Base.Maybe a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCU0]; - } in - case - writeMutVar# [sc_sCRR - sat_sCU4 - eta3_sCU3] - of - s2#_sCU5 [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCU5 - GHC.Tuple.()]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCU6 - eta2_sCU1] - of - s3_sCU7 [OS=OneShot] - { __DEFAULT -> - let { - a10_sCU8 - :: GHC.Base.Maybe - (a6_a6Q3 -> b_a6Q4) - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCU9 - eta3_sCUA] - case - mf1_sCU9 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCUA; - GHC.Base.Just f_sCUC [Occ=Once!] -> - let { - sat_sCUD [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCUC - x_sCU0; - } in - (#,#) [eta3_sCUA - sat_sCUD]; - }; - } in - let { - sat_sCV2 [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCUF - eta3_sCUG] - case - __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP - eta3_sCUG] - of - s4_sCUI [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCU8 - s4_sCUI] - of - s5_sCUK [OS=OneShot] - { __DEFAULT -> - case - r1_sCRL - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCUM [Occ=Once] -> - case - readMutVar# [var#_sCUM - s5_sCUK] - of - _ [Occ=Dead] - { (#,#) ipv_sCUO [Occ=Once] - ipv1_sCUP -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCUO] - of - _ [Occ=Dead] - { (#,#) ipv2_sCUS [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCUV [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a10_sCU8 - ipv1_sCUP; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCUV - ipv2_sCUS] - of - s6_sCUW [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCUP - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCUW] - of - s7_sCUZ [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCUZ - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCV0 [Occ=Once!] -> - let { - sat_sCV1 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCV0 - x_sCU0; - } in - (#,#) [s6_sCUW - sat_sCV1]; - }; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCV2 - s3_sCU7] - of - s4_sCV3 [OS=OneShot] - { __DEFAULT -> - let { - sat_sCV4 [Occ=Once] - :: GHC.Base.Maybe - a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCU0]; - } in - case - writeMutVar# [sc_sCRR - sat_sCV4 - s4_sCV3] - of - s2#_sCV5 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCV5] - of - _ [Occ=Dead] - { (#,#) ipv_sCV8 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCVB [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a8_sCRP - a10_sCU8; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCVB - ipv_sCV8] - of - s5_sCVC [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP - s5_sCVC] - of - s6_sCVE [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCU8 - s6_sCVE] - of - s7_sCVG [OS=OneShot] - { __DEFAULT -> - case - r1_sCRL - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCVI [Occ=Once] -> - case - readMutVar# [var#_sCVI - s7_sCVG] - of - _ [Occ=Dead] - { (#,#) ipv2_sCVK [Occ=Once] - ipv3_sCVL -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCVK] - of - _ [Occ=Dead] - { (#,#) ipv4_sCVO [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCVV [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCVR] - case - ipv3_sCVL - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCVR; - GHC.Base.Just f_sCVT [Occ=Once!] -> - let { - sat_sCVU [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCVT - x_sCU0; - } in - (#,#) [eta3_sCVR - sat_sCVU]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCVV - ipv4_sCVO] - of - s8_sCVW [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCVL - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCVW] - of - s9_sCVZ [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCVZ - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCW0 [Occ=Once!] -> - let { - sat_sCW1 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCW0 - x_sCU0; - } in - (#,#) [s8_sCVW - sat_sCW1]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCW3 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mx_sCID sat_sCW2; - } in - let { - sat_sCTY [Occ=Once] - :: (a6_a6Q3 -> b_a6Q4) - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCRW - eta2_sCRX] - let { - sat_sCS4 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta3_sCRZ] - case r1_sCRL of _ [Occ=Dead] { - GHC.STRef.STRef var#_sCS1 [Occ=Once] -> - let { - sat_sCS2 [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 - -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCRW]; - } in - case - writeMutVar# [var#_sCS1 - sat_sCS2 - eta3_sCRZ] - of - s2#_sCS3 [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCS3 - GHC.Tuple.()]; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCS4 - eta2_sCRX] - of - s3_sCS5 [OS=OneShot] - { __DEFAULT -> - let { - a10_sCS6 - :: GHC.Base.Maybe a6_a6Q3 - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str= {a4S4->}, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCS7 - eta3_sCS8] - case - mx1_sCS7 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCS8; - GHC.Base.Just x_sCSA [Occ=Once] -> - let { - sat_sCSB [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCRW - x_sCSA; - } in - (#,#) [eta3_sCS8 - sat_sCSB]; - }; - } in - let { - sat_sCSY [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCSD - eta3_sCSE] - case - __primcall eta.fibers.PrimOps.setCurrentC [a9_sCRT - eta3_sCSE] - of - s4_sCSG [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCS6 - s4_sCSG] - of - s5_sCSI [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc_sCRR - s5_sCSI] - of - _ [Occ=Dead] - { (#,#) ipv_sCSK [Occ=Once] - ipv1_sCSL -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCSK] - of - _ [Occ=Dead] - { (#,#) ipv2_sCSO [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCSR [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a10_sCS6 - ipv1_sCSL; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCSR - ipv2_sCSO] - of - s6_sCSS [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCSL - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCSS] - of - s7_sCSV [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCSV - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCSW [Occ=Once] -> - let { - sat_sCSX [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCRW - x_sCSW; - } in - (#,#) [s6_sCSS - sat_sCSX]; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCSY - s3_sCS5] - of - s4_sCSZ [OS=OneShot] - { __DEFAULT -> - case - r1_sCRL - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCT1 [Occ=Once] -> - let { - sat_sCT2 [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 - -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCRW]; - } in - case - writeMutVar# [var#_sCT1 - sat_sCT2 - s4_sCSZ] - of - s2#_sCT3 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCT3] - of - _ [Occ=Dead] - { (#,#) ipv_sCT6 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCT9 [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a9_sCRT - a10_sCS6; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCT9 - ipv_sCT6] - of - s5_sCTA [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a9_sCRT - s5_sCTA] - of - s6_sCTC [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a10_sCS6 - s6_sCTC] - of - s7_sCTE [OS=OneShot] - { __DEFAULT -> - case - readMutVar# [sc_sCRR - s7_sCTE] - of - _ [Occ=Dead] - { (#,#) ipv2_sCTG [Occ=Once] - ipv3_sCTH -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCTG] - of - _ [Occ=Dead] - { (#,#) ipv4_sCTK [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCTR [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta3_sCTN] - case - ipv3_sCTH - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta3_sCTN; - GHC.Base.Just x_sCTP [Occ=Once] -> - let { - sat_sCTQ [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCRW - x_sCTP; - } in - (#,#) [eta3_sCTN - sat_sCTQ]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCTR - ipv4_sCTK] - of - s8_sCTS [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCTH - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCTS] - of - s9_sCTV [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCTV - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCTW [Occ=Once] -> - let { - sat_sCTX [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCRW - x_sCTW; - } in - (#,#) [s8_sCTS - sat_sCTX]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCTZ [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mf_sCIC sat_sCTY; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCTZ - sat_sCW3 - sc1_sCRS]; - } in - let { - a9_sCW4 - :: GHC.IORef.IORef (GHC.Base.Maybe a6_a6Q3) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6Q4 #) - [LclId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [r2_sCW5 - eta2_sCW6] - let { - a10_sCW7 - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - GHC.Base.Maybe a6_a6Q3 #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - GHC.STRef.readSTRef1 r2_sCW5 eta_B1; - } in - let { - sat_sD0N [Occ=Once] - :: a6_a6Q3 - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [x_sCYH - eta3_sCYI] - let { - sat_sCYP [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta4_sCYK] - case r2_sCW5 of _ [Occ=Dead] { - GHC.STRef.STRef var#_sCYM [Occ=Once] -> - let { - sat_sCYN [Occ=Once] - :: GHC.Base.Maybe - a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCYH]; - } in - case - writeMutVar# [var#_sCYM - sat_sCYN - eta4_sCYK] - of - s2#_sCYO [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCYO - GHC.Tuple.()]; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCYP - eta3_sCYI] - of - s3_sCYQ [OS=OneShot] - { __DEFAULT -> - let { - a11_sCYR - :: GHC.Base.Maybe - (a6_a6Q3 -> b_a6Q4) - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mf1_sCYS - eta4_sCYT] - case - mf1_sCYS - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta4_sCYT; - GHC.Base.Just f_sCYV [Occ=Once!] -> - let { - sat_sCYW [Occ=Once] - :: b_a6Q4 - [LclId, Str=] = - \u srt:SRT:[] [] - f_sCYV - x_sCYH; - } in - (#,#) [eta4_sCYT - sat_sCYW]; - }; - } in - let { - sat_sCZL [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCYY - eta4_sCYZ] - case - __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP - eta4_sCYZ] - of - s4_sCZ1 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a11_sCYR - s4_sCZ1] - of - s5_sCZ3 [OS=OneShot] - { __DEFAULT -> - case - r1_sCRL - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCZ5 [Occ=Once] -> - case - readMutVar# [var#_sCZ5 - s5_sCZ3] - of - _ [Occ=Dead] - { (#,#) ipv_sCZ7 [Occ=Once] - ipv1_sCZ8 -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCZ7] - of - _ [Occ=Dead] - { (#,#) ipv2_sCZB [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCZE [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a11_sCYR - ipv1_sCZ8; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCZE - ipv2_sCZB] - of - s6_sCZF [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCZ8 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCZF] - of - s7_sCZI [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCZI - GHC.Err.undefined]; - }; - GHC.Base.Just f_sCZJ [Occ=Once!] -> - let { - sat_sCZK [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCZJ - x_sCYH; - } in - (#,#) [s6_sCZF - sat_sCZK]; - }; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCZL - s3_sCYQ] - of - s4_sCZM [OS=OneShot] - { __DEFAULT -> - case - r2_sCW5 - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCZO [Occ=Once] -> - let { - sat_sCZP [Occ=Once] - :: GHC.Base.Maybe - a6_a6Q3 - [LclId, Str=] = - NO_CCS GHC.Base.Just! [x_sCYH]; - } in - case - writeMutVar# [var#_sCZO - sat_sCZP - s4_sCZM] - of - s2#_sCZQ [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCZQ] - of - _ [Occ=Dead] - { (#,#) ipv_sCZT [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCZW [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a8_sCRP - a11_sCYR; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCZW - ipv_sCZT] - of - s5_sCZX [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a8_sCRP - s5_sCZX] - of - s6_sCZZ [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a11_sCYR - s6_sCZZ] - of - s7_sD01 [OS=OneShot] - { __DEFAULT -> - case - r1_sCRL - of - _ [Occ=Dead] - { GHC.STRef.STRef var#1_sD03 [Occ=Once] -> - case - readMutVar# [var#1_sD03 - s7_sD01] - of - _ [Occ=Dead] - { (#,#) ipv2_sD05 [Occ=Once] - ipv3_sD06 -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sD05] - of - _ [Occ=Dead] - { (#,#) ipv4_sD09 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sD0G [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta4_sD0C] - case - ipv3_sD06 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta4_sD0C; - GHC.Base.Just f_sD0E [Occ=Once!] -> - let { - sat_sD0F [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sD0E - x_sCYH; - } in - (#,#) [eta4_sD0C - sat_sD0F]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sD0G - ipv4_sD09] - of - s8_sD0H [OS=OneShot] - { __DEFAULT -> - case - ipv3_sD06 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sD0H] - of - s9_sD0K [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sD0K - GHC.Err.undefined]; - }; - GHC.Base.Just f_sD0L [Occ=Once!] -> - let { - sat_sD0M [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sD0L - x_sCYH; - } in - (#,#) [s8_sD0H - sat_sD0M]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sD0O [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mx_sCID sat_sD0N; - } in - let { - sat_sCYF [Occ=Once] - :: (a6_a6Q3 -> b_a6Q4) - -> Control.Concurrent.Fiber.Internal.Fiber - b_a6Q4 - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined, - rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [f_sCW9 - eta3_sCWA] - let { - sat_sCWH [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [eta4_sCWC] - case r1_sCRL of _ [Occ=Dead] { - GHC.STRef.STRef var#_sCWE [Occ=Once] -> - let { - sat_sCWF [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 - -> b_a6Q4) - [LclId, Str=] = - NO_CCS GHC.Base.Just! [f_sCW9]; - } in - case - writeMutVar# [var#_sCWE - sat_sCWF - eta4_sCWC] - of - s2#_sCWG [OS=OneShot] - { __DEFAULT -> - (#,#) [s2#_sCWG - GHC.Tuple.()]; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCWH - eta3_sCWA] - of - s3_sCWI [OS=OneShot] - { __DEFAULT -> - let { - a11_sCWJ - :: GHC.Base.Maybe a6_a6Q3 - -> GHC.Prim.State# - GHC.Prim.RealWorld - -> (# GHC.Prim.State# - GHC.Prim.RealWorld, - b_a6Q4 #) - [LclId, - Arity=2, - Str= {a4S4->}, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [mx1_sCWK - eta4_sCWL] - case - mx1_sCWK - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta4_sCWL; - GHC.Base.Just x_sCWN [Occ=Once] -> - let { - sat_sCWO [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCW9 - x_sCWN; - } in - (#,#) [eta4_sCWL - sat_sCWO]; - }; - } in - let { - sat_sCXD [Occ=Once] - :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sCWQ - eta4_sCWR] - case - __primcall eta.fibers.PrimOps.setCurrentC [a10_sCW7 - eta4_sCWR] - of - s4_sCWT [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a11_sCWJ - s4_sCWT] - of - s5_sCWV [OS=OneShot] - { __DEFAULT -> - case - r2_sCW5 - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCWX [Occ=Once] -> - case - readMutVar# [var#_sCWX - s5_sCWV] - of - _ [Occ=Dead] - { (#,#) ipv_sCWZ [Occ=Once] - ipv1_sCX0 -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sCWZ] - of - _ [Occ=Dead] - { (#,#) ipv2_sCX3 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCX6 [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - a11_sCWJ - ipv1_sCX0; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCX6 - ipv2_sCX3] - of - s6_sCX7 [OS=OneShot] - { __DEFAULT -> - case - ipv1_sCX0 - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s6_sCX7] - of - s7_sCXA [OS=OneShot] - { __DEFAULT -> - (#,#) [s7_sCXA - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCXB [Occ=Once] -> - let { - sat_sCXC [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCW9 - x_sCXB; - } in - (#,#) [s6_sCX7 - sat_sCXC]; - }; - }; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sCXD - s3_sCWI] - of - s4_sCXE [OS=OneShot] - { __DEFAULT -> - case - r1_sCRL - of - _ [Occ=Dead] - { GHC.STRef.STRef var#_sCXG [Occ=Once] -> - let { - sat_sCXH [Occ=Once] - :: GHC.Base.Maybe - (a6_a6Q3 - -> b_a6Q4) - [LclId, - Str=] = - NO_CCS GHC.Base.Just! [f_sCW9]; - } in - case - writeMutVar# [var#_sCXG - sat_sCXH - s4_sCXE] - of - s2#_sCXI [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [s2#_sCXI] - of - _ [Occ=Dead] - { (#,#) ipv_sCXL [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCXO [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - a10_sCW7 - a11_sCWJ; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCXO - ipv_sCXL] - of - s5_sCXP [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a10_sCW7 - s5_sCXP] - of - s6_sCXR [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.pushNextC [a11_sCWJ - s6_sCXR] - of - s7_sCXT [OS=OneShot] - { __DEFAULT -> - case - r2_sCW5 - of - _ [Occ=Dead] - { GHC.STRef.STRef var#1_sCXV [Occ=Once] -> - case - readMutVar# [var#1_sCXV - s7_sCXT] - of - _ [Occ=Dead] - { (#,#) ipv2_sCXX [Occ=Once] - ipv3_sCXY -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sCXX] - of - _ [Occ=Dead] - { (#,#) ipv4_sCY1 [Occ=Once] - _ [Occ=Dead] -> - let { - sat_sCY8 [Occ=Once] - :: GHC.Prim.Any - [LclId, - Str=] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta4_sCY4] - case - ipv3_sCXY - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - eta4_sCY4; - GHC.Base.Just x_sCY6 [Occ=Once] -> - let { - sat_sCY7 [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCW9 - x_sCY6; - } in - (#,#) [eta4_sCY4 - sat_sCY7]; - }; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sCY8 - ipv4_sCY1] - of - s8_sCY9 [OS=OneShot] - { __DEFAULT -> - case - ipv3_sCXY - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - case - __primcall eta.fibers.PrimOps.throwEmpty [s8_sCY9] - of - s9_sCYC [OS=OneShot] - { __DEFAULT -> - (#,#) [s9_sCYC - GHC.Err.undefined]; - }; - GHC.Base.Just x_sCYD [Occ=Once] -> - let { - sat_sCYE [Occ=Once] - :: b_a6Q4 - [LclId, - Str=] = - \u srt:SRT:[] [] - f_sCW9 - x_sCYD; - } in - (#,#) [s8_sCY9 - sat_sCYE]; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; } in - let { - sat_sCYG [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - mf_sCIC sat_sCYF; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sCYG - sat_sD0O - eta2_sCW6]; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [a9_sCW4 s2_sCRO] - of - s3_sD0Q [OS=OneShot] - { __DEFAULT -> - case - newMutVar# [GHC.Base.Nothing s3_sD0Q] - of - _ [Occ=Dead] - { (#,#) ipv_sD0S [Occ=Once] ipv1_sD0T -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sD0S] - of - _ [Occ=Dead] - { (#,#) ipv2_sD0W [Occ=Once] _ [Occ=Dead] -> - let { - sat_sD0Z [Occ=Once] - :: GHC.IORef.IORef - (GHC.Base.Maybe a6_a6Q3) - [LclId, Str=] = - NO_CCS GHC.STRef.STRef! [ipv1_sD0T]; } in - let { - sat_sD10 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] a9_sCW4 sat_sD0Z; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sD10 - ipv2_sD0W] - of - s5_sD11 [OS=OneShot] - { __DEFAULT -> - $sa1_sCRQ - ipv1_sD0T - GHC.Prim.coercionToken# - s5_sD11; - }; - }; - }; - }; - }; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [a7_sCRK s1_sCIG] - of - s2_sD13 [OS=OneShot] - { __DEFAULT -> - case newMutVar# [GHC.Base.Nothing s2_sD13] of _ [Occ=Dead] { - (#,#) ipv_sD15 [Occ=Once] ipv1_sD16 -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv_sD15] - of - _ [Occ=Dead] - { (#,#) ipv2_sD19 [Occ=Once] _ [Occ=Dead] -> - let { - sat_sD1C [Occ=Once] - :: GHC.IORef.IORef (GHC.Base.Maybe (a6_a6Q3 -> b_a6Q4)) - [LclId, Str=] = - NO_CCS GHC.STRef.STRef! [ipv1_sD16]; } in - let { - sat_sD1D [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[] [] a7_sCRK sat_sD1C; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sD1D - ipv2_sD19] - of - s5_sD1E [OS=OneShot] - { __DEFAULT -> - $sa_sCIH ipv1_sD16 GHC.Prim.coercionToken# s5_sD1E; - }; - }; - }; - }; - }; -a3_rCFY - :: forall a1_a896 b_a897. - Control.Concurrent.Fiber.Internal.Fiber a1_a896 - -> Control.Concurrent.Fiber.Internal.Fiber b_a897 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a1_a896 #) -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD1F - eta1_sD1G - eta2_sD1H] - let { - sat_sD1O [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber (b_a897 -> a6_a896) - [LclId, Str=] = - \r srt:SRT:[] [s_sD1I] - case eta_sD1F s_sD1I of _ [Occ=Dead] { - (#,#) ipv_sD1K [Occ=Once] ipv1_sD1L [Occ=OnceL] -> - let { - sat_sD1N [Occ=Once] :: b_a897 -> a6_a896 - [LclId, Str=] = - \r srt:SRT:[] [ds1_sD1M] ipv1_sD1L; - } in (#,#) [ipv_sD1K sat_sD1N]; - }; - } in - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - sat_sD1O eta1_sD1G eta2_sD1H; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber1 - :: forall a1_X8IB b_X8ID c_X8IF. - (a1_X8IB -> b_X8ID -> c_X8IF) - -> Control.Concurrent.Fiber.Internal.Fiber a1_X8IB - -> Control.Concurrent.Fiber.Internal.Fiber b_X8ID - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, c_X8IF #) -[GblId, - Arity=4, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD1P - eta1_sD1Q - eta2_sD1R - eta4_sD1S] - let { - sat_sD1Y [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber (b_X8ID -> c_X8IF) - [LclId, Str=] = - \r srt:SRT:[] [s_sD1T] - case eta1_sD1Q s_sD1T of _ [Occ=Dead] { - (#,#) ipv_sD1V [Occ=Once] ipv1_sD1W [Occ=Once] -> - let { - sat_sD1X [Occ=Once] :: b_X8ID -> c_X8IF - [LclId, Str=] = - \u srt:SRT:[] [] eta_sD1P ipv1_sD1W; - } in (#,#) [ipv_sD1V sat_sD1X]; - }; - } in - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - sat_sD1Y eta2_sD1R eta4_sD1S; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2 - :: forall a_X76K. - GHC.Base.Monoid a_X76K => - Control.Concurrent.Fiber.Internal.Fiber a_X76K - -> Control.Concurrent.Fiber.Internal.Fiber a_X76K - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_X76K #) -[GblId, - Arity=4, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [$dMonoid_sD1Z - x_sD20 - y_sD21 - eta_sD22] - let { - sat_sD28 [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber (a6_X76K -> a6_X76K) - [LclId, Str=] = - \r srt:SRT:[] [s_sD23] - case x_sD20 s_sD23 of _ [Occ=Dead] { - (#,#) ipv_sD25 [Occ=Once] ipv1_sD26 [Occ=Once] -> - let { - sat_sD27 [Occ=Once] :: a6_X76K -> a6_X76K - [LclId, Str=] = - \u srt:SRT:[] [] GHC.Base.mappend $dMonoid_sD1Z ipv1_sD26; - } in (#,#) [ipv_sD25 sat_sD27]; - }; - } in - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - sat_sD28 y_sD21 eta_sD22; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber5 - :: forall a_a6Y2. - Control.Concurrent.Fiber.Internal.Fiber a_a6Y2 - -> Control.Concurrent.Fiber.Internal.Fiber a_a6Y2 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [mf_sD29 mg_sD2A s_sD2B] - __primcall eta.fibers.PrimOps.alternativeFiber [mf_sD29 - mg_sD2A - s_sD2B]; -Control.Concurrent.Fiber.Internal.$fFunctor_Fiber2 - :: forall a_a6ZW b_a6ZX. - (a_a6ZW -> b_a6ZX) - -> Control.Concurrent.Fiber.Internal.Fiber a_a6ZW - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a6ZX #) -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [f_sD2D ds_sD2E s_sD2F] - case ds_sD2E s_sD2F of _ [Occ=Dead] { - (#,#) ipv_sD2H [Occ=Once] ipv1_sD2I [Occ=Once] -> - let { - sat_sD2J [Occ=Once] :: b_a6ZX - [LclId, Str=] = - \u srt:SRT:[] [] f_sD2D ipv1_sD2I; - } in (#,#) [ipv_sD2H sat_sD2J]; - }; -lvl_rCFZ :: [GHC.Types.Char] -[GblId, Str=] = - \u srt:SRT:[] [] - GHC.CString.unpackCString# - "This code should not have been reached."#; -Control.Concurrent.Fiber.Internal.block2 :: forall a_a5ZB. a_a5ZB -[GblId, Str=b] = - \u srt:SRT:[05 :-> GHC.Err.error, rCFZ :-> lvl_rCFZ] [] - GHC.Err.error lvl_rCFZ; -lvl1_rCG0 :: [GHC.Types.Char] -[GblId, Str=] = - \u srt:SRT:[] [] - GHC.CString.unpackCString# - "Attempted to extract a value from a Fiber's yield or block."#; -Control.Concurrent.Fiber.Internal.block3 :: GHC.Prim.Any -[GblId, Str=b] = - \u srt:SRT:[05 :-> GHC.Err.error, rCG0 :-> lvl1_rCG0] [] - GHC.Err.error lvl1_rCG0; -lvl2_rCG1 :: [GHC.Types.Char] -[GblId, Str=] = - \u srt:SRT:[] [] - GHC.CString.unpackCString# - "You cannot yield or block as the last action of a Fiber."#; -Control.Concurrent.Fiber.Internal.block4 :: forall a_a5ZB. a_a5ZB -[GblId, Str=b] = - \u srt:SRT:[05 :-> GHC.Err.error, rCG1 :-> lvl2_rCG1] [] - GHC.Err.error lvl2_rCG1; -Control.Concurrent.Fiber.Internal.yield'1 - :: forall a_a5ZB. - GHC.Types.Bool - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5ZB #) -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFB :-> Control.Concurrent.Fiber.Internal.block2, - rCFC :-> Control.Concurrent.Fiber.Internal.block3, - rCFD :-> Control.Concurrent.Fiber.Internal.block4] [block5_sD2K - s_sD2L] - case - __primcall eta.fibers.PrimOps.popContStack [s_sD2L] - of - _ [Occ=Dead] - { (#,,#) ipv_sD2O [Occ=Once*] - ipv1_sD2P [Occ=Once!] - ipv2_sD2Q [Occ=Once] -> - case ipv1_sD2P of _ [Occ=Dead] { - __DEFAULT -> - (#,#) [ipv_sD2O Control.Concurrent.Fiber.Internal.block4]; - 1 -> - let { - sat_sD2T [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] - ipv2_sD2Q Control.Concurrent.Fiber.Internal.block3; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sD2T ipv_sD2O] - of - s2_sD2U [OS=OneShot] - { __DEFAULT -> - case - case block5_sD2K of sat_sD2W { - __DEFAULT -> dataToTag# [sat_sD2W]; - } - of - sat_sD2X - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.yieldFiber [sat_sD2X s2_sD2U] - of - wild_sD2Y [OS=OneShot] - { __DEFAULT -> - (#,#) [wild_sD2Y Control.Concurrent.Fiber.Internal.block2]; - }; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.yield1 - :: forall a_a5ZR. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5ZR #) -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFB :-> Control.Concurrent.Fiber.Internal.block2, - rCFC :-> Control.Concurrent.Fiber.Internal.block3, - rCFD :-> Control.Concurrent.Fiber.Internal.block4] [s_sD2Z] - case - __primcall eta.fibers.PrimOps.popContStack [s_sD2Z] - of - _ [Occ=Dead] - { (#,,#) ipv_sD32 [Occ=Once*] - ipv1_sD33 [Occ=Once!] - ipv2_sD34 [Occ=Once] -> - case ipv1_sD33 of _ [Occ=Dead] { - __DEFAULT -> - (#,#) [ipv_sD32 Control.Concurrent.Fiber.Internal.block4]; - 1 -> - let { - sat_sD37 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] - ipv2_sD34 Control.Concurrent.Fiber.Internal.block3; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sD37 ipv_sD32] - of - s2_sD38 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.yieldFiber [0 s2_sD38] - of - wild_sD3A [OS=OneShot] - { __DEFAULT -> - (#,#) [wild_sD3A Control.Concurrent.Fiber.Internal.block2]; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.block1 - :: forall a_a5ZJ. - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5ZJ #) -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFB :-> Control.Concurrent.Fiber.Internal.block2, - rCFC :-> Control.Concurrent.Fiber.Internal.block3, - rCFD :-> Control.Concurrent.Fiber.Internal.block4] [s_sD3B] - case - __primcall eta.fibers.PrimOps.popContStack [s_sD3B] - of - _ [Occ=Dead] - { (#,,#) ipv_sD3E [Occ=Once*] - ipv1_sD3F [Occ=Once!] - ipv2_sD3G [Occ=Once] -> - case ipv1_sD3F of _ [Occ=Dead] { - __DEFAULT -> - (#,#) [ipv_sD3E Control.Concurrent.Fiber.Internal.block4]; - 1 -> - let { - sat_sD3J [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] - ipv2_sD3G Control.Concurrent.Fiber.Internal.block3; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sD3J ipv_sD3E] - of - s2_sD3K [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.yieldFiber [1 s2_sD3K] - of - wild_sD3M [OS=OneShot] - { __DEFAULT -> - (#,#) [wild_sD3M Control.Concurrent.Fiber.Internal.block2]; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.$fException_Empty1 - :: [GHC.Types.Char] -[GblId, Str=] = - \u srt:SRT:[] [] GHC.CString.unpackCString# "Empty"#; -Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$s$dmfail - :: forall a_a6PK. - GHC.Base.String -> Control.Concurrent.Fiber.Internal.Fiber a_a6PK -[GblId, Arity=1, Str=b, Unf=OtherCon []] = - \r srt:SRT:[05 :-> GHC.Err.error] [eta_sD3N] - GHC.Err.error eta_sD3N; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$sliftA2 - :: forall a1_a8I7 b_a8I8 c_a8I9. - (a1_a8I7 -> b_a8I8 -> c_a8I9) - -> Control.Concurrent.Fiber.Internal.Fiber a1_a8I7 - -> Control.Concurrent.Fiber.Internal.Fiber b_a8I8 - -> Control.Concurrent.Fiber.Internal.Fiber c_a8I9 -[GblId, - Arity=4, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDZ :-> Control.Concurrent.Fiber.Internal.$fApplicative_Fiber1] [eta_B4 - eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fApplicative_Fiber1 - eta_B4 eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$s$dm<* - :: forall a_a6WA b_a6WB. - Control.Concurrent.Fiber.Internal.Fiber a_a6WA - -> Control.Concurrent.Fiber.Internal.Fiber b_a6WB - -> Control.Concurrent.Fiber.Internal.Fiber a_a6WA -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFY :-> a3_rCFY] [eta_B3 eta_B2 eta_B1] - a3_rCFY eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.catchf1 - :: forall a_a5YO e_a5YP. - GHC.Exception.Exception e_a5YP => - Control.Concurrent.Fiber.Internal.Fiber a_a5YO - -> (e_a5YP -> Control.Concurrent.Fiber.Internal.Fiber a_a5YO) - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a5YO #) -[GblId, - Arity=4, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [$dException_sD3O ds_sD3P exc_sD3Q eta_sD3R] - let { - sat_sD3W [Occ=Once] - :: GHC.Exception.SomeException - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a6_a5YO #) - [LclId, Str=] = - \r srt:SRT:[] [e1_sD3S] - case - GHC.Exception.fromException $dException_sD3O e1_sD3S - of - _ [Occ=Dead] - { GHC.Base.Nothing -> - let { - sat_sD3U [Occ=Once] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a6_a5YO #) - [LclId, Str=] = - \r srt:SRT:[] [eta_B1] raiseIO# [e1_sD3S eta_B1]; - } in sat_sD3U; - GHC.Base.Just e'_sD3V [Occ=Once] -> exc_sD3Q e'_sD3V; - }; - } in catch# [ds_sD3P sat_sD3W eta_sD3R]; -Control.Concurrent.Fiber.Internal.$fShow_Empty1 - :: Control.Concurrent.Fiber.Internal.Empty -> GHC.Show.ShowS -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCEB :-> Control.Concurrent.Fiber.Internal.$fException_Empty1] [ds_sD3X - eta_sD3Y] - case ds_sD3X of _ [Occ=Dead] { - Control.Concurrent.Fiber.Internal.Empty -> - GHC.Base.++ - Control.Concurrent.Fiber.Internal.$fException_Empty1 eta_sD3Y; - }; -Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber1 - :: forall a_a6N1. GHC.Types.IO a_a6N1 -> GHC.Types.IO a_a6N1 -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [ds_sD40] ds_sD40; -Control.Concurrent.Fiber.Internal.unFiber1 - :: forall a_a4UC. - Control.Concurrent.Fiber.Internal.Fiber a_a4UC - -> Control.Concurrent.Fiber.Internal.Fiber a_a4UC -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [ds_sD41] ds_sD41; -Control.Concurrent.Fiber.Internal.catchf - :: forall a_a48Q e_a48R. - GHC.Exception.Exception e_a48R => - Control.Concurrent.Fiber.Internal.Fiber a_a48Q - -> (e_a48R -> Control.Concurrent.Fiber.Internal.Fiber a_a48Q) - -> Control.Concurrent.Fiber.Internal.Fiber a_a48Q -[GblId, - Arity=4, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B4 eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.catchf1 - eta_B4 eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.delEvent :: GHC.Types.IO () -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.delEvent1 eta_B1; -Control.Concurrent.Fiber.Internal.getEvent - :: forall a_a48S. GHC.Types.IO (GHC.Base.Maybe a_a48S) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.getEvent1 eta_B1; -Control.Concurrent.Fiber.Internal.setEvent - :: forall a_a640. a_a640 -> GHC.Types.IO () -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.setEvent1 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.forkFiber - :: Control.Concurrent.Fiber.Internal.Fiber () - -> GHC.Types.IO GHC.Conc.Sync.ThreadId -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.forkFiber1 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.yield' - :: forall a_a48T. - GHC.Types.Bool -> Control.Concurrent.Fiber.Internal.Fiber a_a48T -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFU :-> Control.Concurrent.Fiber.Internal.yield'1] [eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.yield'1 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.block - :: forall a_a48U. Control.Concurrent.Fiber.Internal.Fiber a_a48U -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1] [eta_B1] - Control.Concurrent.Fiber.Internal.block1 eta_B1; -Control.Concurrent.Fiber.Internal.yield - :: forall a_a48V. Control.Concurrent.Fiber.Internal.Fiber a_a48V -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFT :-> Control.Concurrent.Fiber.Internal.yield1] [eta_B1] - Control.Concurrent.Fiber.Internal.yield1 eta_B1; -Control.Concurrent.Fiber.Internal.unlift - :: forall a_a66M. - Control.Concurrent.Fiber.Internal.Fiber a_a66M - -> GHC.Types.IO a_a66M -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.unFiber1 eta_B1; -Control.Concurrent.Fiber.Internal.getCurrent - :: GHC.Types.IO GHC.Prim.Any -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.getCurrentC [eta_B1]; -Control.Concurrent.Fiber.Internal.getStack - :: GHC.Types.IO Control.Concurrent.Fiber.Internal.Obj -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.getStack1 eta_B1; -Control.Concurrent.Fiber.Internal.topStack - :: GHC.Types.IO GHC.Types.Int -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.topStack1 eta_B1; -Control.Concurrent.Fiber.Internal.runFiberWithBlock - :: forall a_a4E4. - Control.Concurrent.Fiber.Internal.Fiber a_a4E4 - -> GHC.Types.IO - (Data.Either.Either - (GHC.Types.Bool, Control.Concurrent.Fiber.Internal.Fiber a_a4E4) - a_a4E4) -[GblId, Arity=1, Str=b, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sD43] GHC.Err.undefined; -Control.Concurrent.Fiber.Internal.runFiber - :: forall a_a4HZ. - Control.Concurrent.Fiber.Internal.Fiber a_a4HZ - -> GHC.Types.IO - (Data.Either.Either - (Control.Concurrent.Fiber.Internal.Fiber a_a4HZ) a_a4HZ) -[GblId, Arity=1, Str=b, Unf=OtherCon []] = - \r srt:SRT:[04B :-> GHC.Err.undefined] [ds_sD44] GHC.Err.undefined; -Control.Concurrent.Fiber.Internal.throwEmpty - :: forall a_a4I0. GHC.Types.IO a_a4I0 -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 eta_B1; -Control.Concurrent.Fiber.Internal.catchEmpty - :: forall (m_a4I1 :: * -> *) a_a4I2. - GHC.Base.Monad m_a4I1 => - m_a4I1 a_a4I2 -> m_a4I1 a_a4I2 -> m_a4I1 a_a4I2 -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.catchEmpty2 eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.getCurrentC# - :: forall s_a4TW[sk]. - GHC.Prim.State# s_a4TW[sk] - -> (# GHC.Prim.State# s_a4TW[sk], GHC.Prim.Any #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.getCurrentC [eta_B1]; -Control.Concurrent.Fiber.Internal.setCurrentC# - :: forall s_a4TV[sk]. - GHC.Prim.Any - -> GHC.Prim.State# s_a4TV[sk] -> GHC.Prim.State# s_a4TV[sk] -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.setCurrentC [eta_B2 eta_B1]; -Control.Concurrent.Fiber.Internal.pushNextC# - :: forall s_a4TU[sk]. - GHC.Prim.Any - -> GHC.Prim.State# s_a4TU[sk] -> GHC.Prim.State# s_a4TU[sk] -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.pushNextC [eta_B2 eta_B1]; -Control.Concurrent.Fiber.Internal.popNextC# - :: forall s_a4TT[sk]. - GHC.Prim.State# s_a4TT[sk] - -> (# GHC.Prim.State# s_a4TT[sk], GHC.Prim.Any #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.popNextC [eta_B1]; -Control.Concurrent.Fiber.Internal.popContStack# - :: forall s_a4TS[sk]. - GHC.Prim.State# s_a4TS[sk] - -> (# GHC.Prim.State# s_a4TS[sk], GHC.Prim.Int#, GHC.Prim.Any #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.popContStack [eta_B1]; -Control.Concurrent.Fiber.Internal.yieldFiber# - :: forall s_a4TR[sk]. - GHC.Prim.Int# - -> GHC.Prim.State# s_a4TR[sk] -> GHC.Prim.State# s_a4TR[sk] -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.yieldFiber [eta_B2 eta_B1]; -Control.Concurrent.Fiber.Internal.getEvent# - :: forall s_a4TP[sk] a_a4TQ[sk]. - GHC.Prim.State# s_a4TP[sk] - -> (# GHC.Prim.State# s_a4TP[sk], GHC.Prim.Int#, a_a4TQ[sk] #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.getEventCC [eta_B1]; -Control.Concurrent.Fiber.Internal.setEvent# - :: forall s_a4TO[sk]. - GHC.Prim.Any - -> GHC.Prim.State# s_a4TO[sk] -> GHC.Prim.State# s_a4TO[sk] -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.setEventC [eta_B2 eta_B1]; -Control.Concurrent.Fiber.Internal.delEvent# - :: forall s_a4TN[sk]. - GHC.Prim.State# s_a4TN[sk] -> GHC.Prim.State# s_a4TN[sk] -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.delEventCC [eta_B1]; -Control.Concurrent.Fiber.Internal.getTSO# - :: forall s_a4TM[sk]. - GHC.Prim.State# s_a4TM[sk] - -> (# GHC.Prim.State# s_a4TM[sk], GHC.Prim.ThreadId# #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.getTSOC [eta_B1]; -Control.Concurrent.Fiber.Internal.setContStack# - :: forall s_a4TL[sk]. - GHC.Prim.Int# - -> GHC.Prim.Object# GHC.Types.Object - -> GHC.Prim.Any - -> GHC.Prim.State# s_a4TL[sk] - -> GHC.Prim.State# s_a4TL[sk] -[GblId, - Arity=4, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B4 eta_B3 eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.setContStack [eta_B4 - eta_B3 - eta_B2 - eta_B1]; -Control.Concurrent.Fiber.Internal.topStack# - :: forall s_a4TK[sk]. - GHC.Prim.State# s_a4TK[sk] - -> (# GHC.Prim.State# s_a4TK[sk], GHC.Prim.Int# #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.topStackC [eta_B1]; -Control.Concurrent.Fiber.Internal.getStack# - :: forall s_a4TJ[sk]. - GHC.Prim.State# s_a4TJ[sk] - -> (# GHC.Prim.State# s_a4TJ[sk], - GHC.Prim.Object# GHC.Types.Object #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.getStackC [eta_B1]; -Control.Concurrent.Fiber.Internal.setTopStack# - :: forall s_a4TI[sk]. - GHC.Prim.Int# - -> GHC.Prim.State# s_a4TI[sk] -> GHC.Prim.State# s_a4TI[sk] -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.setTopStackC [eta_B2 eta_B1]; -Control.Concurrent.Fiber.Internal.alternativeFiber# - :: forall s_a4TH[sk]. - GHC.Prim.Any - -> GHC.Prim.Any - -> GHC.Prim.State# s_a4TH[sk] - -> (# GHC.Prim.State# s_a4TH[sk], GHC.Prim.Any #) -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] - __primcall eta.fibers.PrimOps.alternativeFiber [eta_B3 - eta_B2 - eta_B1]; -Control.Concurrent.Fiber.Internal.throwEmpty# - :: forall s_a4TG[sk]. - GHC.Prim.State# s_a4TG[sk] -> GHC.Prim.State# s_a4TG[sk] -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - __primcall eta.fibers.PrimOps.throwEmpty [eta_B1]; -Control.Concurrent.Fiber.Internal.unFiber - :: forall a_a48P. - Control.Concurrent.Fiber.Internal.Fiber a_a48P - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a48P #) -[GblId[[RecSel]], - Arity=1, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.unFiber1 eta_B1; -Control.Concurrent.Fiber.Internal.$fException_Empty2 - :: Data.Typeable.Internal.TypeRep -[GblId, Str=m] = - \u srt:SRT:[] [] - case "fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq"# of a6_sD4L { - __DEFAULT -> - let { - ww2_sD4M [Occ=Once] :: GHC.Base.String - [LclId, Str=] = - \u srt:SRT:[] [] GHC.CString.unpackCString# a6_sD4L; - } in - case "Control.Concurrent.Fiber.Internal"# of a7_sD4N { - __DEFAULT -> - let { - ww3_sD4O [Occ=Once] :: GHC.Base.String - [LclId, Str=] = - \u srt:SRT:[] [] GHC.CString.unpackCString# a7_sD4N; - } in - case "Empty"# of a8_sD4P { - __DEFAULT -> - let { - ww4_sD4Q [Occ=Once] :: GHC.Base.String - [LclId, Str=] = - \u srt:SRT:[] [] GHC.CString.unpackCString# a8_sD4P; } in - let { - wild_sD4R [Occ=Once] :: Data.Typeable.Internal.TyCon - [LclId, Str=, Unf=OtherCon []] = - NO_CCS Data.Typeable.Internal.TyCon! [__word64 8876078581063674855 - __word64 15964071736263936320 - ww2_sD4M - ww3_sD4O - ww4_sD4Q]; - } in - Data.Typeable.Internal.TypeRep [__word64 8876078581063674855 - __word64 15964071736263936320 - wild_sD4R - GHC.Types.[] - GHC.Types.[]]; - }; - }; - }; -Control.Concurrent.Fiber.Internal.$fException_Empty4 - :: GHC.Prim.Proxy# Control.Concurrent.Fiber.Internal.Empty - -> Data.Typeable.Internal.TypeRep -[GblId, Arity=1, Str=m, Unf=OtherCon []] = - \r srt:SRT:[rCED :-> Control.Concurrent.Fiber.Internal.$fException_Empty2] [wild_sD4S] - Control.Concurrent.Fiber.Internal.$fException_Empty2; -Control.Concurrent.Fiber.Internal.$fFunctor_Fiber1 - :: forall a1_a88Y b_a88Z. - a1_a88Y - -> Control.Concurrent.Fiber.Internal.Fiber b_a88Z - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a1_a88Y #) -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_sD4T eta1_sD4U eta2_sD4V] - case eta1_sD4U eta2_sD4V of _ [Occ=Dead] { - (#,#) ipv_sD4X [Occ=Once] _ [Occ=Dead] -> - (#,#) [ipv_sD4X eta_sD4T]; - }; -Control.Concurrent.Fiber.Internal.$fFunctor_Fiber_$c<$ - :: forall a_a706 b_a707. - a_a706 - -> Control.Concurrent.Fiber.Internal.Fiber b_a707 - -> Control.Concurrent.Fiber.Internal.Fiber a_a706 -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.$fFunctor_Fiber1 - eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2 - :: forall a1_a89H b_a89I. - Control.Concurrent.Fiber.Internal.Fiber a1_a89H - -> Control.Concurrent.Fiber.Internal.Fiber b_a89I - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, b_a89I #) -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD4Z - eta1_sD50 - eta2_sD51] - let { - sat_sD56 [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber (b_a89I -> b_a89I) - [LclId, Str=] = - \r srt:SRT:[] [eta3_sD52] - case eta_sD4Z eta3_sD52 of _ [Occ=Dead] { - (#,#) ipv_sD54 [Occ=Once] _ [Occ=Dead] -> - (#,#) [ipv_sD54 GHC.Base.id]; - }; - } in - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - sat_sD56 eta1_sD50 eta2_sD51; -Control.Concurrent.Fiber.Internal.$fFunctor_Fiber_$cfmap - :: forall a_a6ZU b_a6ZV. - (a_a6ZU -> b_a6ZV) - -> Control.Concurrent.Fiber.Internal.Fiber a_a6ZU - -> Control.Concurrent.Fiber.Internal.Fiber b_a6ZV -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.$fFunctor_Fiber2 - eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fFunctor_Fiber [InlPrag=[ALWAYS] CONLIKE] - :: GHC.Base.Functor Control.Concurrent.Fiber.Internal.Fiber -[GblId[DFunId], Caf=NoCafRefs, Str=m, Unf=OtherCon []] = - NO_CCS GHC.Base.D:Functor! [Control.Concurrent.Fiber.Internal.$fFunctor_Fiber2 - Control.Concurrent.Fiber.Internal.$fFunctor_Fiber1]; -Control.Concurrent.Fiber.Internal.$fException_Empty_$cfromException - :: GHC.Exception.SomeException - -> GHC.Base.Maybe Control.Concurrent.Fiber.Internal.Empty -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCED :-> Control.Concurrent.Fiber.Internal.$fException_Empty2] [eta_sD57] - case eta_sD57 of _ [Occ=Dead] { - GHC.Exception.SomeException $dException1_sD59 [Occ=Once] - e2_sD5A [Occ=Once] -> - case - GHC.Exception.$p1Exception $dException1_sD59 GHC.Prim.proxy# - of - _ [Occ=Dead] - { Data.Typeable.Internal.TypeRep dt_sD5C [Occ=Once] - dt1_sD5D [Occ=Once] - _ [Occ=Dead] - _ [Occ=Dead] - _ [Occ=Dead] -> - case - Control.Concurrent.Fiber.Internal.$fException_Empty2 - of - _ [Occ=Dead] - { Data.Typeable.Internal.TypeRep dt2_sD5I [Occ=Once] - dt3_sD5J [Occ=Once] - _ [Occ=Dead] - _ [Occ=Dead] - _ [Occ=Dead] -> - case eqWord64# [dt_sD5C dt2_sD5I] of _ [Occ=Dead] { - __DEFAULT -> GHC.Base.Nothing []; - 1 -> - case eqWord64# [dt1_sD5D dt3_sD5J] of _ [Occ=Dead] { - __DEFAULT -> GHC.Base.Nothing []; - 1 -> GHC.Base.Just [e2_sD5A]; - }; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.$fException_Empty3 - :: Data.Typeable.Internal.Typeable - Control.Concurrent.Fiber.Internal.Empty -[GblId, Arity=1, Str=m, Unf=OtherCon []] = - \r srt:SRT:[rCEJ :-> Control.Concurrent.Fiber.Internal.$fException_Empty4] [eta_B1] - Control.Concurrent.Fiber.Internal.$fException_Empty4 eta_B1; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1 - :: forall a1_a89P. - Control.Concurrent.Fiber.Internal.Fiber a1_a89P - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a1_a89P] #) -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD5P - eta1_sD5Q] - let { - a7_sD5R [Occ=LoopBreaker] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [s_sD5S] - let { - sat_sD5Z [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber ([a6_a89P] -> [a6_a89P]) - [LclId, Str=] = - \r srt:SRT:[] [s1_sD5U] - case eta_sD5P s1_sD5U of _ [Occ=Dead] { - (#,#) ipv_sD5W [Occ=Once] ipv1_sD5X [Occ=OnceL] -> - let { - sat_sD5Y [Occ=Once] :: [a6_a89P] -> [a6_a89P] - [LclId, Str=] = - \r srt:SRT:[] [eta_B1] : [ipv1_sD5X eta_B1]; - } in (#,#) [ipv_sD5W sat_sD5Y]; - }; } in - let { - sat_sD60 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - sat_sD5Z a7_sD5R; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sD60 - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber2 - s_sD5S]; - } in a7_sD5R eta1_sD5Q; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$cmany - :: forall a_a6YZ. - Control.Concurrent.Fiber.Internal.Fiber a_a6YZ - -> Control.Concurrent.Fiber.Internal.Fiber [a_a6YZ] -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDO :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1] [eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1 - eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4 - :: forall a1_a89V. - Control.Concurrent.Fiber.Internal.Fiber a1_a89V - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a1_a89V] #) -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_sD61 - eta1_sD62] - let { - a7_sD63 [Occ=Once] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a6_a89V] -> [a6_a89V] #) - [LclId, - Arity=1, - Str= {a89W->}, - Unf=OtherCon []] = - \r srt:SRT:[] [s_sD64] - case eta_sD61 s_sD64 of _ [Occ=Dead] { - (#,#) ipv_sD66 [Occ=Once] ipv1_sD67 [Occ=OnceL] -> - let { - sat_sD68 [Occ=Once] :: [a6_a89V] -> [a6_a89V] - [LclId, Str=] = - \r srt:SRT:[] [eta_B1] : [ipv1_sD67 eta_B1]; - } in (#,#) [ipv_sD66 sat_sD68]; - }; } in - let { - a8_sD69 [Occ=Once] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sD6B] - __primcall eta.fibers.PrimOps.alternativeFiber [a9_sD6A - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber2 - s_sD6B]; - a9_sD6A [Occ=LoopBreaker] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, [a6_a89V] #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - a7_sD63 a8_sD69 eta_B1; - } in a9_sD6A eta1_sD62; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$csome - :: forall a_a6YR. - Control.Concurrent.Fiber.Internal.Fiber a_a6YR - -> Control.Concurrent.Fiber.Internal.Fiber [a_a6YR] -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDS :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4] [eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4 - eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$c<|> - :: forall a_a6VI. - Control.Concurrent.Fiber.Internal.Fiber a_a6VI - -> Control.Concurrent.Fiber.Internal.Fiber a_a6VI - -> Control.Concurrent.Fiber.Internal.Fiber a_a6VI -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber5 - eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber_$cempty - :: forall a_a6RV. Control.Concurrent.Fiber.Internal.Fiber a_a6RV -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 eta_B1; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1 - :: forall a_X76R. - GHC.Base.Monoid a_X76R => - [Control.Concurrent.Fiber.Internal.Fiber a_X76R] - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_X76R #) -[GblId, - Arity=3, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [$dMonoid_sD6D - eta_sD6E - eta1_sD6F] - let { - lvl3_sD6G [Occ=OnceL] :: a6_X76R - [LclId, Str=] = - \u srt:SRT:[] [] GHC.Base.mempty $dMonoid_sD6D; } in - let { - a7_sD6H [Occ=LoopBreaker] - :: [Control.Concurrent.Fiber.Internal.Fiber a6_X76R] - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a6_X76R #) - [LclId, Arity=2, Str=, Unf=OtherCon []] = - sat-only \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [ds_sD6I - eta2_sD6J] - case ds_sD6I of _ [Occ=Dead] { - [] -> (#,#) [eta2_sD6J lvl3_sD6G]; - : y_sD6L [Occ=Once] ys_sD6M [Occ=Once] -> - let { - sat_sD6T [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber a6_X76R - [LclId, Str=] = - \r srt:SRT:[] [eta_B1] a7_sD6H ys_sD6M eta_B1; } in - let { - sat_sD6S [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber (a6_X76R -> a6_X76R) - [LclId, Str=] = - \r srt:SRT:[] [s_sD6N] - case y_sD6L s_sD6N of _ [Occ=Dead] { - (#,#) ipv_sD6P [Occ=Once] ipv1_sD6Q [Occ=Once] -> - let { - sat_sD6R [Occ=Once] :: a6_X76R -> a6_X76R - [LclId, Str=] = - \u srt:SRT:[] [] - GHC.Base.mappend $dMonoid_sD6D ipv1_sD6Q; - } in (#,#) [ipv_sD6P sat_sD6R]; - }; - } in - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - sat_sD6S sat_sD6T eta2_sD6J; - }; - } in a7_sD6H eta_sD6E eta1_sD6F; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber_$cmconcat - :: forall a_a6WE. - GHC.Base.Monoid a_a6WE => - [Control.Concurrent.Fiber.Internal.Fiber a_a6WE] - -> Control.Concurrent.Fiber.Internal.Fiber a_a6WE -[GblId, - Arity=3, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCER :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1] [eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1 - eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber_$cmappend - :: forall a_a6WE. - GHC.Base.Monoid a_a6WE => - Control.Concurrent.Fiber.Internal.Fiber a_a6WE - -> Control.Concurrent.Fiber.Internal.Fiber a_a6WE - -> Control.Concurrent.Fiber.Internal.Fiber a_a6WE -[GblId, - Arity=4, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCET :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2] [eta_B4 - eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2 - eta_B4 eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber_$cmempty - :: forall a_a6WE. - GHC.Base.Monoid a_a6WE => - Control.Concurrent.Fiber.Internal.Fiber a_a6WE -[GblId, - Arity=2, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.$fMonoid_Fiber3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fMonoid_Fiber [InlPrag=[ALWAYS] CONLIKE] - :: forall a_a4W2. - GHC.Base.Monoid a_a4W2 => - GHC.Base.Monoid (Control.Concurrent.Fiber.Internal.Fiber a_a4W2) -[GblId[DFunId], Arity=1, Str=m, Unf=OtherCon []] = - \r srt:SRT:[rCER :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1, - rCET :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2] [$dMonoid_sD6U] - let { - sat_sD6Z [Occ=Once] - :: [Control.Concurrent.Fiber.Internal.Fiber a6_X76Q] - -> Control.Concurrent.Fiber.Internal.Fiber a6_X76Q - [LclId, Str=] = - \r srt:SRT:[rCER :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1] [eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fMonoid_Fiber1 - $dMonoid_sD6U eta_B2 eta_B1; } in - let { - sat_sD6Y [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber a6_X76Q - -> Control.Concurrent.Fiber.Internal.Fiber a6_X76Q - -> Control.Concurrent.Fiber.Internal.Fiber a6_X76Q - [LclId, Str=] = - \r srt:SRT:[rCET :-> Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2] [eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fMonoid_Fiber2 - $dMonoid_sD6U eta_B3 eta_B2 eta_B1; } in - let { - sat_sD6X [Occ=Once] - :: Control.Concurrent.Fiber.Internal.Fiber a6_X76Q - [LclId, Str=] = - \r srt:SRT:[] [s_sD6V] - let { - sat_sD6W [Occ=Once] :: a6_X76Q - [LclId, Str=] = - \u srt:SRT:[] [] GHC.Base.mempty $dMonoid_sD6U; - } in (#,#) [s_sD6V sat_sD6W]; - } in GHC.Base.D:Monoid [sat_sD6X sat_sD6Y sat_sD6Z]; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$c*> - :: forall a_a6VU b_a6VV. - Control.Concurrent.Fiber.Internal.Fiber a_a6VU - -> Control.Concurrent.Fiber.Internal.Fiber b_a6VV - -> Control.Concurrent.Fiber.Internal.Fiber b_a6VV -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCE1 :-> Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2] [eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2 - eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$c<*> - :: forall a_a6Q1 b_a6Q2. - Control.Concurrent.Fiber.Internal.Fiber (a_a6Q1 -> b_a6Q2) - -> Control.Concurrent.Fiber.Internal.Fiber a_a6Q1 - -> Control.Concurrent.Fiber.Internal.Fiber b_a6Q2 -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDQ :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3] [eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber_$cpure - :: forall a_a6PQ. - a_a6PQ -> Control.Concurrent.Fiber.Internal.Fiber a_a6PQ -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 - eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fApplicative_Fiber [InlPrag=[ALWAYS] CONLIKE] - :: GHC.Base.Applicative Control.Concurrent.Fiber.Internal.Fiber -[GblId[DFunId], Str=m, Unf=OtherCon []] = - NO_CCS GHC.Base.D:Applicative! [Control.Concurrent.Fiber.Internal.$fFunctor_Fiber - Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber3 - Control.Concurrent.Fiber.Internal.$fApplicative_Fiber2 - a3_rCFY]; -Control.Concurrent.Fiber.Internal.$fAlternative_Fiber [InlPrag=[ALWAYS] CONLIKE] - :: GHC.Base.Alternative Control.Concurrent.Fiber.Internal.Fiber -[GblId[DFunId], Str=m, Unf=OtherCon []] = - NO_CCS GHC.Base.D:Alternative! [Control.Concurrent.Fiber.Internal.$fApplicative_Fiber - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber5 - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber4 - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber1]; -Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$c>>= - :: forall a_a6DM b_a6DN. - Control.Concurrent.Fiber.Internal.Fiber a_a6DM - -> (a_a6DM -> Control.Concurrent.Fiber.Internal.Fiber b_a6DN) - -> Control.Concurrent.Fiber.Internal.Fiber b_a6DN -[GblId, - Arity=3, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - eta_B3 eta_B2 eta_B1; -a5_rCG3 - :: forall a1_a8A1. - [GHC.Types.Char] -> Control.Concurrent.Fiber.Internal.Fiber a1_a8A1 -[GblId, Arity=1, Str=b, Unf=OtherCon []] = - \r srt:SRT:[05 :-> GHC.Err.error] [eta_sD70] - GHC.Err.error eta_sD70; -Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$c>> [InlPrag=INLINE (sat-args=2)] - :: forall a_a6CV b_a6CW. - Control.Concurrent.Fiber.Internal.Fiber a_a6CV - -> Control.Concurrent.Fiber.Internal.Fiber b_a6CW - -> Control.Concurrent.Fiber.Internal.Fiber b_a6CW -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[r4VC :-> Control.Concurrent.Fiber.Internal.$fMonad_Fiber] [eta_sD71 - eta1_sD72] - let { - sat_sD74 [Occ=Once] - :: a6_a6CV -> Control.Concurrent.Fiber.Internal.Fiber b_a6CW - [LclId, Str=] = - \r srt:SRT:[] [ds_sD73] eta1_sD72; - } in - GHC.Base.>>= - Control.Concurrent.Fiber.Internal.$fMonad_Fiber eta_sD71 sat_sD74; -Control.Concurrent.Fiber.Internal.$fMonad_Fiber [InlPrag=[ALWAYS] CONLIKE, - Occ=LoopBreaker!] - :: GHC.Base.Monad Control.Concurrent.Fiber.Internal.Fiber -[GblId[DFunId], Str=m, Unf=OtherCon []] = - NO_CCS GHC.Base.D:Monad! [Control.Concurrent.Fiber.Internal.$fApplicative_Fiber - Control.Concurrent.Fiber.Internal.$fMonad_Fiber1 - Control.Concurrent.Fiber.Internal.$fMonad_Fiber_$c>> - Control.Concurrent.Fiber.Internal.$fApplicative_Fiber3 - a5_rCG3]; -Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber_$cliftIO - :: forall a_a6FO. - GHC.Types.IO a_a6FO - -> Control.Concurrent.Fiber.Internal.Fiber a_a6FO -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber1 eta_B1; -Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber [InlPrag=[ALWAYS] CONLIKE] - :: Control.Monad.IO.Class.MonadIO - Control.Concurrent.Fiber.Internal.Fiber -[GblId[DFunId], Str=m, Unf=OtherCon []] = - NO_CCS Control.Monad.IO.Class.D:MonadIO! [Control.Concurrent.Fiber.Internal.$fMonad_Fiber - Control.Concurrent.Fiber.Internal.$fMonadIO_Fiber1]; -Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowList - :: [Control.Concurrent.Fiber.Internal.Empty] -> GHC.Show.ShowS -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCEG :-> Control.Concurrent.Fiber.Internal.$fShow_Empty1] [eta_B2 - eta_B1] - GHC.Show.showList__ - Control.Concurrent.Fiber.Internal.$fShow_Empty1 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow - :: Control.Concurrent.Fiber.Internal.Empty -> GHC.Base.String -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCEB :-> Control.Concurrent.Fiber.Internal.$fException_Empty1] [x_sD75] - case x_sD75 of _ [Occ=Dead] { - Control.Concurrent.Fiber.Internal.Empty -> - Control.Concurrent.Fiber.Internal.$fException_Empty1; - }; -Control.Concurrent.Fiber.Internal.$fException_Empty_$cdisplayException - :: Control.Concurrent.Fiber.Internal.Empty -> GHC.Base.String -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCEA :-> Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow] [eta_B1] - Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow eta_B1; -Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowsPrec - :: GHC.Types.Int - -> Control.Concurrent.Fiber.Internal.Empty -> GHC.Show.ShowS -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCEB :-> Control.Concurrent.Fiber.Internal.$fException_Empty1] [ds_sD77 - ds1_sD78 - eta_sD79] - case ds1_sD78 of _ [Occ=Dead] { - Control.Concurrent.Fiber.Internal.Empty -> - GHC.Base.++ - Control.Concurrent.Fiber.Internal.$fException_Empty1 eta_sD79; - }; -Control.Concurrent.Fiber.Internal.$fShow_Empty [InlPrag=[ALWAYS] CONLIKE] - :: GHC.Show.Show Control.Concurrent.Fiber.Internal.Empty -[GblId[DFunId], Str=m, Unf=OtherCon []] = - NO_CCS GHC.Show.D:Show! [Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowsPrec - Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow - Control.Concurrent.Fiber.Internal.$fShow_Empty_$cshowList]; -Control.Concurrent.Fiber.Internal.$fException_Empty [InlPrag=[ALWAYS] CONLIKE] - :: GHC.Exception.Exception Control.Concurrent.Fiber.Internal.Empty -[GblId[DFunId], Str=m, Unf=OtherCon []] = - NO_CCS GHC.Exception.D:Exception! [Control.Concurrent.Fiber.Internal.$fException_Empty4 - Control.Concurrent.Fiber.Internal.$fShow_Empty - Control.Concurrent.Fiber.Internal.$fException_Empty_$ctoException - Control.Concurrent.Fiber.Internal.$fException_Empty_$cfromException - Control.Concurrent.Fiber.Internal.$fException_Empty_$cshow]; -Control.Concurrent.Fiber.Internal.$fException_Empty_$ctoException [Occ=LoopBreaker] - :: Control.Concurrent.Fiber.Internal.Empty - -> GHC.Exception.SomeException -[GblId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[r4WM :-> Control.Concurrent.Fiber.Internal.$fException_Empty] [eta_B1] - GHC.Exception.SomeException [Control.Concurrent.Fiber.Internal.$fException_Empty - eta_B1]; -Control.Concurrent.Fiber.Internal.async_go [Occ=LoopBreaker] - :: forall s_a4IC. - GHC.Prim.Any -> GHC.Prim.State# s_a4IC -> GHC.Prim.State# s_a4IC -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [a6_sD7B s1_sD7C] - case - __primcall eta.fibers.PrimOps.popContStack [s1_sD7C] - of - _ [Occ=Dead] - { (#,,#) ipv_sD7F [Occ=Once*] - ipv1_sD7G [Occ=Once!] - ipv2_sD7H [Occ=Once] -> - case ipv1_sD7G of _ [Occ=Dead] { - __DEFAULT -> ipv_sD7F; - 1 -> - case ipv2_sD7H a6_sD7B of fa_sD7J [Dmd=] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [fa_sD7J ipv_sD7F] - of - s2_sD7L [OS=OneShot] - { __DEFAULT -> - case fa_sD7J s2_sD7L of _ [Occ=Dead] { - (#,#) ipv3_sD7N [Occ=Once] ipv4_sD7O [Occ=Once] -> - Control.Concurrent.Fiber.Internal.async_go - ipv4_sD7O ipv3_sD7N; - }; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.resumeFiber1 - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [s_sD7P] - case - __primcall eta.fibers.PrimOps.getCurrentC [s_sD7P] - of - _ [Occ=Dead] - { (#,#) ipv_sD7S [Occ=Once] ipv1_sD7T [Occ=Once] -> - case ipv1_sD7T ipv_sD7S of _ [Occ=Dead] { - (#,#) ipv2_sD7V [Occ=Once] ipv3_sD7W [Occ=Once] -> - case - Control.Concurrent.Fiber.Internal.async_go ipv3_sD7W ipv2_sD7V - of - wild_sD7X [OS=OneShot] - { __DEFAULT -> (#,#) [wild_sD7X GHC.Tuple.()]; - }; - }; - }; -Control.Concurrent.Fiber.Internal.resumeFiber - :: Control.Concurrent.Fiber.Internal.Fiber () -[GblId, Arity=1, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.resumeFiber1 eta_B1; -Control.Concurrent.Fiber.Internal.async3 - :: forall a_a6FB. - a_a6FB - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=2, Caf=NoCafRefs, Str=, Unf=OtherCon []] = - \r srt:SRT:[] [ev_sD7Y s_sD7Z] - case - __primcall eta.fibers.PrimOps.setEventC [ev_sD7Y s_sD7Z] - of - s1_sD81 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.getCurrentC [s1_sD81] - of - _ [Occ=Dead] - { (#,#) ipv_sD84 [Occ=Once] ipv1_sD85 [Occ=Once] -> - case ipv1_sD85 ipv_sD84 of _ [Occ=Dead] { - (#,#) ipv2_sD87 [Occ=Once] ipv3_sD88 [Occ=Once] -> - case - Control.Concurrent.Fiber.Internal.async_go ipv3_sD88 ipv2_sD87 - of - wild_sD89 [OS=OneShot] - { __DEFAULT -> (#,#) [wild_sD89 GHC.Tuple.()]; - }; - }; - }; - }; -Control.Concurrent.Fiber.Internal.$wa [InlPrag=[0]] - :: forall eventdata_a60J response_a60K. - ((eventdata_a60J -> GHC.Types.IO response_a60K) -> GHC.Types.IO ()) - -> GHC.Types.IO response_a60K - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, eventdata_a60J #) -[GblId, - Arity=3, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [w_sD8A - w1_sD8B - w2_sD8C] - case - __primcall eta.fibers.PrimOps.getEventCC [w2_sD8C] - of - _ [Occ=Dead] - { (#,,#) ipv_sD8F [Occ=Once*] - ipv1_sD8G [Occ=Once!] - ipv2_sD8H [Occ=Once] -> - case ipv1_sD8G of _ [Occ=Dead] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.topStackC [ipv_sD8F] - of - _ [Occ=Dead] - { (#,#) ipv3_sD8L [Occ=Once] ipv4_sD8M [Occ=OnceL] -> - case - __primcall eta.fibers.PrimOps.getStackC [ipv3_sD8L] - of - _ [Occ=Dead] - { (#,#) ipv5_sD8P [Occ=Once] ipv6_sD8Q [Occ=OnceL] -> - case - __primcall eta.fibers.PrimOps.getCurrentC [ipv5_sD8P] - of - _ [Occ=Dead] - { (#,#) ipv7_sD8T [Occ=Once] ipv8_sD8U [Occ=OnceL] -> - let { - sat_sD97 [Occ=Once] - :: eventdata_a60J -> GHC.Types.IO response_a60K - [LclId, Str=] = - \r srt:SRT:[] [dat_sD8V s_sD8W] - let { - sat_sD93 [Occ=Once] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - () #) - [LclId, Str=] = - \r srt:SRT:[] [s1_sD8X] - let { - sat_sD92 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [s2_sD8Z] - case - __primcall eta.fibers.PrimOps.setContStack [ipv4_sD8M - ipv6_sD8Q - ipv8_sD8U - s2_sD8Z] - of - s3_sD91 [OS=OneShot] - { __DEFAULT -> - Control.Concurrent.Fiber.Internal.async3 - dat_sD8V s3_sD91; - }; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sD92 - Control.Concurrent.Fiber.Internal.async2 - s1_sD8X]; - } in - case fork# [sat_sD93 s_sD8W] of _ [Occ=Dead] { - (#,#) ipv9_sD95 [Occ=Once] _ [Occ=Dead] -> - w1_sD8B ipv9_sD95; - }; - } in - case w_sD8A sat_sD97 ipv7_sD8T of _ [Occ=Dead] { - (#,#) ipv9_sD99 [Occ=Once] _ [Occ=Dead] -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - ipv9_sD99; - }; - }; - }; - }; - 1 -> - case - __primcall eta.fibers.PrimOps.delEventCC [ipv_sD8F] - of - s1_sD9C [OS=OneShot] - { __DEFAULT -> (#,#) [s1_sD9C ipv2_sD8H]; - }; - }; - }; -Control.Concurrent.Fiber.Internal.react1 [InlPrag=INLINE[0]] - :: forall eventdata_a60J response_a60K. - Data.Typeable.Internal.Typeable eventdata_a60J => - ((eventdata_a60J -> GHC.Types.IO response_a60K) -> GHC.Types.IO ()) - -> GHC.Types.IO response_a60K - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, eventdata_a60J #) -[GblId, - Arity=4, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCFO :-> Control.Concurrent.Fiber.Internal.$wa] [w_sD9D - w1_sD9E - w2_sD9F - w3_sD9G] - Control.Concurrent.Fiber.Internal.$wa w1_sD9E w2_sD9F w3_sD9G; -Control.Concurrent.Fiber.Internal.react - :: forall eventdata_a48X response_a48Y. - Data.Typeable.Internal.Typeable eventdata_a48X => - ((eventdata_a48X -> GHC.Types.IO response_a48Y) -> GHC.Types.IO ()) - -> GHC.Types.IO response_a48Y - -> Control.Concurrent.Fiber.Internal.Fiber eventdata_a48X -[GblId, - Arity=4, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[rCFN :-> Control.Concurrent.Fiber.Internal.react1] [eta_B4 - eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.react1 - eta_B4 eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.forkCont1 - :: forall a_X6QF. - GHC.Types.IO a_X6QF - -> GHC.Prim.Int# - -> GHC.Prim.Object# GHC.Types.Object - -> GHC.Prim.Any - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, - Arity=5, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [io_sD9H top_sD9I stack_sD9J curr_sD9K s_sD9L] - let { - sat_sD9V [Occ=Once] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) - [LclId, Str=] = - \r srt:SRT:[] [s1_sD9M] - let { - sat_sD9U [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [s2_sD9O] - case - __primcall eta.fibers.PrimOps.setContStack [top_sD9I - stack_sD9J - curr_sD9K - s2_sD9O] - of - s3_sD9Q [OS=OneShot] - { __DEFAULT -> - case io_sD9H s3_sD9Q of _ [Occ=Dead] { - (#,#) ipv_sD9S [Occ=Once] ipv1_sD9T [Occ=Once] -> - Control.Concurrent.Fiber.Internal.async3 ipv1_sD9T ipv_sD9S; - }; - }; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sD9U - Control.Concurrent.Fiber.Internal.async2 - s1_sD9M]; - } in - case fork# [sat_sD9V s_sD9L] of _ [Occ=Dead] { - (#,#) ipv_sD9X [Occ=Once] _ [Occ=Dead] -> - (#,#) [ipv_sD9X GHC.Tuple.()]; - }; -Control.Concurrent.Fiber.Internal.async1 - :: forall a_a600. - GHC.Types.IO a_a600 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_a600 #) -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCDW :-> Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6] [io_sD9Z - eta_sDA0] - case - __primcall eta.fibers.PrimOps.getEventCC [eta_sDA0] - of - _ [Occ=Dead] - { (#,,#) ipv_sDA3 [Occ=Once*] - ipv1_sDA4 [Occ=Once!] - ipv2_sDA5 [Occ=Once] -> - case ipv1_sDA4 of _ [Occ=Dead] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.topStackC [ipv_sDA3] - of - _ [Occ=Dead] - { (#,#) ipv3_sDA9 [Occ=Once] ipv4_sDAA [Occ=Once] -> - case - __primcall eta.fibers.PrimOps.getStackC [ipv3_sDA9] - of - _ [Occ=Dead] - { (#,#) ipv5_sDAD [Occ=Once] ipv6_sDAE [Occ=Once] -> - case - __primcall eta.fibers.PrimOps.getCurrentC [ipv5_sDAD] - of - _ [Occ=Dead] - { (#,#) ipv7_sDAH [Occ=Once] ipv8_sDAI [Occ=Once] -> - let { - sat_sDAS [Occ=Once] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) - [LclId, Str=] = - \r srt:SRT:[] [s_sDAJ] - let { - sat_sDAR [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [s1_sDAL] - case - __primcall eta.fibers.PrimOps.setContStack [ipv4_sDAA - ipv6_sDAE - ipv8_sDAI - s1_sDAL] - of - s2_sDAN [OS=OneShot] - { __DEFAULT -> - case - io_sD9Z s2_sDAN - of - _ [Occ=Dead] - { (#,#) ipv9_sDAP [Occ=Once] - ipv10_sDAQ [Occ=Once] -> - Control.Concurrent.Fiber.Internal.async3 - ipv10_sDAQ ipv9_sDAP; - }; - }; - } in - __primcall eta.fibers.PrimOps.alternativeFiber [sat_sDAR - Control.Concurrent.Fiber.Internal.async2 - s_sDAJ]; - } in - case fork# [sat_sDAS ipv7_sDAH] of _ [Occ=Dead] { - (#,#) ipv9_sDAU [Occ=Once] _ [Occ=Dead] -> - Control.Concurrent.Fiber.Internal.$fAlternative_Fiber6 - ipv9_sDAU; - }; - }; - }; - }; - 1 -> - case - __primcall eta.fibers.PrimOps.delEventCC [ipv_sDA3] - of - s1_sDAX [OS=OneShot] - { __DEFAULT -> (#,#) [s1_sDAX ipv2_sDA5]; - }; - }; - }; -Control.Concurrent.Fiber.Internal.async - :: forall a_a48W. - GHC.Types.IO a_a48W - -> Control.Concurrent.Fiber.Internal.Fiber a_a48W -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCF6 :-> Control.Concurrent.Fiber.Internal.async1] [eta_B2 - eta_B1] - Control.Concurrent.Fiber.Internal.async1 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.forkCont - :: forall a_a6F9. - GHC.Types.IO a_a6F9 - -> GHC.Prim.Int# - -> GHC.Prim.Object# GHC.Types.Object - -> GHC.Prim.Any - -> GHC.Types.IO () -[GblId, - Arity=5, - Caf=NoCafRefs, - Str=, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B5 eta_B4 eta_B3 eta_B2 eta_B1] - Control.Concurrent.Fiber.Internal.forkCont1 - eta_B5 eta_B4 eta_B3 eta_B2 eta_B1; -Control.Concurrent.Fiber.Internal.Obj - :: GHC.Prim.Object# GHC.Types.Object - -> Control.Concurrent.Fiber.Internal.Obj -[GblId[DataCon], - Arity=1, - Caf=NoCafRefs, - Str=m, - Unf=OtherCon []] = - \r srt:SRT:[] [eta_B1] - Control.Concurrent.Fiber.Internal.Obj [eta_B1]; -Control.Concurrent.Fiber.Internal.Empty - :: Control.Concurrent.Fiber.Internal.Empty -[GblId[DataCon], Caf=NoCafRefs, Str=, Unf=OtherCon []] = - NO_CCS Control.Concurrent.Fiber.Internal.Empty! []; - diff --git a/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg b/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg deleted file mode 100644 index 32828c0..0000000 --- a/imaginary/fibers-dev/dist/build/src/Control/Concurrent/Fiber/MVar.dump-stg +++ /dev/null @@ -1,289 +0,0 @@ - -==================== STG syntax: ==================== -2018-02-08 11:48:32.120238 UTC - -Control.Concurrent.Fiber.MVar.$wa1 [InlPrag=[0]] - :: forall a_aE5A. - GHC.Prim.MVar# GHC.Prim.RealWorld a_aE5A - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_aE5A #) -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, - rCFC :-> Control.Concurrent.Fiber.Internal.block3] [ww_sEJG w_sEJH] - let { - a1_sEJI [Occ=LoopBreaker] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_aE5A #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, - rCFC :-> Control.Concurrent.Fiber.Internal.block3] [s_sEJJ] - case tryTakeMVar# [ww_sEJG s_sEJJ] of _ [Occ=Dead] { - (#,,#) ipv_sEJL [Occ=Once*] - ipv1_sEJM [Occ=Once!] - ipv2_sEJN [Occ=Once] -> - case ipv1_sEJM of _ [Occ=Dead] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.awakenMVarListeners [ww_sEJG - ipv_sEJL] - of - s''_sEJQ [OS=OneShot] - { __DEFAULT -> (#,#) [s''_sEJQ ipv2_sEJN]; - }; - 0 -> - case - __primcall eta.fibers.PrimOps.addMVarListener [ww_sEJG ipv_sEJL] - of - s''_sEJS [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [Control.Concurrent.Fiber.Internal.block1 - s''_sEJS] - of - s1_sEJU [OS=OneShot] - { __DEFAULT -> - let { - sat_sEJY [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [ds2_sEJW eta_sEJX] a1_sEJI eta_sEJX; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sEJY - s1_sEJU] - of - s2_sEJZ [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popContStack [s2_sEJZ] - of - _ [Occ=Dead] - { (#,,#) ipv3_sEK2 [Occ=Once*] - ipv4_sEK3 [Occ=Once!] - ipv5_sEK4 [Occ=Once] -> - case ipv4_sEK3 of _ [Occ=Dead] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv3_sEK2] - of - _ [Occ=Dead] - { (#,#) ipv6_sEK8 [Occ=Once] - _ [Occ=Dead] -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a1_sEJI - ipv6_sEK8] - of - s5_sEKB [OS=OneShot] - { __DEFAULT -> a1_sEJI s5_sEKB; - }; - }; - 1 -> - let { - sat_sEKD [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] - ipv5_sEK4 - Control.Concurrent.Fiber.Internal.block3; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sEKD - ipv3_sEK2] - of - s4_sEKE [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.yieldFiber [1 - s4_sEKE] - of - wild_sEKG [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [wild_sEKG] - of - _ [Occ=Dead] - { (#,#) ipv6_sEKJ [Occ=Once] - _ [Occ=Dead] -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a1_sEJI - ipv6_sEKJ] - of - s5_sEKM [OS=OneShot] - { __DEFAULT -> - a1_sEJI - s5_sEKM; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - } in a1_sEJI w_sEJH; -Control.Concurrent.Fiber.MVar.takeMVar1 [InlPrag=INLINE[0]] - :: forall a_aE5A. - GHC.MVar.MVar a_aE5A - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, a_aE5A #) -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rEJD :-> Control.Concurrent.Fiber.MVar.$wa1] [w_sEKN - w1_sEKO] - case w_sEKN of _ [Occ=Dead] { - GHC.MVar.MVar ww1_sEKQ [Occ=Once] -> - Control.Concurrent.Fiber.MVar.$wa1 ww1_sEKQ w1_sEKO; - }; -Control.Concurrent.Fiber.MVar.takeMVar - :: forall a_aE3F. - GHC.MVar.MVar a_aE3F - -> Control.Concurrent.Fiber.Internal.Fiber a_aE3F -[GblId, Arity=2, Str=, Unf=OtherCon []] = - \r srt:SRT:[rEJC :-> Control.Concurrent.Fiber.MVar.takeMVar1] [eta_B2 - eta_B1] - Control.Concurrent.Fiber.MVar.takeMVar1 eta_B2 eta_B1; -Control.Concurrent.Fiber.MVar.$wa [InlPrag=[0]] - :: forall a_aE51. - GHC.Prim.MVar# GHC.Prim.RealWorld a_aE51 - -> a_aE51 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, - rCFC :-> Control.Concurrent.Fiber.Internal.block3] [ww_sEKR - w_sEKS - w1_sEKT] - let { - a1_sEKU [Occ=LoopBreaker] - :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) - [LclId, Arity=1, Str=, Unf=OtherCon []] = - \r srt:SRT:[rCFA :-> Control.Concurrent.Fiber.Internal.block1, - rCFC :-> Control.Concurrent.Fiber.Internal.block3] [s_sEKV] - case tryPutMVar# [ww_sEKR w_sEKS s_sEKV] of _ [Occ=Dead] { - (#,#) ipv_sEKX [Occ=Once*] ipv1_sEKY [Occ=Once!] -> - case ipv1_sEKY of _ [Occ=Dead] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.awakenMVarListeners [ww_sEKR - ipv_sEKX] - of - s''_sEL1 [OS=OneShot] - { __DEFAULT -> (#,#) [s''_sEL1 GHC.Tuple.()]; - }; - 0 -> - case - __primcall eta.fibers.PrimOps.addMVarListener [ww_sEKR ipv_sEKX] - of - s''_sEL3 [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.setCurrentC [Control.Concurrent.Fiber.Internal.block1 - s''_sEL3] - of - s1_sEL5 [OS=OneShot] - { __DEFAULT -> - let { - sat_sEL9 [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \r srt:SRT:[] [ds2_sEL7 eta_sEL8] a1_sEKU eta_sEL8; - } in - case - __primcall eta.fibers.PrimOps.pushNextC [sat_sEL9 - s1_sEL5] - of - s2_sELA [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popContStack [s2_sELA] - of - _ [Occ=Dead] - { (#,,#) ipv2_sELD [Occ=Once*] - ipv3_sELE [Occ=Once!] - ipv4_sELF [Occ=Once] -> - case ipv3_sELE of _ [Occ=Dead] { - __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [ipv2_sELD] - of - _ [Occ=Dead] - { (#,#) ipv5_sELJ [Occ=Once] - _ [Occ=Dead] -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a1_sEKU - ipv5_sELJ] - of - s5_sELM [OS=OneShot] - { __DEFAULT -> a1_sEKU s5_sELM; - }; - }; - 1 -> - let { - sat_sELO [Occ=Once] :: GHC.Prim.Any - [LclId, Str=] = - \u srt:SRT:[rCFC :-> Control.Concurrent.Fiber.Internal.block3] [] - ipv4_sELF - Control.Concurrent.Fiber.Internal.block3; - } in - case - __primcall eta.fibers.PrimOps.setCurrentC [sat_sELO - ipv2_sELD] - of - s4_sELP [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.yieldFiber [1 - s4_sELP] - of - wild_sELR [OS=OneShot] - { __DEFAULT -> - case - __primcall eta.fibers.PrimOps.popNextC [wild_sELR] - of - _ [Occ=Dead] - { (#,#) ipv5_sELU [Occ=Once] - _ [Occ=Dead] -> - case - __primcall eta.fibers.PrimOps.setCurrentC [a1_sEKU - ipv5_sELU] - of - s5_sELX [OS=OneShot] - { __DEFAULT -> - a1_sEKU - s5_sELX; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - } in a1_sEKU w1_sEKT; -Control.Concurrent.Fiber.MVar.putMVar1 [InlPrag=INLINE[0]] - :: forall a_aE51. - GHC.MVar.MVar a_aE51 - -> a_aE51 - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rEJB :-> Control.Concurrent.Fiber.MVar.$wa] [w_sELY - w1_sELZ - w2_sEM0] - case w_sELY of _ [Occ=Dead] { - GHC.MVar.MVar ww1_sEM2 [Occ=Once] -> - Control.Concurrent.Fiber.MVar.$wa ww1_sEM2 w1_sELZ w2_sEM0; - }; -Control.Concurrent.Fiber.MVar.putMVar - :: forall a_aE3E. - GHC.MVar.MVar a_aE3E - -> a_aE3E -> Control.Concurrent.Fiber.Internal.Fiber () -[GblId, Arity=3, Str=, Unf=OtherCon []] = - \r srt:SRT:[rE4T :-> Control.Concurrent.Fiber.MVar.putMVar1] [eta_B3 - eta_B2 - eta_B1] - Control.Concurrent.Fiber.MVar.putMVar1 eta_B3 eta_B2 eta_B1; - diff --git a/imaginary/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs b/imaginary/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs deleted file mode 100644 index a3a380a..0000000 --- a/imaginary/fibers-dev/dist/build/threadring/autogen/Paths_eta_fibers_dev.hs +++ /dev/null @@ -1,39 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -{-# OPTIONS_GHC -fno-warn-implicit-prelude #-} -module Paths_eta_fibers_dev ( - version, - getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, - getDataFileName, getSysconfDir - ) where - -import qualified Control.Exception as Exception -import Data.Version (Version(..)) -import System.Environment (getEnv) -import Prelude - -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -catchIO = Exception.catch - -version :: Version -version = Version [0,1,0,0] [] -bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath - -bindir = "/root/.etlas/bin" -libdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq" -dynlibdir = "/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3" -datadir = "/root/.etlas/share/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0" -libexecdir = "/root/.etlas/libexec" -sysconfdir = "/root/.etlas/etc" - -getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath -getBinDir = catchIO (getEnv "eta_fibers_dev_bindir") (\_ -> return bindir) -getLibDir = catchIO (getEnv "eta_fibers_dev_libdir") (\_ -> return libdir) -getDynLibDir = catchIO (getEnv "eta_fibers_dev_dynlibdir") (\_ -> return dynlibdir) -getDataDir = catchIO (getEnv "eta_fibers_dev_datadir") (\_ -> return datadir) -getLibexecDir = catchIO (getEnv "eta_fibers_dev_libexecdir") (\_ -> return libexecdir) -getSysconfDir = catchIO (getEnv "eta_fibers_dev_sysconfdir") (\_ -> return sysconfdir) - -getDataFileName :: FilePath -> IO FilePath -getDataFileName name = do - dir <- getDataDir - return (dir ++ "/" ++ name) diff --git a/imaginary/fibers-dev/dist/build/threadring/autogen/cabal_macros.h b/imaginary/fibers-dev/dist/build/threadring/autogen/cabal_macros.h deleted file mode 100644 index 0698ec3..0000000 --- a/imaginary/fibers-dev/dist/build/threadring/autogen/cabal_macros.h +++ /dev/null @@ -1,118 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package eta-fibers-dev-0.1.0.0 */ -#ifndef VERSION_eta_fibers_dev -#define VERSION_eta_fibers_dev "0.1.0.0" -#endif /* VERSION_eta_fibers_dev */ -#ifndef MIN_VERSION_eta_fibers_dev -#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_eta_fibers_dev */ - -/* package base-4.8.2.0 */ -#ifndef VERSION_base -#define VERSION_base "4.8.2.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 8 || \ - (major1) == 4 && (major2) == 8 && (minor) <= 2) -#endif /* MIN_VERSION_base */ - -/* package transformers-0.5.5.0 */ -#ifndef VERSION_transformers -#define VERSION_transformers "0.5.5.0" -#endif /* VERSION_transformers */ -#ifndef MIN_VERSION_transformers -#define MIN_VERSION_transformers(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 5 || \ - (major1) == 0 && (major2) == 5 && (minor) <= 5) -#endif /* MIN_VERSION_transformers */ - -/* package eta-fibers-dev-0.1.0.0 */ -#ifndef VERSION_eta_fibers_dev -#define VERSION_eta_fibers_dev "0.1.0.0" -#endif /* VERSION_eta_fibers_dev */ -#ifndef MIN_VERSION_eta_fibers_dev -#define MIN_VERSION_eta_fibers_dev(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_eta_fibers_dev */ - -/* tool eta-0.7.0.1 */ -#ifndef TOOL_VERSION_eta -#define TOOL_VERSION_eta "0.7.0.1" -#endif /* TOOL_VERSION_eta */ -#ifndef MIN_TOOL_VERSION_eta -#define MIN_TOOL_VERSION_eta(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta */ - -/* tool eta-pkg-0.7.0.1 */ -#ifndef TOOL_VERSION_eta_pkg -#define TOOL_VERSION_eta_pkg "0.7.0.1" -#endif /* TOOL_VERSION_eta_pkg */ -#ifndef MIN_TOOL_VERSION_eta_pkg -#define MIN_TOOL_VERSION_eta_pkg(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 7 || \ - (major1) == 0 && (major2) == 7 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_eta_pkg */ - -/* tool git-2.11.0 */ -#ifndef TOOL_VERSION_git -#define TOOL_VERSION_git "2.11.0" -#endif /* TOOL_VERSION_git */ -#ifndef MIN_TOOL_VERSION_git -#define MIN_TOOL_VERSION_git(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 11 || \ - (major1) == 2 && (major2) == 11 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_git */ - -/* tool jar-0 */ -#ifndef TOOL_VERSION_jar -#define TOOL_VERSION_jar "0" -#endif /* TOOL_VERSION_jar */ -#ifndef MIN_TOOL_VERSION_jar -#define MIN_TOOL_VERSION_jar(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 0 || \ - (major1) == 0 && (major2) == 0 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_jar */ - -/* tool java-1.8.0.151 */ -#ifndef TOOL_VERSION_java -#define TOOL_VERSION_java "1.8.0.151" -#endif /* TOOL_VERSION_java */ -#ifndef MIN_TOOL_VERSION_java -#define MIN_TOOL_VERSION_java(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_java */ - -/* tool javac-1.8.0.151 */ -#ifndef TOOL_VERSION_javac -#define TOOL_VERSION_javac "1.8.0.151" -#endif /* TOOL_VERSION_javac */ -#ifndef MIN_TOOL_VERSION_javac -#define MIN_TOOL_VERSION_javac(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 8 || \ - (major1) == 1 && (major2) == 8 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_javac */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq-threadring" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/imaginary/fibers-dev/dist/build/threadring/install-launchers/threadring b/imaginary/fibers-dev/dist/build/threadring/install-launchers/threadring deleted file mode 100644 index f9c60ea..0000000 --- a/imaginary/fibers-dev/dist/build/threadring/install-launchers/threadring +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -if [ -z "$ETA_JAVA_CMD" ]; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" - else - ETA_JAVA_CMD="$JAVA_HOME/bin/java" - fi - else - ETA_JAVA_CMD="java" - fi -fi -$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/threadring.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/eta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq/HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/imaginary/fibers-dev/dist/build/threadring/threadring b/imaginary/fibers-dev/dist/build/threadring/threadring deleted file mode 100644 index 594f366..0000000 --- a/imaginary/fibers-dev/dist/build/threadring/threadring +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -if [ -z "$ETA_JAVA_CMD" ]; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - ETA_JAVA_CMD="$JAVA_HOME/jre/sh/java" - else - ETA_JAVA_CMD="$JAVA_HOME/bin/java" - fi - else - ETA_JAVA_CMD="java" - fi -fi -$ETA_JAVA_CMD $JAVA_ARGS $JAVA_OPTS $ETA_JAVA_ARGS -classpath "$DIR/threadring.jar:$DIR/../HSeta-fibers-dev-0.1.0.0-99dPUWzLxqHBnjG723XFqq.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF/HSbase-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/ghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE/HSghc-prim-0.4.0.0-Jhi6UgHuZdoBZWUpVo3WKE.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/integer-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm/HSinteger-0.5.1.0-ACyqTmAMUMGGvisLFeQbAm.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/rts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w/HSrts-0.1.0.0-5Dj4qf1Wx9cCeYbpni5T1w.jar:/root/.etlas/lib/x86_64-linux-eta-0.7.0.1-ghc7_10_3/transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR/HStransformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR.jar:$ETA_CLASSPATH" eta.main "$@" diff --git a/imaginary/fibers-dev/dist/etlas-config-flags b/imaginary/fibers-dev/dist/etlas-config-flags deleted file mode 100644 index 2554acbf2190fa0f60b6fafeea9c9a09c991585a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmY+-(FuSs3(aABg oEA2dUQV~xpc|(hJ80kl*D+ZARI{Nujsqh`dq{T_Tq>hIA0)*lx1poj5 diff --git a/imaginary/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf b/imaginary/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf deleted file mode 100644 index 700009d..0000000 --- a/imaginary/fibers-dev/dist/package.conf.inplace/fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq.conf +++ /dev/null @@ -1,26 +0,0 @@ -name: fibers-dev -version: 0.1.0.0 -id: fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq -key: fibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq -license: BSD3 -maintainer: rahulmutt@gmail.com -author: Rahul Muttineni -exposed: True -indefinite: False -exposed-modules: - Control.Concurrent.Fiber Control.Concurrent.Fiber.Internal - Control.Concurrent.Fiber.MVar -abi: inplace -trusted: False -import-dirs: /fibers-dev/dist/build -library-dirs: /fibers-dev/dist/build -dynamic-library-dirs: /fibers-dev/dist/build -data-dir: /fibers-dev -hs-libraries: HSfibers-dev-0.1.0.0-4M09dDcCKPp6W4Oc7lAViq -depends: - base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF - transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR -abi-depends: base-4.8.2.0-IPFDtZjmEfh5tPXF10v5hF=5b6a6a225409abadd0342f98620e6a89 - transformers-0.5.5.0-8IFOW7sskFHD0oToiF64sR=b622d0f0d4ca4314ad97d24f471e6867 -haddock-interfaces: /fibers-dev/dist/doc/html/fibers-dev/fibers-dev.haddock -haddock-html: /fibers-dev/dist/doc/html/fibers-dev diff --git a/imaginary/fibers-dev/dist/package.conf.inplace/package.cache b/imaginary/fibers-dev/dist/package.conf.inplace/package.cache deleted file mode 100644 index 8d8f4dffdc3432fe906c49a275ce489f3dc73ed7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2171 zcmeHHO>fgc5KTW&Q8^%igt#CD!39;`Y~1zQzJVI7Mks1jP>Z;&z3Y03KZ3pKU*>P% zz>J-wq)MWS6Sm}8@4S68vrjV}WyExH)2W}m`RC7b@Dmoe_bk?-Dl1E>TZ@uDp@ahB zxb?u!Ay_oXf&X{yyOsmlEjFUQ97JcI##4UHE+RMmaHW61*{u&?%p;voQxPfn-v|39 z6qT|V@rX^RH5>;6^X+@~F-{ya{u=b@t&;=*Ju#)otGFn$`F&90)GxKXVQ_KnR@Edp zAJF1Up##pU%iW`NosbJIY};Yf7om`no-#Z3J#JIQh3D^{O*iDWEon?8iv&CEGa-Ff z+AL;nUvZDSK#j7!=(Xzfq^?Xaoat1qpia&|x3JAb1ct_J7x4bH8qy6H7~8#5tSq8l zVzPA6(N;>5TACu7Kp3QXyNLdMXMdrAGY4Q_o)x(%i4GHF5hb6pT2Oz`T zs4^ERB44dVj;=(*x6tvJ_fj+Ob@uC-fUcce4wLF^&agT`o|ht-rP<7w_cxi)DT#^< zXrErrUENXb)49rZ6K%UiGZ(O2R0Zu3Tq)2Vw<5vLqb04dg6)nyUKMgTn!{z4AwjI{ k{>FJo)RToSSV`gm#sx4o=Km~TKg*j-TC+ga|LOSq1t+?(0ssI2 diff --git a/imaginary/fibers-dev/dist/setup-config b/imaginary/fibers-dev/dist/setup-config deleted file mode 100644 index 8fc853637edc48a6b3c8555a87379c08c851eb40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53264 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