gluon 0.18.2

A static, type inferred programming language for application embedding
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
//@NO-IMPLICIT-PRELUDE
//! Utilities for writing `Monad` transformers

let { Monad } = import! std.prelude

#[implicit]
type Transformer t = { wrap_monad : forall a m . [Monad m] -> m a -> t m a }

let wrap_monad ?_ ?tr ma : [Monad m] -> [Transformer t] -> m a -> t m a =
    tr.wrap_monad ma

{ Transformer, wrap_monad }