]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Resource/Internal.hs
Make 'Rsrc a' an instance of MonadFix.
[Lucu.git] / Network / HTTP / Lucu / Resource / Internal.hs
index f5b54a94d35f0a74a0efacc6ad7a7d6f6bc4f93d..e5c38e78c1b3ae466cad9b0e62a69f3d47f5ee50 100644 (file)
@@ -38,6 +38,7 @@ import Control.Concurrent
 import Control.Concurrent.STM
 import Control.Exception
 import Control.Monad hiding (mapM_)
+import Control.Monad.Fix
 import Control.Monad.IO.Class
 import Control.Monad.Reader (ReaderT, runReaderT, ask)
 import Control.Monad.Unicode
@@ -75,7 +76,7 @@ newtype Rsrc a
     = Rsrc {
         unRsrc ∷ ReaderT NormalInteraction IO a
       }
-    deriving (Applicative, Functor, Monad, MonadIO)
+    deriving (Applicative, Functor, Monad, MonadFix, MonadIO)
 
 runRsrc ∷ Rsrc a → NormalInteraction → IO a
 runRsrc = runReaderT ∘ unRsrc
@@ -271,7 +272,7 @@ getRequest = niRequest <$> getInteraction
 --   main :: 'IO' ()
 --   main = let tree :: 'Network.HTTP.Lucu.ResourceTree'
 --              tree = 'fromList' [ (["foo"], 'Network.HTTP.Lucu.greedy' resFoo) ]
---          in 'Network.HTTP.Lucu.runHttpd' 'defaultConfig' $ 'Network.HTTP.Lucu.resourceMap' tree
+--          in 'Network.withSocketsDo' '.' 'Network.HTTP.Lucu.runHttpd' 'defaultConfig' $ 'Network.HTTP.Lucu.resourceMap' tree
 --
 --   resFoo :: 'Resource'
 --   resFoo = 'singleton'