26. 9. 2023 1:04
Myslím, že spíš než seznamy teď ve funkcionálním programování letí pole. Například Lean má #[1, 2, 3] s přístupem O(1).
26. 9. 2023 7:26
Nebo vektory v Clojure, kde je pristup nejakych log_32 (N), tedy vlastne taky O(1) :)
26. 9. 2023 7:44
Hezký logaritmus.
26. 9. 2023 10:04
No v podstate je to plocha struktura a soucasne nabizi rozumne sdileni hodnot (jestli je na Clojure neco elegantniho, tak prave vektory a mapy, jak vypadaji uvnitr).
27. 9. 2023 7:29
Umožňuje to structural sharing? Asi předpokládám, že ano.
27. 9. 2023 12:06
Má to různé optimalizace. Například l := l.push 1234 prostě jen přidá prvek in situ, pokud na ten seznam existuje jen jedna reference.
l := l.push 1234