来自(SWI)Prolog我发现很难让Haskell动态提供输出.
最简单的例子,我希望Haskell在每次迭代时打印一些东西:
fac 0 = 1
fac n = fac ( n-1 ) * n
Run Code Online (Sandbox Code Playgroud)
或者我想从一个永不停止的程序中获得输出...
-- A possible halt statement...
-- find_primes l 100 = l
find_primes l n = if ( is_prime l n ) then find_primes nn s else find_primes l s
where s = n + 1
nn = n:l
is_prime :: Integral a => [a] -> a -> Bool
is_prime [] n = True --print the prime number on the fly
is_prime (h:t) n = …Run Code Online (Sandbox Code Playgroud)