work-time: A library for parsing a chat-based work hour reporting scheme.

[ bsd3, business, library, program ] [ Propose Tags ]

Parses a certain format for hour and task reporting in chat/Slack form. See README for format.

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,
Dependencies base (>=4.7 && <5), containers (>= && <0.6), megaparsec (>=6.4.1 && <7), text (>= && <1.3), work-time [details]
License BSD-3-Clause
Copyright 2018 Rickard Andersson
Author Rickard Andersson
Category Business
Home page
Uploaded by gonz at 2018-07-04T12:47:21Z
Executables work-time
Downloads 1509 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-07-04 [all 1 reports]

Readme for work-time-

[back to package description]


A library for extracting work hours from an ad-hoc work hour reporting format in (for example) Slack.

Reason for existing

We had already established an ad-hoc format for reporting work hours and tasks and parsing these manually was getting tedious. Hence this library.

Example entry

An entire entry will look as follows:

Rickard Andersson [11:16 PM]
[28.02] 8.5h
worked on missile guidance system
cleaned up parsing code

The first part is represented by a MessageLine and what follows is one Workday in this example.

An entry can also look as follows:

steve [9:42 PM]
[01.03] 9h
fixed session management

Rickard Andersson [11:16 PM]
[28.02] 8.5h
worked on missile guidance system
cleaned up parsing code
[01.03] 6h
fixed critical bug in missile guidance system
removed half of parsing code

In this example we have several Workday in one WorkTime.

Example report functionality

> hoursFromText testData
Right [("RickardAndersson",14.5),("steve",9.0)]

In the case of a Left being returned this will contain a more or less informative error message from the parsing stage of the process.