  | 
 Module                   : Colog . Core 
 Copyright                : ( c ) 2018 - 2020 Kowainik , 2021 - 2022 Co - Log 
 SPDX - License - Identifier : MPL-2.0 
 Maintainer               : Co - Log <  > 
 Stability                : Stable 
 Portability              : Portable 

 Exports all core functionality . @co - log - core@ is a lightweight package that 
 defines only core data type and various combinators to work with it . 

 Fundamentals of @co - log - core@ are based on the following data type : 

 @ 
 _ _ newtype _ _ LogAction m msg = LogAction 
     { unLogAction : : msg - > m ( ) 
     } 
 @ 

 This data type provides extremely composable and flexible interface by having 
 many instances of the standard algebraic data types . 

 The package has the following structure : 

 * _ _ " Colog . Core . Action " : _ _ definition of the main data type and its combinators . 
 * _ _ " Colog . Core . Class " : _ _ ' HasLog ' typeclass that describes how different values 
   ( e.g. application environment ) can store and modify ' LogAction ' . 
 * _ _ " Colog . Core . IO " : _ _ basic loggers that work with ' Control . Monad . IO.Class . MonadIO ' and ' String ' . 
 * _ _ " Colog . Core . Severity " : _ _ logger severity . 

Module                  : Colog.Core
Copyright               : (c) 2018-2020 Kowainik, 2021-2022 Co-Log
SPDX-License-Identifier : MPL-2.0
Maintainer              : Co-Log <>
Stability               : Stable
Portability             : Portable

Exports all core functionality. @co-log-core@ is a lightweight package that
defines only core data type and various combinators to work with it.

Fundamentals of @co-log-core@ are based on the following data type:

@
__newtype__ LogAction m msg = LogAction
    { unLogAction :: msg -> m ()
    }
@

This data type provides extremely composable and flexible interface by having
many instances of the standard algebraic data types.

The package has the following structure:

* __"Colog.Core.Action":__ definition of the main data type and its combinators.
* __"Colog.Core.Class":__ 'HasLog' typeclass that describes how different values
  (e.g. application environment) can store and modify 'LogAction'.
* __"Colog.Core.IO":__ basic loggers that work with 'Control.Monad.IO.Class.MonadIO' and 'String'.
* __"Colog.Core.Severity":__ logger severity.
-}

module Colog.Core
       ( module Colog.Core.Action
       , module Colog.Core.Class
       , module Colog.Core.IO
       , module Colog.Core.Severity
       ) where

import Colog.Core.Action
import Colog.Core.Class
import Colog.Core.IO
import Colog.Core.Severity

  | 
 Module                   : Colog . Core 
 Copyright                : ( c ) 2018 - 2020 Kowainik , 2021 - 2022 Co - Log 
 SPDX - License - Identifier : MPL-2.0 
 Maintainer               : Co - Log <  > 
 Stability                : Stable 
 Portability              : Portable 

 Exports all core functionality . @co - log - core@ is a lightweight package that 
 defines only core data type and various combinators to work with it . 

 Fundamentals of @co - log - core@ are based on the following data type : 

 @ 
 _ _ newtype _ _ LogAction m msg = LogAction 
     { unLogAction : : msg - > m ( ) 
     } 
 @ 

 This data type provides extremely composable and flexible interface by having 
 many instances of the standard algebraic data types . 

 The package has the following structure : 

 * _ _ " Colog . Core . Action " : _ _ definition of the main data type and its combinators . 
 * _ _ " Colog . Core . Class " : _ _ ' HasLog ' typeclass that describes how different values 
   ( e.g. application environment ) can store and modify ' LogAction ' . 
 * _ _ " Colog . Core . IO " : _ _ basic loggers that work with ' Control . Monad . IO.Class . MonadIO ' and ' String ' . 
 * _ _ " Colog . Core . Severity " : _ _ logger severity . 

Module                  : Colog.Core
Copyright               : (c) 2018-2020 Kowainik, 2021-2022 Co-Log
SPDX-License-Identifier : MPL-2.0
Maintainer              : Co-Log <>
Stability               : Stable
Portability             : Portable

Exports all core functionality. @co-log-core@ is a lightweight package that
defines only core data type and various combinators to work with it.

Fundamentals of @co-log-core@ are based on the following data type:

@
__newtype__ LogAction m msg = LogAction
    { unLogAction :: msg -> m ()
    }
@

This data type provides extremely composable and flexible interface by having
many instances of the standard algebraic data types.

The package has the following structure:

* __"Colog.Core.Action":__ definition of the main data type and its combinators.
* __"Colog.Core.Class":__ 'HasLog' typeclass that describes how different values
  (e.g. application environment) can store and modify 'LogAction'.
* __"Colog.Core.IO":__ basic loggers that work with 'Control.Monad.IO.Class.MonadIO' and 'String'.
* __"Colog.Core.Severity":__ logger severity.
-}

module Colog.Core
       ( module Colog.Core.Action
       , module Colog.Core.Class
       , module Colog.Core.IO
       , module Colog.Core.Severity
       ) where

import Colog.Core.Action
import Colog.Core.Class
import Colog.Core.IO
import Colog.Core.Severity
