【发布时间】:2021-11-19 07:22:38
【问题描述】:
有没有办法使用相互递归来创建使用现有状态的状态机。
fun oneElse f xs =
case xs of
1::xs' => f xs'
| [] => true
| _ => false;
fun twoElse xs =
case xs of
2::xs' => oneElse twoElse xs'
| [] => false
| _ => false
val oneTwo = oneElse twoElse [1,2,1,2];
这是我目前所拥有的,但我想要的是高阶函数采用这些通用(下一个不知道)状态。
fun oneElse f xs = ...
fun twoElse f xs = ...
val oneTwo = oneElse (twoElse (oneElse headache) ) xs
【问题讨论】:
-
我会先写下这些函数的类型,然后看看它的去向。
标签: functional-programming sml