packages feed

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 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.