| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Fri, 16 Jan 2026 18:37:51 GMT
X-Served-By: cache-dfw-kdal2120067-DFW, cache-bom-vanm7210044-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768588671.851824,VS0,VE293
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
rmonad: Restricted monad library
[Skip to Readme]
rmonad: Restricted monad library
A library for restricted monads based on associated datatypes. This allows datatypes such as Set to be made into monads. Users can either use the NoImplicitPrelude extension and use Control.RMonad directly, or use Control.RMonad.AsMonad with the embed and unEmbed combinators to use the normal Prelude monad operations.
[Skip to Readme]
Modules
[Index]
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| warn-as-error | build with warnings as errors | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- rmonad-0.8.0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1, 0.2, 0.3, 0.4, 0.4.1, 0.5, 0.6, 0.7, 0.8, 0.8.0.1, 0.8.0.2 |
|---|---|
| Dependencies | base (<5), containers, suitable (>=0.1 && <0.2), transformers [details] |
| License | BSD-3-Clause |
| Copyright | (c) 2008-9 Ganesh Sittampalam, 2008 Peter Gavin |
| Author | |
| Maintainer | Ganesh Sittampalam <ganesh@earth.li> |
| Uploaded | by GaneshSittampalam at 2013-12-23T08:05:45Z |
| Category | Control |
| Source repo | head: darcs get https://code.haskell.org/rmonad/ this: darcs get https://code.haskell.org/rmonad/ --tag version 0.8.0.2 |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 9013 total (43 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Successful builds reported [all 1 reports] |
Readme for rmonad-0.8.0.2
[back to package description]rmonad provides a restricted monad class in the Control.RMonad hierarchy. The class makes use of associated datatypes (available in GHC 6.8), using an idea learnt from Wolfgang Jeltsch: https://www.haskell.org/pipermail/haskell-cafe/2008-March/041084.html It also provides a way to treat a restricted monad as a normal monad using a generic wrapper type. This idea is described here: https://hsenag.livejournal.com/11803.html?nc=5 See the haddock documentation for information on how to use it. darcs get https://code.haskell.org/rmonad TODO Add instances for all the mtl stuff. Consider also doing this for mtl-tf (namespacing issues?) Add all the normal monad combinators Should we use Monad etc rather than RMonad etc for naming? - Pro: standard modern namespacing conventions - Anti: Module names need to be different to allow co-existence Do we actually want RApplicative etc? Nasty because most restrictions aren't much use on function types DSELs are a good example of where Suitable could be closed over function types