Functional programming 树型递归映射函数

Functional programming 树型递归映射函数,functional-programming,f#,Functional Programming,F#,假设我有以下树类型: 键入T这里有一个提示。这是一个尾部递归映射函数 let mapTR f l = let rec loop acc = function | [] -> List.rev acc | x::xs -> loop (f x::acc) xs loop [] l 当定义显示为列表时,为什么将其称为树类型?答案中的好提示:使用带有累加器的helper函数。它是一种具有可变数量子树的

假设我有以下树类型:
键入T这里有一个提示。这是一个尾部递归映射函数

    let mapTR f l =
        let rec loop acc = function
            | [] -> List.rev acc
            | x::xs -> loop (f x::acc) xs
        loop [] l

当定义显示为列表时,为什么将其称为树类型?答案中的好提示:使用带有累加器的helper函数。它是一种具有可变数量子树的树类型。总之,我得到了答案。我明白了,
sbs
就像
子树(或者
子树
)。我想我已经习惯了在更大(更多人)的代码库中使用更长的名字。
    let mapTR f l =
        let rec loop acc = function
            | [] -> List.rev acc
            | x::xs -> loop (f x::acc) xs
        loop [] l