我是 Ocaml 的新手,正在编写代码来替换嵌套 Ocaml 列表中的元素。我的代码如下:
type 'a sexp = S of 'a | L of 'a sexp list
我的替换函数(它将嵌套列表中所有出现的元素 a 替换为 b )如下:
let rec subst a b list = match list with
| [] -> list
| S s :: t -> if s = a then (S b) :: (subst a b t) else (S s) :: (subst a b t)
| L l :: t -> (subst a b l) :: (subst a b t)
尽管多次尝试(将近 6 个小时),我还是无法编译这段代码。请帮忙!