rapid: GHCi background threads, hot reloading and reload-surviving values

[ bsd3, development, library ] [ Propose Tags ]

This package provides a safe and convenient wrapper around foreign-store for hot-reloadable background threads during a GHCi session, useful for the development of long-running programs like servers, web applications and interactive user interfaces.

It can also be used in the context of batch-style programs to keep resources that are expensive to create in memory instead of having to recreate them after every module reload.

[Skip to Readme]




Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4
Change log CHANGELOG.md
Dependencies async (>=2.1 && <3), base (>=4.8 && <5), containers (>=0.5 && <1), foreign-store (>=0.2 && <1), stm (>=2.4 && <3) [details]
License LicenseRef-Apache
Copyright Copyright 2016 Ertugrul Söylemez
Author Ertugrul Söylemez <esz@posteo.de>
Maintainer Ertugrul Söylemez <esz@posteo.de>
Category Development
Home page http://hub.darcs.net/esz/rapid
Bug tracker http://hub.darcs.net/esz/rapid/issues
Source repo head: darcs get http://hub.darcs.net/esz/rapid
Uploaded by esz at 2016-06-08T12:00:25Z
Distributions NixOS:0.1.4
Downloads 3089 total (14 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for rapid-0.1.1

[back to package description]


Copyright 2016 Ertugrul Söylemez

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


This is a helper library for rapid prototyping in GHCi sessions. It provides hot-reloadable background threads as well as values that can be reused across module reloads (to save initialisation time). Main use cases include the development of long-running applications, especially those with multiple separable units: servers, web applications, interactive user interfaces, etc.

A tutorial-style introduction is contained within the Rapid module.