Widzę, że można zamiast tego pisać funkcje takie jak map/sortBy/findIndex i inne funkcje związane z Listami (przynajmniej te indeksowane przez liczby całkowite). Czy dzieje się to w dowolnym miejscu w standardowej bibliotece, czy też muszę wykonać własne?Haskell map/sortBy/findIndex itp. Dla tablic zamiast list
Potrzebuję użyć tablicy w moim programie do aktualizacji w miejscu, ale jest też kilka lokalizacji, w których chciałbym użyć niektórych z powyższych funkcji list na nim. Czy konwersja pomiędzy tymi dwoma najlepszymi rozwiązaniami?
(Macierze Szukałem na to z Data.Array.IArray. Jestem też zadowolony zastosować jakiś inny biblioteki tablicy, która implementuje tej funkcji.)
"Potrzebuję użyć tablicy w moim programie do aktualizacji w miejscu" - aktualizacja na miejscu jest szczegółem wdrożenia ... dlaczego * naprawdę * potrzebujesz tablic? Ograniczenia przestrzeni? Ograniczenia czasowe? Próbujesz wdrożyć algorytm, który zależy od aktualizacji w miejscu? –
Masz rację, to było źle sformułowane. Chciałbym móc łatwo zaktualizować element na danym indeksie n. Oczywiście, mogę napisać funkcję, aby zrobić to dla listy, ale ogólnie jest ona nieskuteczna i nie mogę znaleźć domyślnej implementacji, więc nie wydaje się "Haskellish". Zastanawiam się, jaka była struktura danych "Haskellish", która zapewniała funkcjonalność podobną do listy, ale z wydajnym wbudowanym update-by-index. –
powinieneś sprawdzić [Data.Sequence] (http://hackage.haskell.org/packages/archive/containers/latest/doc/html/Data-Sequence.html). –