Compare commits
2 Commits
2a92e3e8b0
...
480073894b
| Author | SHA1 | Date | |
|---|---|---|---|
| 480073894b | |||
| 9473eabf11 |
@ -20,7 +20,7 @@ description: Please see the README at <https://git.fiskhamn.se/steffenom
|
||||
|
||||
dependencies:
|
||||
- base >= 4.7 && < 5
|
||||
- text == 1.2.*
|
||||
- text == 2.*
|
||||
- effectful-core >= 2.2.2.0 && < 3
|
||||
- effectful >= 2.2.2.0 && < 3
|
||||
- effectful-th == 1.*
|
||||
@ -28,6 +28,7 @@ dependencies:
|
||||
- torsor == 0.1
|
||||
- unliftio == 0.2.*
|
||||
- co-log-core == 0.3.*
|
||||
- bytestring == 0.11.*
|
||||
|
||||
ghc-options:
|
||||
- -Wall
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
cabal-version: 1.12
|
||||
|
||||
-- This file has been generated from package.yaml by hpack version 0.35.1.
|
||||
-- This file has been generated from package.yaml by hpack version 0.36.0.
|
||||
--
|
||||
-- see: https://github.com/sol/hpack
|
||||
|
||||
@ -56,12 +56,13 @@ library
|
||||
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
|
||||
build-depends:
|
||||
base >=4.7 && <5
|
||||
, bytestring ==0.11.*
|
||||
, chronos >=1.1.5 && <2
|
||||
, co-log-core ==0.3.*
|
||||
, effectful >=2.2.2.0 && <3
|
||||
, effectful-core >=2.2.2.0 && <3
|
||||
, effectful-th ==1.*
|
||||
, text ==1.2.*
|
||||
, text ==2.*
|
||||
, torsor ==0.1
|
||||
, unliftio ==0.2.*
|
||||
default-language: Haskell2010
|
||||
|
||||
@ -18,6 +18,9 @@ import Data.Text qualified as T
|
||||
import Data.Text.IO qualified as T
|
||||
import Data.Text.Lazy qualified as LT
|
||||
import Data.Text.Lazy.Builder qualified as T
|
||||
import Data.Text.Encoding qualified as T
|
||||
import Data.Text.Lazy.Encoding qualified as LT
|
||||
import Data.Text.Encoding.Error qualified as T
|
||||
import Effectful
|
||||
import Effectful.Concurrent.QSem
|
||||
import Effectful.Dispatch.Dynamic
|
||||
@ -27,10 +30,12 @@ import Effects.Time
|
||||
import UnliftIO.Exception (bracket_)
|
||||
import UnliftIO.IO (stderr)
|
||||
import Prelude hiding (log)
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as LB
|
||||
|
||||
import Terminal
|
||||
|
||||
class Monoid a => LogData a where
|
||||
class LogData a where
|
||||
toLog :: a -> T.Builder
|
||||
|
||||
instance LogData T.Builder where
|
||||
@ -39,11 +44,20 @@ instance LogData T.Builder where
|
||||
instance LogData Text where
|
||||
toLog = T.fromText
|
||||
|
||||
instance LogData LT.Text where
|
||||
toLog = T.fromLazyText
|
||||
|
||||
instance LogData String where
|
||||
toLog = T.fromString
|
||||
|
||||
instance LogData B.ByteString where
|
||||
toLog = toLog . T.decodeUtf8With T.lenientDecode
|
||||
|
||||
instance LogData LB.ByteString where
|
||||
toLog = toLog . LT.decodeUtf8With T.lenientDecode
|
||||
|
||||
data Log :: Effect where
|
||||
Log :: Severity -> T.Builder -> Log m ()
|
||||
Log :: (LogData a) => Severity -> a -> Log m ()
|
||||
|
||||
makeEffect ''Log
|
||||
|
||||
@ -70,11 +84,10 @@ runLogWithQsem lock logger e = do
|
||||
lock' <- ask
|
||||
bracket_ (waitQSem lock') (signalQSem lock') $ do
|
||||
t <- currentTimeB
|
||||
liftIO $ cmap (addTime t . fmtMessage) logger <& msg `WithSeverity` sev
|
||||
liftIO $ cmap (addTime t . fmtMessage) logger <& toLog msg `WithSeverity` sev
|
||||
)
|
||||
e
|
||||
|
||||
|
||||
stderrLogger ::
|
||||
(MonadIO m) =>
|
||||
LogAction m T.Builder
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
#
|
||||
# resolver: ./custom-snapshot.yaml
|
||||
# resolver: https://example.com/snapshots/2018-01-01.yaml
|
||||
resolver: lts-20.16
|
||||
resolver: lts-21.25
|
||||
|
||||
|
||||
# User packages to be built.
|
||||
@ -36,7 +36,6 @@ packages:
|
||||
# forks / in-progress versions pinned to a git hash. For example:
|
||||
#
|
||||
extra-deps:
|
||||
- chronos-1.1.5
|
||||
# - acme-missiles-0.3
|
||||
# - git: https://github.com/commercialhaskell/stack.git
|
||||
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
|
||||
|
||||
@ -3,17 +3,10 @@
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: chronos-1.1.5@sha256:ca35be5fdbbb384414226b4467c6d1c8b44defe59a9c8a3af32c1c5fb250c781,3830
|
||||
pantry-tree:
|
||||
sha256: 329bf39a05362a9c1f507a4a529725c757208843b562c55e0b7c88538dc3160f
|
||||
size: 581
|
||||
original:
|
||||
hackage: chronos-1.1.5
|
||||
packages: []
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: dad15e2ec0c09280a5c2e07190fb18710fc54472f029f34f861f686540824d81
|
||||
size: 649592
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/16.yaml
|
||||
original: lts-20.16
|
||||
sha256: a81fb3877c4f9031e1325eb3935122e608d80715dc16b586eb11ddbff8671ecd
|
||||
size: 640086
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/25.yaml
|
||||
original: lts-21.25
|
||||
|
||||
Loading…
Reference in New Issue
Block a user