Conflicts: src/Ananke/TimeLog.hs
2OIPAQCBDIUJBXB4K2QVP3IEBIUOCQHSWSWFVMVSVZC7GHX2VK7AC
GKGVYBZGPJXO7N7GLHLRNYQPXFHBQSNQN53OKRFCXLQEYDTC5I4QC
A2J7B4SCCJYKQV3G2LDHEFNE2GUICO3N3Y5FKF4EUZW5AG7PTDWAC
EQXRXRZDYCM7BDAVBOXQYPG6C7IJT3OFGNIXCDAHJJBRKAXNGL7AC
2KZPOGRBY6KBMO76F55ZKIVOLSG3O63VP3RHRZVANXYT3OLZ3OWQC
NVOCQVASZWTKQJG7GPH7KHKZZR7NUG4WLV5YY4KAIRPCJRWCZPIAC
7DBNV3GV773FH5ZLQWFX4RBOS4Q3CIK2RYZNNABY3ZOETYZCXRNQC
Y35QCWYW2OTZ27ZVTH2BA3XJTUCJ2WMLKU32ZCOCDY3AW7TIZXRAC
JUUMYIQEXSYRMPCQSHIRIG6TBHAR5LU46FE5WI3UHYX6KA4ESH7AC
4QX5E5ACVN57KJLCWOM4JEI6JSV4XZNCWVYPOTKSOMUW3SOMCNJAC
N4NDAZYTLSI2W22KT3SYXL257DBMSH3UT2BXOYM7LH7FSZAY4RLAC
P6NR2CGXCWAW6GXXSIXCGOBIRAS2BM4LEM6D5ADPN4IL7TMW6UVAC
newtype Months = Months Integer
monthsLength :: Months -> NominalDiffTime
monthsLength (Months i) = fromInteger $ 60 * 60 * 24 * 30 * i
linearDepreciation :: Months -> Months -> Depreciation
linearDepreciation undepPeriod depPeriod =
let maxDepreciable :: NominalDiffTime
maxDepreciable = monthsLength undepPeriod + monthsLength depPeriod
in Depreciation depf
-- data LogEventParseError = LogEventParseError String deriving (Show, Typeable)
-- instance Exception LogEventParseError where
-- instance FromField WorkEvent where
-- fromField f m = let fromText "start_work" = return StartWork
-- fromText "stop_work" = return StopWork
-- fromText a = conversionError $ LogEventParseError $ "unrecognized log event type " ++ a
-- in fromField f m >>= fromText
-- instance FromRow LogEntry where
-- fromRow = LogEntry <$> field <*> field <*> field