WIP moving back to snap.
[?]
Dec 3, 2014, 12:31 AM
EMVTF2IWNQGRL44FC4JNG5FYYQTZSFPNM6SOM7IAEH6T7PPK2NVACDependencies
- [2]
FRPWIKCNAdded log event parsing to Quixotic.Database.SQLite - [3]
NTPC7KJETrivial changes, feature scratchpad. - [4]
WZUHEZSBStart of migration back toward snap. - [5]
64C6AWH6Rename Ananke -> Quixotic, project reboot. - [6]
Y35QCWYWMinor improvement in WorkIndex type to eliminate duplicated information. - [7]
P6NR2CGXBeginning of implementation of depreciation. - [8]
A2J7B4SCInitial impl of depreciation function. - [9]
2KZPOGRBOnce you get Haskell to compile, the tests pass! - [10]
JUUMYIQEAdd groupBy utility function for use in TimeLog. - [11]
7DBNV3GVInitial, stack-based impl of time log event reduction. - [12]
4QX5E5ACInitial compilation of payouts function succeeds. - [13]
GKGVYBZGAdded JSON serialization to TimeLog - [14]
RSEB2NFGReplacing Snap with Scotty. - [15]
5W5M56VJMove library code to 'lib' - [16]
NVOCQVASInitial failing tests. - [17]
2OIPAQCBMerge branch 'master' of github.com:nuttycom/ananke - [18]
TJEUE7TYAdded OverloadedStrings to eliminate Text fiddling. - [19]
NMWWP4ZNTrying out Hspec - [20]
64VI73NPServer now compiles using abstracted SQLite - [21]
EQXRXRZDChanged to use tasty instead of test-framework - [22]
Z3M53KTLAdrift. - [23]
ADMKQQGCInitial empty Snap project.
Change contents
- replacement in lib/Quixotic/Database/SQLite.hs at line 1
{-# LANGUAGE ScopedTypeVariables, OverloadedStrings #-}{-# LANGUAGE ScopedTypeVariables, OverloadedStrings, NoImplicitPrelude #-} - replacement in lib/Quixotic/Database/SQLite.hs at line 5
import Control.Monadimport ClassyPrelude - edit in lib/Quixotic/Database/SQLite.hs at line 7
import Data.Maybe (catMaybes)import qualified Data.Text as Timport Data.Time.Clockimport Data.Time.Format - edit in lib/Quixotic/Database/SQLite.hs at line 8
- edit in lib/Quixotic/Database/SQLite.hs at line 12
import System.Locale (defaultTimeLocale) - replacement in lib/Quixotic/Database/SQLite.hs at line 20
void $ insertRow h "workEvents" [ ("btcAddr", T.unpack (address ba)), ("event", T.unpack (eventName ev))void $ insertRow h "workEvents" [ ("btcAddr", unpack (address ba)), ("event", unpack (eventName ev)) - replacement in lib/Quixotic/Database/SQLite.hs at line 24
readWorkIndex :: SQLiteHandle -> EitherT T.Text IO WorkIndexreadWorkIndex :: SQLiteHandle -> EitherT Text IO WorkIndex - replacement in lib/Quixotic/Database/SQLite.hs at line 27
rows <- bimapEitherT T.pack id baseResultrows <- bimapEitherT pack id baseResult - replacement in lib/Quixotic/Database/SQLite.hs at line 38
valueAddr (Text t) = parseBtcAddr $ T.pack tvalueAddr (Text t) = parseBtcAddr $ pack t - edit in lib/Quixotic/Database.hs at line 1
{-# LANGUAGE NoImplicitPrelude #-} - edit in lib/Quixotic/Interval.hs at line 1
{-# LANGUAGE NoImplicitPrelude #-} - edit in lib/Quixotic/Interval.hs at line 7
import ClassyPrelude - replacement in lib/Quixotic/TimeLog.hs at line 1
{-# LANGUAGE ScopedTypeVariables, OverloadedStrings #-}{-# LANGUAGE ScopedTypeVariables, OverloadedStrings, NoImplicitPrelude #-} - replacement in lib/Quixotic/TimeLog.hs at line 17[5.998]→[5.5372:5413](∅→∅),[5.5413]→[5.4:52](∅→∅),[5.1808]→[5.4:52](∅→∅),[5.82]→[5.76:98](∅→∅),[5.1808]→[5.76:98](∅→∅),[5.98]→[5.2621:2644](∅→∅)
import Quixoticimport Quixotic.Intervalimport Control.Applicativeimport Control.Monadimport Data.Bifunctorimport Data.Function()import ClassyPrelude - replacement in lib/Quixotic/TimeLog.hs at line 21
import Data.Map.Strict as Mimport Data.Map.Strict as MS - replacement in lib/Quixotic/TimeLog.hs at line 25
import qualified Data.Text as Timport Quixoticimport Quixotic.Interval - replacement in lib/Quixotic/TimeLog.hs at line 32
eventName :: WorkEvent -> T.TexteventName :: WorkEvent -> Text - replacement in lib/Quixotic/TimeLog.hs at line 38
t <- jv .: "type" :: A.Parser T.Textt <- jv .: "type" :: A.Parser Text - replacement in lib/Quixotic/TimeLog.hs at line 82
(totalTime, keyTimes) = M.mapAccum addIntervalDiff (fromInteger 0) $ M.map snd widxin M.map (\kt -> toRational $ kt / totalTime) keyTimes(totalTime, keyTimes) = MS.mapAccum addIntervalDiff (fromInteger 0) $ MS.map snd widxin MS.map (\kt -> toRational $ kt / totalTime) keyTimes - replacement in lib/Quixotic/TimeLog.hs at line 103
let logSum = F.foldl' appendLogEntry M.empty logEntriesin M.map (bimap (fmap event) (fmap workInterval)) $ logSumlet logSum = F.foldl' appendLogEntry MS.empty logEntriesin MS.map (bimap (fmap event) (fmap workInterval)) $ logSum - replacement in lib/Quixotic/TimeLog.hs at line 114
pushEntry entry = first (entry :) . findWithDefault ([], []) (btcAddr entry)pushEntry entry = first (entry :) . MS.findWithDefault ([], []) (btcAddr entry) - edit in lib/Quixotic.hs at line 1
{-# LANGUAGE NoImplicitPrelude #-} - edit in lib/Quixotic.hs at line 8
import ClassyPrelude - edit in lib/Quixotic.hs at line 13
import Control.Monad - replacement in quixotic.cabal at line 23
build-depends: basebuild-depends: base >= 4 && < 5 - edit in quixotic.cabal at line 25
, classy-prelude >= 0.10.2 - replacement in quixotic.cabal at line 57
, base >= 4 && < 5, base, classy-prelude >= 0.10.2 - edit in server/Api/WorkLog.hs at line 1
{-# LANGUAGE NoImplicitPrelude #-} - edit in server/Api/WorkLog.hs at line 5
import ClassyPrelude - edit in server/Api/WorkLog.hs at line 28
- replacement in server/Main.hs at line 1
{-# LANGUAGE ScopedTypeVariables, OverloadedStrings #-}{-# LANGUAGE ScopedTypeVariables, OverloadedStrings, NoImplicitPrelude #-} - edit in server/Main.hs at line 4
import ClassyPrelude - replacement in server/Main.hs at line 62
buildPayoutsResponse widx = writeBS . encode . PayoutsResponse $ payouts dep ptime widxbuildPayoutsResponse widx = writeBS . A.encode . PayoutsResponse $ payouts dep ptime widx - replacement in test/Ananke/TimeLogSpec.hs at line 1
{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}{-# LANGUAGE OverloadedStrings, ScopedTypeVariables, NoImplicitPrelude #-} - edit in test/Ananke/TimeLogSpec.hs at line 4
import ClassyPrelude