我是Haskell中的一名絕對新手,但仍試圖理解它是如何工作的。Haskell,自然數列表
我想寫我自己的惰性整數列表[1,2,3,4,5 ...]。
對於那些名單我已經寫
ones = 1 : ones
當嘗試,做工精細:
*Main> take 10 ones
[1,1,1,1,1,1,1,1,1,1]
我怎麼可以這樣做增加整數?
我都試過,但它確實是失敗:
int = 1 : head[ int + 1]
此後,我怎麼能作出這樣的相乘兩個流的方法?如:
mulstream s1 s2 = head[s1] * head[s2] : mulstream [tail s1] [tail s2]
如果你用()替換所有的[],你可能會對()和[]之間的區別感到困惑,因爲你的最後一個例子適用於無限列表。 – 2010-03-21 18:42:39