The tsession package

[Tags:bsd3, library]

The concept of this web transaction framework is influenced by sessions, transactions and software transactional memory. To web-developers it offers sessions with integrated transaction management that has an included server-side storage of key-value pairs. The transactions can be spanned over multiple web requests and only affect the database when a commit is instructed. Additionally, the sessions have access to the (not yet committed) key-value pairs and the status (e.g., the last requested page) of all other sessions that are active. As sessions have to be canceled after a given timeout, the framework has a garbage collector that safely cleans up the timed out sessions. The framework introduces a monad which encapsulates all the logic of the transactions and frees them of side effects. This is a concept known from the STM--monad and like in STM, the transactions cannot dead-lock each other.

For more information check my master thesis:


Versions 0.1
Dependencies base (>4 && <5), containers (>0.4), mtl, time, transformers [details]
License BSD3
Copyright 2014 Florian Micheler
Author Florian Micheler <>
Maintainer Florian Micheler <>
Category Web
Uploaded Sun Jun 22 21:26:41 UTC 2014 by FlorianMicheler
Updated Sun Jun 22 21:56:07 UTC 2014 by FlorianMicheler to revision 2
Distributions NixOS:0.1
Downloads 307 total (8 in the last 30 days)
0 []
Status Docs not available [build log]
Last success reported on 2015-05-21 [all 5 reports]
Hackage Matrix CI


  • Control
    • Control.TSession


Maintainer's Corner

For package maintainers and hackage trustees