13. 2. 2018 2:36
Nemělo by být ve funci
let rec sum = (list) => switch list { | Nil => 0 | Cons(num, nums) => x + sum(nums) };
správně
| Cons(num, nums) => num + sum(nums)
A druhá poznámka, pokud všechny prvky seznamu musí být stejného typu, tak se jedná o homogenní seznam.
13. 2. 2018 3:03
Ano, je to tak, díky, za opravy.
15. 2. 2018 11:24
Lenze takyto sum vyhodi pri velkom liste stackoverflow.
spravne by tam mal byt akumulator (acc) a namiesto 0 by sa mal vracat acc a namiesto "num + sum(nums)" by tam malo byt "sum(acc + num, nums)"
15. 2. 2018 12:37
Příště si povíme o tail-rekurzi, řekl bych, že tohle se dozvíme příště :)
V tomto článku je vše napsáno klasickou rekurzí např. viz definice fold.
fold
16. 2. 2018 5:53
Tak tak, příště :-)