<commit_before>module Base (
    module Control.Applicative,
    module Control.Monad.Extra,
    module Control.Monad.Reader,
    module Data.Char,
    module Data.Function,
    module Data.List,
    module Data.Maybe,
    module Data.Monoid,
    module Development.Shake,
    module Development.Shake.Classes,
    module Development.Shake.Config,
    module Development.Shake.FilePath,
    module Development.Shake.Util,
    module System.Console.ANSI,
    shakeFilesPath, configPath, bootPackageConstraints, packageDependencies,
    replaceEq, replaceSeparators, decodeModule,
    unifyPath, (-/-), chunksOfSize,
    putColoured, putOracle, putBuild, putSuccess, putError,
    bimap, minusOrd, intersectOrd,
    removeFileIfExists
    ) where

import Control.Applicative
import Control.Monad.Extra
import Control.Monad.Reader
import Data.Char
import Data.Function
import Data.List
import Data.Maybe
import Data.Monoid
import Development.Shake hiding (unit, (*>))
import Development.Shake.Classes
import Development.Shake.Config
import Development.Shake.FilePath
import Development.Shake.Util
import System.Console.ANSI
import qualified System.Directory as IO
import System.IO

-- Build system files and paths
shakePath :: FilePath
shakePath = "shake-build"

shakeFilesPath :: FilePath
shakeFilesPath = shakeFilesPath -/- ".db"

configPath :: FilePath
configPath = shakePath -/- "cfg"

bootPackageConstraints :: FilePath
bootPackageConstraints = shakeFilesPath ++ "boot-package-constraints"

packageDependencies :: FilePath
packageDependencies = shakeFilesPath ++ "package-dependencies"

-- Utility functions
-- Find and replace all occurrences of a value in a list
replaceEq :: Eq a => a -> a -> [a] -> [a]
replaceEq from = replaceIf (== from)

-- Find and replace all occurrences of path separators in a String with a Char
replaceSeparators :: Char -> String -> String<commit_msg>Set shakeFilesPath to shake-build/.db<commit_after>module Base (
    module Control.Applicative,
    module Control.Monad.Extra,
    module Control.Monad.Reader,
    module Data.Char,
    module Data.Function,
    module Data.List,
    module Data.Maybe,
    module Data.Monoid,
    module Development.Shake,
    module Development.Shake.Classes,
    module Development.Shake.Config,
    module Development.Shake.FilePath,
    module Development.Shake.Util,
    module System.Console.ANSI,
    shakeFilesPath, configPath, bootPackageConstraints, packageDependencies,
    replaceEq, replaceSeparators, decodeModule,
    unifyPath, (-/-), chunksOfSize,
    putColoured, putOracle, putBuild, putSuccess, putError,
    bimap, minusOrd, intersectOrd,
    removeFileIfExists
    ) where

import Control.Applicative
import Control.Monad.Extra
import Control.Monad.Reader
import Data.Char
import Data.Function
import Data.List
import Data.Maybe
import Data.Monoid
import Development.Shake hiding (unit, (*>))
import Development.Shake.Classes
import Development.Shake.Config
import Development.Shake.FilePath
import Development.Shake.Util
import System.Console.ANSI
import qualified System.Directory as IO
import System.IO

-- Build system files and paths
shakePath :: FilePath
shakePath = "shake-build"

shakeFilesPath :: FilePath
shakeFilesPath = shakePath -/- ".db"

configPath :: FilePath
configPath = shakePath -/- "cfg"

bootPackageConstraints :: FilePath
bootPackageConstraints = shakeFilesPath ++ "boot-package-constraints"

packageDependencies :: FilePath
packageDependencies = shakeFilesPath ++ "package-dependencies"

-- Utility functions
-- Find and replace all occurrences of a value in a list
replaceEq :: Eq a => a -> a -> [a] -> [a]
replaceEq from = replaceIf (== from)

-- Find and replace all occurrences of path separators in a String with a Char
replaceSeparators :: Char -> String -> String
{'fraction_non_alphanumeric': 0.08850726552179657, 'fraction_numerical': 0.0, 'mean_word_length': 4.339915373765868, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6736058', 'n_tokens_mistral': 1069, 'n_tokens_neox': 1036, 'n_words': 316}