2013-01-04 20 views
6

Dwa powiązane pytania.Programowanie dynamiczne w repa

  • Czy istnieje powód, dlaczego nie ma zmienny (ST monada) realizacja repa tablic? Odpowiednik Data.Vector.Mutable, ale o kształcie.

  • związane z tym, jak jest jeden powinien wdrożyć algorytmy programowania dynamicznego (elementy tablicy liczonego od innych elementów samym tablicy), w rozpakowanych reprezentacji?

Odpowiedz

5

Repa jest przeznaczony do programowania równoległego danych masowych. Musi być możliwe obliczenie elementów tablicy w dowolnej kolejności, w przeciwnym razie metody oceny Repa nie będą działać.

Jeśli chcesz destrukcyjnie zaktualizować element tablicy na podstawie innych elementów tablicy, to ogranicza to kolejność oceny. Jeśli nie możesz wyrazić swojego algorytmu w sposób równoległy, to Repa nie pomoże ci.

+2

Nadal byłoby użyteczną funkcją, nawet w przypadku braku paralelizmu, ze względu na interfejs "kształt" repa. W przeciwnym razie jeden jest zmuszony użyć starego Data.Array dla ogromnej klasy algorytmów. –