从agda中的Stream访问元素

时间:2015-03-31 13:17:07

标签: haskell stream agda

我制作了一个(N x N)类型的流。我怎样才能访问该对中的各个元素?

genL : ℕ →  Stream (ℕ × ℕ) →  Stream (ℕ × ℕ)
genL k ((x , y) :: xs)  = if ((y * k) lt x) then (x , y) :: (♯ genL k (♭ xs))
                          else genL k (♭ xs)

它说流中没有构造函数。我有一个解决方案,我将创建对的记录然后它将工作。除此之外,还有其他任何方式来处理这个元素。

1 个答案:

答案 0 :(得分:1)

构造函数为_∷_(类型为\::以获取),而不是_::_

无论如何,你的定义没有效率,也没有说服终止检查员。