Qualcuno può spiegare perché e come vorrei utilizzare l'API di programmazione Clojure Dataflow poiché non riesco a trovarne molto su Internet.Utilizzo degli idiomi di programmazione di Clojure DataFlow
risposta
Penso che sia più utile leggere altre informazioni su quale sia la programmazione del flusso di dati. Imho, i ragazzi di Groovy GPars hanno alcuni dei migliori documenti su dataflow. I GPars mailing lists hanno avuto molte discussioni su dataflow vs CSP vs attori ecc. In passato ed è un ottimo posto per fare domande.
Alcuni altri link utili:
- Data Flow concurrency in Groovy - Vaclav Pech (GPars)
- Flowing with the data - Vaclav Pech (GPars)
- Select dataflow - Vaclav Pech (GPars)
- Un example dall'articolo GPars - Alex Miller
- Presentation - Jonas Boner (Akka/Scala)
- Wikipedia naturalmente
Il Clojure impl è piuttosto scarno, fondamentalmente costruzione variabili di flusso di dati in cima arbitri e funzioni su tali arbitri guardare. Potresti trovare l'effettivo code o lo tests più utile dei documenti.
L'esempio canonico citato con le variabili del flusso di dati è quello di un foglio di calcolo, in cui ogni variabile è una cella nel foglio di calcolo definita dai valori di altre celle. Quando una cella cambia, le modifiche si propagano in avanti in ordine di dipendenza. Le variabili dei flussi di dati stessi sono piuttosto limitate - penso che i flussi di flussi di dati siano dove l'idea diventa più interessante.
In un certo senso, l'idea di nodi di elaborazione leggeri pianificati su un set (di solito più piccolo) di thread fissi, ciascuno connesso da flussi simili a una coda descrive ad un livello molto alto tutti {stream di flussi di dati, attori, CSP}. L'obiettivo è in tutti i casi di mantenere un elevato throughput mantenendo i nodi che hanno lavoro da fare e senza sprecare cicli su nodi che non lo fanno AND per evitare che gli utenti gestiscano thread e lock espliciti (disaccoppiati tramite le code/streaming/canali tra loro).
- 1. Clojure piedistallo Dataflow Modello - passaggi corretti
- 2. Qual è la differenza tra programmazione Dataflow e programmazione reattiva?
- 3. idiomi di assembly x86
- 4. Utilizzo di Clojure con Vaadin
- 5. Programmazione Clojure "DSL"
- 6. Programmazione funzionale/Clojure di apprendimento - esercizi pratici?
- 7. L'ordinamento degli obiettivi in `core.logic` di Clojure
- 8. Utilizzo di deflozione Clojure come funzione parametrizzata
- 9. Utilizzo di clojure e leiningen con IDE
- 10. Cambia tema barra degli strumenti di programmazione
- 11. Ordine di valutazione degli argomenti di funzione in Clojure
- 12. Google Dataflow vs Apache Storm
- 13. Idiomi di Lisp comuni per il controllo degli argomenti e altre paranoie?
- 14. Stato longevo con Google Dataflow
- 15. Programmazione event-driven in Clojure/ClojureScript
- 16. Skip articolo in Dataflow TransformBlock
- 17. Programmazione funzionale del database in Clojure
- 18. Annullamento di lavori senza dataloss su DataFlow
- 19. Esempi di utilizzo degli alberi Judy
- 20. Utilizzo degli attributi di assieme in F #
- 21. Modellazione/programmazione della roulette europea in Clojure
- 22. Gestione degli errori idiomatici in Clojure
- 23. Esempi idiomi, di classe e open source di interfacce Cocoa?
- 24. Utilizzo di classi di utilità nella programmazione Android
- 25. Utilizzo di Windows Firewall al livello di programmazione
- 26. Utilizzo di Clojure con un server REST basato su annotazione
- 27. Utilizzo della classe JRuby fornita in una gemma di Clojure
- 28. Dataflow miscelazione Integer e tipi lunghi
- 29. È questo clojure idiomatico?
- 30. Utilizzo di jQuery.getJSON nell'estensione di Chrome
Dopo aver esaminato più a fondo l'API Clojure Dataflow, penso che abbiate ragione a dire che si tratta di "bare-bones". Sai se Rich ha in programma di spostare questo passato nella fase sperimentale? – Zubair
Rich non l'ha scritto in anticipo. Non ho mai visto nessuno usarlo o menzionare eventuali aggiornamenti. Autore elencato come Jeffrey Straszheim. –