たとえば、次の関数はアキュムレータを持たないため、まだテール再帰的ですか? belong:: (Ord a) => a -> [a] -> Bool
belong a [] = False
belong a (h:t)
| a == h = True
| otherwise = belong a t
機能のすべての計算は、再帰呼び出しの前に処理され、尾を再帰的とみなされ
私は運動 let lastchar (s:string) = s.Substring(s.Length-1, 1)
let lastchar_substring (s:string) len = s.Substring(len-1, 1)
let rec levdist (sa:string) (sb:string) alen blen = match alen, blen with