是否有针对强类型语言的承诺规范?
Is there a promise spec for strongly typed languages?
Promises/A+ 规范非常适合实现 promise,但它大量使用了 Javascript 的弱类型。是否有针对 C# 等强静态类型语言设计的 Promises 规范?
许多语言都有承诺,它们是并发的有用和基本构建块。他们中的许多人都将 promise 作为其基础 class 库的一部分内置。
- C# 的
Task<T>
- Scala 的
Future[T]
- Java 8 的 CompletableFuture.
- Python 的
Future
。 (虽然不是静态类型)。
- Haskell的
IO a
.
- clojure 的
promise
。
- Dart 的
Future<T>
。
- C++ 的
std::future<T>
。
大多数其他语言在用户领域都有主要实现,例如 Swift 和 Objective-C 的 Promise 和 PromiseKit。
我可以继续说下去,但这种模式真的无处不在。大多数语言都在其语言规范中指定了它。 Java脚本的独特之处在于有多少实现 承诺以及规范告诉他们如何相互操作 的事实。
它们并不都与 promises 相同,但它们都捕捉到相同的未来价值理念。有些更受限制(没有单子链),但大多数不是。
Promises/A+ 规范非常适合实现 promise,但它大量使用了 Javascript 的弱类型。是否有针对 C# 等强静态类型语言设计的 Promises 规范?
许多语言都有承诺,它们是并发的有用和基本构建块。他们中的许多人都将 promise 作为其基础 class 库的一部分内置。
- C# 的
Task<T>
- Scala 的
Future[T]
- Java 8 的 CompletableFuture.
- Python 的
Future
。 (虽然不是静态类型)。 - Haskell的
IO a
. - clojure 的
promise
。 - Dart 的
Future<T>
。 - C++ 的
std::future<T>
。
大多数其他语言在用户领域都有主要实现,例如 Swift 和 Objective-C 的 Promise 和 PromiseKit。
我可以继续说下去,但这种模式真的无处不在。大多数语言都在其语言规范中指定了它。 Java脚本的独特之处在于有多少实现 承诺以及规范告诉他们如何相互操作 的事实。
它们并不都与 promises 相同,但它们都捕捉到相同的未来价值理念。有些更受限制(没有单子链),但大多数不是。