considerar algunos transformadores monad pila, dicenCómo tenedor en el interior del transformador mónada
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
...
newtype J = J { runJ :: ErrorT Foo (StateT Bar IO) a } deriving (Applicative, Functor, etc)
y algunas funciones en J
:
peekNextQuux :: J Quux
peekNextQuux = ...
withJ :: J a -> IO (Either Foo a)
withJ = ...
Entonces me encontré dentro de J
contexto. Puedo escribir
f = withJ $ peekNextQuux >>= liftIO . print
Ahora para esta jornada y quuxes de impresión dentro hilo separado dentro J
contexto
g = withJ . liftIO . forkIO . forever $ peekNextQuux >>= liftIO . print
Lo que obviamente no va a funcionar. Supongo que hay alguna manera de resolver un problema tan simple, simplemente no puedo resolverlo.
Gracias, eso funcionó. –