自定义效果

定义你自己的效果,并通过函数签名传播它们。

自定义效果

自定义 effects 仍然属于语言模型的一部分,但更深层的 handler 体验仍然处在演进中的设计空间。

今日已验证

  • 自定义 effect 属于语言设计的一部分,但更深层的 handler 体验仍在演进。
  • 显式 with ... effect 仍然是语言真实合同的一部分。
  • 测试和 gate 构件比愿景式描述或目录名称更值得信任。

当前限制

  • 更完整的 handler 模型已经存在于设计中,但执行支持仍然不均衡。
  • 真实行为取决于具体的 souc 二进制,而不只是仓库里有哪些文件。

在这个仓库中验证

effect Fail {
    fn fail(msg: string) -> !
}

fn main() with Fail {
    Fail.fail("demo")
}