1
inf : Nat
inf = S inf
minimum' : Lazy Nat -> Lazy Nat -> Lazy Nat
minimum' Z b = Z
minimum' b Z = Z
minimum' (S a) (S b) = S (minimum' a b)
main : IO()
main = do
print $ Force $ minimum' 2 inf
我想寫最小的一個懶惰的版本,以便minimum 2 inf
評估是2
,但我的代碼似乎不起作用,它永遠不會停止,最小的「懶」的版本沒有任何不同,所以如何編寫一個真正懶惰的最低版本?如何在Idris中編寫一個非常懶惰的版本?
Thx很多,這解決了我的問題。但我發現讓伊德里斯懶惰的事情花費了我們很多時間,以至於即使伊德里斯提供了語法級別的可能性,人們也很少這樣做。 – luochen1990