Czy ktoś może wyjaśnić, dlaczego i jak korzystam z API programowania Clojure Dataflow, ponieważ nie mogę znaleźć zbyt wielu informacji na ten temat w Internecie.Używanie idiomów programowania Clojure DataFlow
Odpowiedz
Myślę, że najbardziej pomocne jest przeczytanie innych informacji na temat programowania danych. Imho, faceci Groovy GPars mają jedne z najlepszych dokumentów na temat dataflow. GPars mailing lists mieli dużo dyskusji na temat przepływu danych kontra CSP w porównaniu do aktorów itp. W przeszłości i jest doskonałym miejscem do zadawania pytań.
Niektóre inne użyteczne odnośniki:
- Data Flow concurrency in Groovy - Vaclav Pech (GPars)
- Flowing with the data - Wacław Pech (GPars)
- Select dataflow - Wacław Pech (GPars)
- example z artykułu GPars - Alex Miller
- Presentation - Jonas Boner (Akka/Scala)
- Wikipedia oczywiście
Clojure impl jest całkiem goły, w zasadzie budowa zmienne dataflow na szczycie literatury i oglądać funkcje na tych pozycjach piśmiennictwa. Może okazać się, że rzeczywiste code lub tests jest bardziej przydatne niż dokumenty.
Kanonicznym przykładem przywoływanym przez zmienne przepływu danych jest arkusz kalkulacyjny, w którym każda zmienna jest komórką w arkuszu kalkulacyjnym zdefiniowaną przez wartości z innych komórek. Gdy jedna komórka ulegnie zmianie, zmiany będą marszować do przodu w kolejności zależności. Same zmienne danych są jednak nieco ograniczone - myślę, że strumienie danych są tam, gdzie pomysł staje się bardziej interesujący.
W pewnym sensie idea lekkich węzłów przetwarzania zaplanowana na (zwykle mniejszym) zestawie ustalonych wątków, z których każde połączone jest strumieniami podobnymi do kolejki, opisuje na bardzo wysokim poziomie wszystkie {strumienie danych, aktorzy, CSP}. W każdym przypadku celem jest utrzymanie wysokiej przepustowości poprzez utrzymywanie węzłów, które mają pracę do wykonania, a nie marnowanie cykli na węzłach, które nie działają ORAZ unikanie użytkownikom zarządzania jawnymi wątkami i blokadami (odłączonymi od kolejek/strumieni/kanałów pomiędzy nimi).
Po dokładniejszym przyjrzeniu się API Clojure Dataflow, mam rację, mówiąc, że to "bare-bones". Czy wiesz, czy Rich ma zamiar przenieść eksperymenty na później? – Zubair
Rich nie napisał tego afaiku. Nigdy nie widziałem, żeby ktoś go używał lub wspominał o jakichkolwiek aktualizacjach. Autor wymieniony jako Jeffrey Straszheim. –