Использование идиом программирования Clojure DataFlow

Может кто-нибудь объяснить, почему и как я буду использовать API-интерфейс программирования Clojure Dataflow, поскольку я не могу найти много информации об этом в Интернете.


person yazz.com    schedule 30.12.2010    source источник


Ответы (1)


Я думаю, что очень полезно прочитать другую информацию о том, что такое программирование потока данных. Имхо, ребята из Groovy GPars имеют одни из лучших документов на поток данных. В списках рассылки GPars в прошлом было много дискуссий о потоках данных, CSP, акторах и т. д., и это отличное место, где можно задать вопросы.

Некоторые другие полезные ссылки:

Clojure impl довольно прост, в основном создавая переменные потока данных поверх ссылок и функций наблюдения. на этих реф. Вы можете найти настоящий код или тесты полезнее, чем документы.

Канонический пример, приведенный с переменными потока данных, — это электронная таблица, где каждая переменная — это ячейка в электронной таблице, определяемая значениями из других ячеек. Когда изменяется одна ячейка, изменения распространяются в порядке зависимости. Однако сами переменные потока данных несколько ограничены — я думаю, что потоки потока данных — это то, где идея становится более интересной.

В некотором смысле идея облегченных узлов обработки, запланированных для (обычно меньшего) набора фиксированных потоков, каждый из которых связан потоками, подобными очередям, описывает на очень высоком уровне все {потоки потока данных, акторы, CSP}. Во всех случаях цель состоит в том, чтобы поддерживать высокую пропускную способность, сохраняя узлы, которые должны выполнять работу, и не тратя циклы на узлы, которые этого не делают, И избегая пользователей, управляющих явными потоками и блокировками (развязанными через очереди/потоки/каналы между ними). ).

person Alex Miller    schedule 30.12.2010
comment
Изучив больше API потока данных Clojure, я думаю, вы правы, говоря, что это голые кости. Вы не знаете, планирует ли Рич перенести это за пределы экспериментальной стадии? - person yazz.com; 30.12.2010
comment
Рич не писал этого на самом деле. Я никогда не видел, чтобы кто-то использовал его или упоминал какие-либо обновления. Автор указан как Джеффри Страцхейм. - person Alex Miller; 31.12.2010