warp-effectful 1.0.0 → 1.1.0
raw patch · 3 files changed
+23/−13 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Effectful.Wai.Handler.Warp: setFork :: forall (es :: [Effect]). (((forall a. () => Eff es a -> Eff es a) -> Eff es ()) -> Eff es ()) -> Settings es -> Settings es
+ Effectful.Wai.Handler.Warp: setFork :: forall (es :: [Effect]). ((forall r. () => Eff es r -> IO r) -> ((forall a. () => Eff es a -> Eff es a) -> Eff es ()) -> Eff es ()) -> Settings es -> Settings es
Files
- CHANGELOG.md +7/−1
- src/Effectful/Wai/Handler/Warp.hs +15/−11
- warp-effectful.cabal +1/−1
CHANGELOG.md view
@@ -5,7 +5,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). -## [Unreleased]+## [1.1.0] - 2026-08-04++### Changed++- `settingsFork` and `setFork` take unlift parameter, improving performance.++## [1.0.0] - 2026-07-27 ### Added
src/Effectful/Wai/Handler/Warp.hs view
@@ -206,7 +206,10 @@ , settingsFdCacheDuration :: Int , settingsFileInfoCacheDuration :: Int , settingsBeforeMainLoop :: Eff es ()- , settingsFork :: ((forall a. Eff es a -> Eff es a) -> Eff es ()) -> Eff es ()+ , settingsFork+ :: (forall r. Eff es r -> IO r)+ -> ((forall a. Eff es a -> Eff es a) -> Eff es ())+ -> Eff es () , settingsAccept :: Socket -> Eff es (Socket, SockAddr) , settingsNoParsePath :: Bool , settingsInstallShutdownHandler :: Eff es () -> Eff es ()@@ -236,10 +239,9 @@ , settingsOnOpen = liftIO . settingsOnOpen , settingsOnClose = liftIO . settingsOnClose , settingsBeforeMainLoop = liftIO settingsBeforeMainLoop- , settingsFork = \inner ->- withEffToIO (ConcUnlift Persistent Unlimited) \unlift ->- void $ forkIOWithUnmask \unmask ->- unlift . inner $ liftIO . unmask . unlift+ , settingsFork = \unlift inner ->+ liftIO . void $ forkIOWithUnmask \unmask ->+ unlift . inner $ liftIO . unmask . unlift , settingsAccept = liftIO . accept , settingsInstallShutdownHandler = \_close -> pure () , settingsLogger = \req s ms -> liftIO (settingsLogger (unliftRequestNoBody req) s ms)@@ -257,10 +259,9 @@ , settingsOnOpen = liftIO . settingsOnOpen , settingsOnClose = liftIO . settingsOnClose , settingsBeforeMainLoop = liftIO settingsBeforeMainLoop- , settingsFork = \effInner ->- withEffToIO (ConcUnlift Persistent Unlimited) \unlift ->- settingsFork \ioUnmask ->- unlift . effInner $ liftIO . ioUnmask . unlift+ , settingsFork = \unlift effInner ->+ liftIO $ settingsFork \ioUnmask ->+ unlift . effInner $ liftIO . ioUnmask . unlift , settingsAccept = liftIO . settingsAccept , settingsInstallShutdownHandler = \closeEff -> withEffToIO SeqUnlift \unlift ->@@ -278,7 +279,7 @@ , settingsOnOpen = unlift . settingsOnOpen , settingsOnClose = unlift . settingsOnClose , settingsBeforeMainLoop = unlift settingsBeforeMainLoop- , settingsFork = \ioInner -> unlift $ settingsFork \effUnmask -> liftIO . ioInner $ unlift . effUnmask . liftIO+ , settingsFork = \ioInner -> unlift $ settingsFork unlift \effUnmask -> liftIO . ioInner $ unlift . effUnmask . liftIO , settingsAccept = unlift . settingsAccept , settingsInstallShutdownHandler = unlift . settingsInstallShutdownHandler . liftIO , settingsLogger = \req st ms -> unlift (settingsLogger (liftRequest req) st ms)@@ -376,7 +377,10 @@ -- | Lifted 'Warp.setFork'. setFork- :: (((forall a. Eff es a -> Eff es a) -> Eff es ()) -> Eff es ())+ :: ( (forall r. Eff es r -> IO r)+ -> ((forall a. Eff es a -> Eff es a) -> Eff es ())+ -> Eff es ()+ ) -> Settings es -> Settings es setFork v s = s{settingsFork = v}
warp-effectful.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: warp-effectful-version: 1.0.0+version: 1.1.0 synopsis: Effectful bindings for the warp library description: Adaptation of the @<https://hackage.haskell.org/package/warp warp>@ library for the @<https://hackage.haskell.org/package/effectful effectful>@ ecosystem.