y-combinator

    6

    1答えて

    私はこのようにSMLでy-コンビネータを書くことができます: 真円度のために型の不一致を回避するために、まず新しいデータ型を宣言します。 val Y = fn f => (fn x => fn a => f (unroll x x) a) (Roll (fn x => fn a => f (unroll x x) a))) は、その後、あなたが行われて、あなたはこのようにそれを使

    6

    0答えて

    Y -(つまり上の説明は、同様素敵だろう)コンビネータと、この​​から例に出くわした - Combinatorの 私はYについて学ぶためにしようとしてきました。このテーマに関する深い説明は、HaskellまたはPythonのどちらでも高く評価されます。プレアワース! コード fix :: (a -> a) -> a fix f = f (fix f) 問題 と呼ばれる機能fix戻っfixが(

    1

    1答えて

    Kotlin FP(ラムダ、関数)を使ってY-コンビネータ関数を書くことはできますか? JSで Y = λf.(λx.f (x x)) (λx.f (x x)) : function Y(f) { return (function (g) { return g(g); })(function (g) { return f(function (x) {

    4

    2答えて

    Y-Combinatorを理解しようとした1時間後...ついにそれを得ましたが、それ以外は同じことが実現できることに気付きました...私はそれが目的を完全に理解しているかどうかは分かりません。 例えば、 PythonでY-Combinatorのための目的がある場合は、別のラムダに print (lambda f,m:f(f,m))((lambda g,n: n and n * g(g,n-1) o

    4

    1答えて

    私は、関数型プログラミングのスキームには本当に新しいです。私は最近、ラムダ計算のY-コンビネータ機能に遭遇しました。このようなものはY ≡ (λy.(λx.y(xx))(λx.y(xx)))です。私はスキームでそれを実装したい、私はたくさん検索したが、私は上記の構造に正確に一致する実装が見つかりませんでした。私が見つけたそのうちのいくつかを以下に示す。 (define Y (lambda (X)

    21

    4答えて

    この関数の型(a - > a) - > aはなぜですか? Prelude> let y f = f (y f) Prelude> :t y y :: (t -> t) -> t 無限/再帰型であってはなりませんか? 私はそれがどんなタイプであろうと思う言葉にしようとしていましたが、何らかの理由でそれをすることができません。 y :: (t -> t) -> ?WTFIsGoingOnOnT

    4

    1答えて

    私はScalaでGCDを定義するには、y-コンビネータを使用しようとしている: object Main { def y[A,B](f : (A => B) => A => B) : A => B = f(y(f)) def gcd = y[(Int,Int),Int]((g) => (x,y) => if (x == 0) y else g(y % x, x)) } しか

    2

    1答えて

    私は間違った書かれた再帰的手続きを解析して修正する必要があるので、この割り当てをしています。例えば : これ: (let ((fib (lambda (n) (cond ((= n 0) 1) ((= n 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)))))))) (fib n)) これに

    1

    2答えて

    が((x y)(x P)(P z))というようなラムダ微積分関数Pを作成したいと思います。私はYコンビネータ/チューリングコンビネータの変種、すなわち形λg.(g g)の関数を使用しようとしました。なぜなら、関数自体を再現する必要があるからですが、私は前方を見ることができません。どんな助けでも大歓迎です。