Je suis un débutant absolu dans Haskell essayant pourtant de comprendre comment cela fonctionne.Haskell, la liste du nombre naturel
Je veux écrire ma propre liste paresseuse d'entiers tels que [1,2,3,4,5 ...].
Pour la liste des ceux que j'ai écrit
ones = 1 : ones
et quand essayé, fonctionne très bien:
*Main> take 10 ones
[1,1,1,1,1,1,1,1,1,1]
Comment puis-je faire la même chose pour les entiers de plus en plus?
J'ai essayé mais il échoue en effet:
int = 1 : head[ int + 1]
Et après cela comment puis-je faire une méthode qui multiplie deux cours d'eau? tels que:
mulstream s1 s2 = head[s1] * head[s2] : mulstream [tail s1] [tail s2]
Vous pourriez être confus au sujet de la différence entre() et [], puisque votre dernier exemple fonctionne (pour les listes infinies) si vous remplacez tous les [] par(). –