エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
不動点コンビネータで無名再帰を作る流れをおさらい - Qiita
どうも、趣味で関数型言語を書いている者です。 長らく関数型言語やってなかったら無名再帰を忘れかけて... どうも、趣味で関数型言語を書いている者です。 長らく関数型言語やってなかったら無名再帰を忘れかけていたので、おさらいがてら不動点コンビネータで無名再帰を作る流れを書き下します。 以下、Haskell の文法で書かれたコードをもとに説明していきます。 無名再帰とは? まずはモチベーションの確認から。 通常、再帰関数は、 といったように、関数定義の中で自分自身を呼ぶことで再帰処理を記述できます。 この例では、 sum (x:xs) = x + sum xs の部分で自分自身を呼んでいますね。 では、 関数に名前を付けることができない (無名関数しかない) 関数定義の中で自分自身を呼ぶことができない というような制限プレイの中で再帰をしたくなったらどうすればいいでしょうか? そんな要望に応えるために人類は 無名再帰 という方法を編み出しました。その名の通り、関数名に依らない再帰処理の方法です。
2019/07/20 リンク