Idris2/tests/idris2/lazy001/Lazy.idr
Edwin Brady a972778eab Add test script
They don't all pass yet, for minor reasons. Coming shortly...
Unfortunately the startup overhead for chez is really noticeable here!
2020-05-19 18:25:18 +01:00

23 lines
409 B
Idris

infixr 5 ::
namespace List
public export
data List a = Nil | (::) a (List a)
namespace Stream
public export
data Stream a = (::) a (Inf (Stream a))
ones : Stream Integer
ones = num :: ones
where
num : Integer -- gratuitous where for a regression test!
num = 1
data Nat = Z | S Nat
take : Nat -> Stream a -> List a
take Z xs = Nil
take (S k) (x :: xs) = List.(::) x (take k xs)