タグ付けされた質問 「pointfree」

4
このフィボナッチ関数はどのように記憶されていますか?
このフィボナッチ関数はどのようなメカニズムで記憶されていますか? fib = (map fib' [0..] !!) where fib' 1 = 1 fib' 2 = 1 fib' n = fib (n-2) + fib (n-1) そして、関連するノートで、なぜこのバージョンはそうではないのですか? fib n = (map fib' [0..] !! n) where fib' 1 = 1 fib' 2 = 1 fib' n = fib (n-2) + fib (n-1)

5
「関数型プログラミング」の「ポイントフリー」スタイルとは何ですか?
私が最近気付いたフレーズは、「ポイントフリー」スタイルのコンセプトです... 最初に、この質問と、これもありました。 その後、私はここで彼らが「議論する価値のあるもう1つのトピックは、ポイントフリースタイルに対する作者の嫌いなこと」に言及していることを発見しました。 「ポイントフリー」スタイルとは?誰かが簡潔に説明できますか?「自動」カレーと関係がありますか? 私のレベルのアイデアを得るために-私は自分でSchemeを教えており、簡単なSchemeインタープリターを書きました...私は「暗黙の」カレーが何であるかを理解していますが、HaskellやMLを知りません。

2
Haskellコードのフラグメントを組み合わせて全体像を把握する
これは私がどこかで見つけたコードですが、これがどのように機能するか知りたいです: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) 出力:findIndices (== 0) [1,2,0,3,0]==[2,4]、ここpredで(==0)&xsは[1,2,0,3,0] 私の理解の一部を紹介します。 (zip [0..] xs) 上記の行が行うことは、リスト内のすべてにインデックスを付けることです。上記の入力の場合、次のようになります[(0,1),(1,2),(2,0),(3,3),(4,0)]。 (pred . snd) これはのようなものであることがわかりましたpred (snd (x))。私の質問は、xリストはzip行から作成されていますか?私はイエスに傾いていますが、私の推測は薄っぺらです。 次は、私の理解であるfstとsnd。そんなこと知ってる fst(1,2) = 1 そして snd(1,2) = …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.