rapid: Hot reload and reload-surviving values with GHCi

[ bsd3, development, library ] [ Propose Tags ]

This package provides a rapid prototyping suite for GHCi:

  • Reload individual components of your application as you iterate: improves development experience for long-running applications such as (web) servers or user interfaces by keeping the app running in the background and allowing reloading it after code changes.

  • Reuse expensive resources across reloads: useful in batch-style programs to compute/aquire a resource once, then reuse it across code reloads.

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


[Skip to Readme]

Modules

[Last Documentation]

  • Rapid

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.5.1, 0.1.5.2, 0.1.5.3
Change log CHANGELOG.md
Dependencies async (>=2.1 && <2.3), base (>=4.8 && <4.18), containers (>=0.5 && <0.7), foreign-store (>=0.2 && <0.3), stm (>=2.4 && <2.7) [details]
License BSD-3-Clause
Copyright Copyright 2018 Ertugrul Söylemez
Author Ertugrul Söylemez <esz@posteo.de>
Maintainer Markus Läll <markus.l2ll@gmail.com>
Category Development
Home page https://github.com/haskell-rapid/rapid
Bug tracker https://github.com/haskell-rapid/rapid
Source repo head: git clone https://github.com/haskell-rapid/rapid
Uploaded by eyeinsky at 2024-01-21T17:52:07Z
Distributions
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 3442 total (28 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2024-01-21 [all 2 reports]

Readme for rapid-0.1.5.1

[back to package description]

Rapid

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.