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 내 문제를 해결 많이. 하지만 Idris에서 게으른 것을 만드는 것은 Idris가 구문 수준에서 확률을 제공하더라도 사람들이 거의 그렇게하지 않을 많은 시간을 우리에게 보내고 있음을 발견했습니다. – luochen1990