Secondo F # 's list
documentation:Perché implementare un elenco immutabile come elenco collegato?
"Una lista in F # è un ordinato, immutabile serie di elementi dello stesso tipo"
"elenchi in F # sono implementati come elenchi collegati singolarmente "
Perché non implementarlo in modo contiguo in memoria poiché è immutabile e quindi ha una dimensione fissa? Perché usare mai un F # list
invece di un F # array
?
Correlati: [Perché esistono elenchi di controllo associati alla programmazione funzionale?] (Http://programmers.stackexchange.com/questions/132309/why-are-cons-lists-associati-con-funzionalità-programmazione) – ryanpattison
Una cosa da considerare è che le liste non sono effettivamente dimensioni fisse - scrivi un sacco di codice che assomiglia a 'se qualcosa poi a: :(recurse ...) else []' qui, costruendo la lista con una lista collegata è naturale –
@JohnPalmer sì, sono * sono * dimensione fissa. Quando anteponi un elemento, questo crea un * nuovo elenco *. L'elenco originale esiste ancora e non è stato modificato in alcun modo. – latkin