rapid: Rapid prototyping with GHCi: hot reloading of running components and reload-surviving values

[ bsd3, development, library ] [ Propose Tags ]

This package provides a rapid prototyping suite for GHCi that can be used standalone or integrated into editors. You can hot-reload individual running components as you make changes to their code. It is designed to shorten the development cycle during 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: Keep resources that are expensive to create in memory and reuse them across module reloads instead of reloading/recomputing them after every code change.

Technically this package is a safe and convenient wrapper around foreign-store.

[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 BSD-3-Clause
Copyright Copyright 2016 Ertugrul Söylemez
Author Ertugrul Söylemez <esz@posteo.de>
Maintainer Ertugrul Söylemez <esz@posteo.de>
Category Development
Home page https://github.com/esoeylemez/rapid
Bug tracker https://github.com/esoeylemez/rapid/issues
Source repo head: git clone https://github.com/esoeylemez/rapid.git
Uploaded by esz at 2016-10-18T08:51:56Z
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.3

[back to package description]


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.