我正在尝试制作一个输出以下模式的榆树程序:
3 4 2 3 2 4 ...
这是我的榆树代码:
main = lift asText agent
delta = lift (\x -> -1) (fps 1)
agent = foldp update 3 delta
update : Int -> Int -> Int
update x y = x + y + (threshold x)
threshold : Int -> Int
threshold x = if (x < 3) then x
else 0
这就是我认为代码应该说的
3 + -1 + 0 = 2
2 + -1 + 3 = 4
4 + -1 + 0 = 3
3 + -1 + 0 = 2 ... etc
然而,这不是输出。我想我对信号如何更新感到困惑......