rapid: Hot reload and reload-surviving values with GHCi

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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]

Properties

Versions 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 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 2023-12-12T12:41:48Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for rapid-0.1.5

[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.