Estoy intentando comprender cómo modelar eventos en ClojureScript. Diseñar una cola de eventos en JavaScript es fácil. Simplemente mantiene una matriz (mutable) de funciones y proporciona funciones de ayuda para agregar o eliminar devoluciones de la matriz. Cuando active el evento, simplemente revise todas las devoluciones de llamada enumeradas en la matriz e inícielas una después de la otra.Haciendo programación dirigida por eventos en Clojure/ClojureScript
Este paradigma está lejos del estilo funcional; por ejemplo, no tiene sentido desencadenar las devoluciones de llamada a menos que tengan efectos secundarios. Además, se implementa utilizando una matriz mutable. Aún así, me parece que en ClojureScript uno necesita poder hacer una programación basada en eventos para hacer algo útil. Ahora, sé que Google Closure ya implementa una biblioteca de eventos, pero mi pregunta es sobre cómo implementarla de forma nativa.
Dado que todos los tipos de datos Clojure/ClojureScript básicos son inmutables, ¿cuál sería una forma idiomática de implementar este mecanismo? ¿Cambiar una referencia? ¿Recurriendo a estructuras de datos mutables del host (Java resp JavaScript)?
Si entiendo correctamente, los agentes son posiblemente la herramienta adecuada en Clojure, pero veo que actualmente no están implementados en ClojureScript.
Y utiliza el mismo concepto de átomo para almacenar todos los controladores de eventos – Ankur
404 no encontrados - ¿sabe si se ha movido a otra parte? –