エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
フィボナッチ数列をアレする - デ-mk6
フィボナッチ数列 fib = 0:1:zipWith (+) fib (tail fib)で、これを新しい名前を作ることなく、かつ無名... フィボナッチ数列 fib = 0:1:zipWith (+) fib (tail fib)で、これを新しい名前を作ることなく、かつ無名関数を書かずにやってみる。まずは関数の形になおす。 fib = let fib' x y = x:fib' y (x+y) in fib' 0 1fib'のパターンを書かないように変形する。 fib = let fib' = curry $ fst &&& (snd &&& uncurry (+) >>> uncurry fib') >>> uncurry (:) in fib' 0 1Arrowさまさま…。次にfib'を、fixと無名関数使って変形。 (curry $ fix (\f->fst &&& (snd &&& uncurry (+) >>> f) >>> uncurry (:))) 0 1これでfibもなくなった。なお、変形するついでにfib'だ