use optics labels
This commit is contained in:
parent
d23e8ab892
commit
2597c80f3d
6 changed files with 161 additions and 134 deletions
|
@ -1,3 +1,4 @@
|
|||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE UndecidableInstances #-}
|
||||
|
||||
module Myriad.Core
|
||||
|
@ -33,6 +34,8 @@ import Control.Concurrent.MVar.Lifted
|
|||
import Control.Concurrent.QSem.Lifted
|
||||
import System.Process.Typed
|
||||
|
||||
import Optics
|
||||
|
||||
import Myriad.Config
|
||||
|
||||
type ContainerName = String
|
||||
|
@ -40,14 +43,16 @@ type ContainerName = String
|
|||
type ImageName = String
|
||||
|
||||
data Env = Env
|
||||
{ config :: Config
|
||||
, languagesDir :: FilePath
|
||||
, containers :: MVar (M.Map LanguageName ContainerName)
|
||||
, containerSems :: MVar (M.Map LanguageName QSem)
|
||||
, evalSems :: MVar (M.Map LanguageName QSem)
|
||||
, snowflakeGen :: SnowflakeGen
|
||||
{ _config :: Config
|
||||
, _languagesDir :: FilePath
|
||||
, _containers :: MVar (M.Map LanguageName ContainerName)
|
||||
, _containerSems :: MVar (M.Map LanguageName QSem)
|
||||
, _evalSems :: MVar (M.Map LanguageName QSem)
|
||||
, _snowflakeGen :: SnowflakeGen
|
||||
}
|
||||
|
||||
makeFieldLabelsWith classUnderscoreNoPrefixFields ''Env
|
||||
|
||||
newtype MyriadT m a = MyriadT { unMyriadT :: ReaderT Env (LoggingT m) a }
|
||||
deriving newtype
|
||||
( Functor
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue