lace-language / lace

4 stars 0 forks source link

effect-language

effect Convertable<A, B> {
    fn convert(A) -> B;
}

struct X;
struct Y;

impl Convertable<X, Y> {
    fn convert(self: X) -> Y {
        Y
    }
}

fn convert() {

}

fn main() {
    let a = X;
    let b = a.convert();
}

weaker effect handlers with still async support: https://www.microsoft.com/en-us/research/publication/effect-handlers-evidently/