atelier-core 0.8.0.0 → 0.8.1.0
raw patch · 3 files changed
+21/−2 lines, 3 files
Files
- CHANGELOG.md +8/−0
- atelier-core.cabal +1/−1
- src/Atelier/Effects/Console.hs +12/−1
CHANGELOG.md view
@@ -7,6 +7,14 @@ ## [Unreleased] +## [0.8.1.0] - 2026-10-23++### Added++- `Atelier.Effects.Console.runConsoleOut` and `Atelier.Effects.Console.Output`:+ to run `Console` effects against specific well-known handlers, like `stdout`+ and `stderr`.+ ## [0.8.0.0] - 2026-10-20 ### Added
atelier-core.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: atelier-core-version: 0.8.0.0+version: 0.8.1.0 synopsis: Foundational Effectful-based effects and utilities description: Core effects and utilities for effect-based applications, built on Effectful — part of the atelier toolkit. category: Control
src/Atelier/Effects/Console.hs view
@@ -6,6 +6,7 @@ module Atelier.Effects.Console ( -- * Effect Console+ , Output (..) , putStrLn , putStr , putTextLn@@ -15,6 +16,7 @@ , runConsoleHandle , runConsole , runConsoleToList+ , runConsoleOut ) where @@ -22,7 +24,7 @@ import Effectful.Dispatch.Dynamic (interpret_, reinterpret_) import Effectful.State.Static.Shared (modify, runState) import Effectful.TH (makeEffect)-import System.IO (Handle, stdout)+import System.IO (Handle, stderr, stdout) import Prelude import Data.ByteString.Char8 qualified as B8@@ -34,6 +36,9 @@ PutStr :: ByteString -> Console m () +data Output = Stdout | Stderr++ makeEffect ''Console @@ -68,3 +73,9 @@ runConsoleToList :: Eff (Console : es) a -> Eff es (a, [ByteString]) runConsoleToList = reinterpret_ (fmap (second reverse) . runState []) \case PutStr s -> modify (s :)+++runConsoleOut :: (IOE :> es) => Output -> Eff (Console : es) a -> Eff es a+runConsoleOut = \case+ Stderr -> runConsoleHandle stderr+ Stdout -> runConsoleHandle stdout