{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Types where import Data.Csv import Data.String (IsString (..)) -- | The name of a set of benchmark results from a single run. newtype RunName = RunName { getRunName :: String } deriving (Eq, Ord, Show, FromField) instance IsString RunName where fromString = RunName -- | The name of a benchmark newtype BenchName = BenchName { getBenchName :: String } deriving (Eq, Ord, Show, FromField) data RowName = RowBenchName BenchName | RowMean deriving (Eq, Ord, Show) getRowName :: RowName -> String getRowName (RowBenchName bn) = getBenchName bn getRowName RowMean = "Geometric mean" data Stats = Stats { statsMean, statsMeanLB, statsMeanUB :: Double , statsStd, statsStdLB, statsStdUB :: Double } deriving (Show)