mirror of
https://github.com/edwinb/Idris2-boot.git
synced 2024-12-19 10:51:35 +03:00
23 lines
409 B
Idris
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)
|
|
|