Async Programming Is Just Inject Time
2 months ago
- #programming
- #effects
- #control-flow
- 函数是对代码进行更易推理的抽象概念,CPU并不能直接理解
- Java等语言中的动态分派允许根据对象类型在运行时解析方法调用
- 效应和效应系统提供了一种结构化方式来管理控制流、错误处理和并发
- 错误处理可以从简单的返回值(Go)到异常(Java),每种方式在冗长性和灵活性上都有权衡
- 效应将异常和async/await泛化,允许更灵活的控制流和错误处理模式
- 依赖注入可视为效应处理的一种形式,其中依赖项由效应处理器提供
- 效应系统可以通过将异常和async/await等特性改为库定义而非内置来简化语言设计
- 效应的潜在应用包括结构化并发、截止时间强制执行以及更灵活的I/O处理