我刚开始学习SML中的函数式编程,我想知道如何将以下两个函数合并为一个函数。函数isolate使用辅助函数'removes'来删除任意类型('a)列表的重复项。
fun isolate [] = []
| isolate (l as x::xs) = x::isolate(remove(x,xs))
fun remove (x,[]) = []
| remove (x,l as y::ys) = if x = y then remove(x,ys) else y::remove(x,ys)
因为需要更好地理解SML中的构造,所以如何在isolate中包含函数remove呢?这可能看起来很琐碎,但我一直在思考并且无法想出解决方法。感谢你的帮助!