私はM. Odersky著によるスカラ座でのプログラミングを読んでいると、彼は Functions like approximate, which call themselves as their last action, are called tail recursive. だから、私はこの試みたことを述べている: object Main extends App {
implicit
のgfortranは末尾呼び出し除去した場合、: program tailrec
implicit none
print *, tailrecsum(5, 0)
contains
recursive function tailrecsum (x, running_total) result (ret_val)
integer, intent(in) :: x
in
私はスカラを教えていて、自分のFPスキルを肥えています。 プログラミング言語の基礎(available here)の参考文献の1つに、簡単な再帰関数の便利なリストがあります。ページ27/50のページでは、swapper()関数を実装するように求められています。 Scalaで (swapper s1 s2 slist) returns a list the same as slist, but
w
講義中、私はテールコールの定義をテールコンテキストで発生するコール式として指定しました。私はThe Revised Report on the Algorithmic Language Schemeで尾のコンテキストの定義を見上げ: 末尾呼び出しが尾文脈で発生するプロシージャコールです。テールのコンテキストは誘導的に定義されます。テール・コンテキストは、特定のラムダ式に関して常に決定されることに留
単純なテール再帰を使用して、リストのリストのすべての置換を検索しようとしています。モジュールは次のようになります。再帰は順列の配列がネストされている巻き戻し残念なことにとき defmodule PermutationsSpec do
use ESpec
alias WaffleEventImporter.Permutations
describe "of/2" d
私は非常に単純なバイナリツリーの実装のためにtail再帰的foreach、reduce、map、およびtoList関数を実装することに固執しています。テストのための sealed trait Tree[+A]
case object EmptyTree extends Tree[Nothing]
case class Node[A](value: A, left: Tree[A], right