エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
スタックレスScala
スタックレスScala Stackless Scala With Free Monadsを参考にTrampolineやそれを抽象化したFreeを紹介... スタックレスScala Stackless Scala With Free Monadsを参考にTrampolineやそれを抽象化したFreeを紹介します。 Abstract Scalaコンパイラの末尾再帰除去は自分自身を呼び出すメソッドのみに限定されます。 今回はどのような再帰呼び出しでもスタックを消費しないようにする方法を紹介します。 Introduction Scalaでプログラムを書いてjava.lang.StackOverflowErrorに遭遇した経験があることでしょう。 def factorial(n: BigInt): BigInt = if (n <= 1) 1 else n * factorial(n - 1) scala> factorial(10000) java.lang.StackOverflowError at java.math.BigInteger.sub

