typed-dom
Version:
A value-level and type-level DOM builder.
11 lines (10 loc) • 426 B
TypeScript
import { Applicative } from './applicative';
export declare abstract class Monad<a> extends Applicative<a> {
abstract bind<b>(f: (a: a) => Monad<b>): Monad<b>;
abstract join(this: Monad<Monad<a>>): Monad<a>;
}
export declare namespace Monad {
function Return<a>(a: a): Monad<a>;
function bind<a, b>(f: (a: a) => Monad<b>, m: Monad<a>): Monad<b>;
function sequence<a>(fm: Monad<a>[]): Monad<Iterable<a>>;
}