Crate functo_rs

Crate functo_rs 

Source
Expand description

This crate provides abstractions over data and control functors, as described in A Tale of Two Functors or: How I Learned to Stop Worrying and Love Data and Ccontrol. The original article takes linear types into account, but in Rust we have to do with affine types. This difference means Option and Result CAN be control functors, which are not in linear case.

Modulesยง

control
Control functors are special case of data functors, which can take FnOnce as continuations.
data
Data functors abstracts over data-like structures, which can cosume continuations as many times as they want. Some of data functors can be control functors, which can consume continuations at most once.
impls
Various implementations of functors.
nonlinear