boots: IoC Monad in Haskell

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]

Monad used to encapsulate components, similiar to an IoC container.


[Skip to Readme]

Properties

Versions 0, 0.0.1, 0.0.2, 0.0.3, 0.0.100, 0.1, 0.1.1, 0.2, 0.2, 0.2.0.1
Change log CHANGELOG.md
Dependencies base (>=4.10 && <5), exceptions (>=0.10.2 && <0.11), mtl (>=2.2.2 && <2.3) [details]
License MIT
Copyright 2019 Daniel YU
Author Daniel YU
Maintainer leptonyu@gmail.com
Category Library, Application, Monad, Factory, IoC
Home page https://github.com/leptonyu/boots#readme
Uploaded by leptonyu at 2019-08-28T13:07:56Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for boots-0.2

[back to package description]

boots

Hackage Build stackage LTS package stackage Nightly package MIT license Hackage-Deps

IoC Monad in Haskell.

Packages based on boots

Motivation

Simplify to create an application in Haskell.

When we decide to create an application using Haskell. We may need using configurations, loggers as basic functions. If this application needs storages, caches, etc., then we have to weaving the management of connection of these facilities into the application. Connections need to be created before and be destroyed after using them. There is a common strategy to manage connections, that is using Control.Monad.Cont. Then we can encapsulate the management of connections separately. For example, we can write a database factory Factory m cxt DBConnection, which can manage the database connections in monad m with context cxt. Context cxt may be requested for configurations or logging functions. When all the components of application are encapsulated by plugins, then building an application will be simplified.

A Project Use boots to Build

Refer to 鬼谷子