The tsession package

[ Tags: bsd3, library, web ] [ Propose Tags ]

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 317 total (2 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
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