!/)<-      !"#$%&'()*+,SafeQV mvcA  (Model s a b) converts a stream of (a)s into a stream of (b)%s while interacting with a state (s)mvcAn effectful sink Vcontramap f (v1 <> v2) = contramap f v1 <> contramap f v2 contramap f mempty = memptymvcA concurrent source Bfmap f (c1 <> c2) = fmap f c1 <> fmap f c2 fmap f mempty = memptymvc Create a  from an -mvc0Think of the type as one of the following types: okeeps :: Prism' a b -> Controller a -> Controller b keeps :: Traversal' a b -> Controller a -> Controller b(keeps prism controller) only emits values if the prism matches the  controller 's output. 4keeps (p1 . p2) = keeps p2 . keeps p1 keeps id = id Fkeeps p (c1 <> c2) = keeps p c1 <> keeps p c2 keeps p mempty = memptymvc Create a  from a sinkmvc Create a  from a .mvc0Think of the type as one of the following types: [handles :: Prism' a b -> View b -> View a handles :: Traversal' a b -> View b -> View a(handles prism view) only runs the view if the prism matches the input. <handles (p1 . p2) = handles p1 . handles p2 handles id = id Nhandles p (v1 <> v2) = handles p v1 <> handles p v2 handles p mempty = memptymvc Create a  from a / ;asPipe (p1 <-< p2) = asPipe p1 . asPipe p2 asPipe cat = idmvc Connect a , , and 3 and initial state into a complete application.mvc Connect a , , and _ and initial state into a complete application over arbitrary monad given a morphism to IO.mvcmvcmvcmvcmvc Initial statemvc Program logicmvcEffectful output and inputmvcReturns final statemvcMonad morphismmvc Initial statemvc Program logicmvcEffectful output and inputmvcReturns final statec0123456789:;< =>?@AB CDEFGHIJKLMNOPQRSTUVWXY/Z[\]^_`abcdefghi-jklmnopqrstuv   Safe( !mvc.Fork managed computation in a new thread. See " source for usage example."mvc Create a  from a Y, using the given oIf you're not sure what o to use, try q#mvcRead lines from standard input$mvcRead lines from a file%mvcw? values from a file, one value per line, skipping failed parses&mvc.Emit empty values spaced by a delay in seconds'mvc Create a  from a Z(mvcWrite lines to standard output)mvcWrite lines to a file*mvcx% values to a file, one value per line+mvc Read from a y using a   z,mvc Write to a y using a   z!mvc@Setup action returning thread's main, managed value, finalizer. !"#$%&'()*+, "#$%&'()*+,!{     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEDFGHIJIKILIMINOPQRSTUVTUWTUXTUYZ[Z\]^]_]`]a]b]c]d]e]f]g]h]i]j]k]l]m]n]o]p]q@r@s@t@u@v@w@xyzy{:;|:;}:;~:;:;:;:;:;:;:;:;<:;:;:;:;:;:;:;:;:;:;:; mvc-1.1.7-GgauKkqeJWU88ufr8pAEqPMVC MVC.PreludebaseGHC.Base<>memptymappendmconcatMonoid Data.MonoidFirst*contravariant-1.4.1-E5EkicZ3bgZKUy2Sw4392bData.Functor.Contravariant contramap Contravariant$managed-1.0.6-KscD4c3BFNIBs32klcB9izControl.Monad.ManagedmanagedManaged"pipes-4.3.9-CTbBQTYM7rw4zv6JE9ohXt Pipes.Preludelooptransformers-0.5.5.0Data.Functor.Constant getConstantConstantModelModelMView ControllerasInputkeepsasSinkasFoldhandlesasPiperunMVC generalizeMVC$fMonoidController$fSemigroupController$fFunctorController$fContravariantView $fMonoidView$fSemigroupView$fCategoryTYPEModelM forkManagedproducer stdinLinesinLinesinReadtickconsumer stdoutLinesoutLinesoutShowinHandle outHandle.pipes-concurrency-2.0.11-BrvfCU1by5GGEuICUZTCAPipes.ConcurrentInput!foldl-1.4.3-6UG02UzRqEuDiBiswRWdv Control.FoldlFoldM Pipes.CorePipe Data.FoldableFoldableControl.Monad.IO.ClassMonadIOliftIO System.Mem performGC GHC.Conc.SyncreadTVar newTVarIO atomicallyforkIOSTM Data.Functorvoid MonadPlusmzeromplus#mmorph-1.1.2-7obnGkZKKLM4PjmQqTaRyYControl.Monad.MorphMFunctorhoistMMonadembedControl.Monad.Trans.Class MonadTransliftPipes<-<discardeveryeachnextrunListT>->cat~<>~await<~~>foryieldListTSelect enumerate EnumerabletoListT runEffectEffectProducerConsumerEffect' Producer' Consumer'Pipes.InternalProxyXnewestlatestbounded unbounded withBuffer withSpawnspawn'spawn fromInputtoOutputrecvOutputsendBufferBoundedSingle UnboundedLatestNewestNew stm-2.4.5.0Control.Concurrent.STM.TVar mkWeakTVar Text.ReadreadGHC.ShowshowGHC.IOFilePathGHC.IO.Handle.TypesHandle