多くの関数型言語で表示されるC#で固定小数点ジェネレータを定義しようとしました。私はfoldrが固定小数点ジェネレータの点で通常定義されると信じています。私はハスケルの定義であることを示し、それから私はC#で何を持っているかを示します。どんな助けでも大歓迎です。 //Haskell
fix f = f (fix f)
//C# (Many attempts)
public static F
は、あなたが以下のように3つのアリティ1の機能、2と3を持っていると仮定します。 (defn I [x] x)
(defn K [x y] x)
(defn S [x y z] (x z (y z)))
Clojureのは評価するための評価関数やイディオムを持っています:アリティ2のparital機能を返す (I K S I I) as (I (K (S (I (I)))))
? 私は
、「パワーがドットである」、彼は(.) . (.) . (.)のタイプは (a -> b) -> (c -> d -> e -> a) -> c -> d -> e -> b であることを示している私は、GHCiの中にその型を示すことによって、それを見ることができます。しかし、なぜか知りたいのですが。 (.) . (.)と(.) . (.) . (.)から(.)からのパラメータの定期的な変化のパタ
私はJavaScriptでCominatorsを抱いていて、Wikipediaを見つけたときにSがうまく動作することを誇りに思っていました。「YコンビネータはSKI-計算:Y =のS(K(SII))(S(S(KS)K)(K(SII)))」ので、私はそれを試していた:私は間違って var I = function (x) {
return x;
};
var K = f