27

Rust がますます肉付けされるにつれて、Rust に対する私の興味がそそられ始めます。代数データ型、特にそれらのマッチングをサポートしているという事実が気に入っていますが、他の関数型イディオムについて何か考えはありますか?

  1. たとえば、標準ライブラリに標準のフィルター/マップ/リデュース関数のコレクションがありますか? さらに重要なことに、それらを構文的に適切な方法でチェーン/構成できますか? [1]

  2. ADT を使用するためのエレガントな手段がすでにあるので、モナド、特に構文糖衣についてはどうですか?

[1] Haskell には (.) と (>>>)、C# 拡張メソッド、およびオプションで LINQ があり、D には統一された関数呼び出し構文があります。

4

2 に答える 2

16

Functor、Applicatives、Monads などの概念をサポートするには、言語に「高次の型」が必要です。言い換えれば、言語は * -> * である型、または型から型への関数を抽象化できなければなりません。Rust は現在、このレベルの抽象化をサポートしていません。将来の方向性の可能性として議論されていますが、すぐに焦点になるとは思いません.

于 2013-08-22T17:38:18.933 に答える