Comment Clojure aborde-t-il la séparation des préoccupations? Puisque le code est données, les fonctions peuvent être passées en paramètres et utilisées comme retours ...Comment Clojure aborde-t-il la séparation des préoccupations?
Et, comme il y a ce principe "Mieux 1000 fonctions qui fonctionnent sur 1 structure de données, que 100 fonctions sur 100 structures de données" (ou quelque chose comme ca). Je veux dire, emballer tout une carte, lui donner un mot-clé comme clé, et c'est tout? fonctions, scalaires, collections, tout ...
L'idée de Separation of Concerns est implémentée, en Java, au moyen d'Aspects (programmation orientée aspect) et d'annotations. C'est mon point de vue sur le concept et pourrait être quelque peu limité, alors ne le prenez pas pour acquis.
Quelle est la bonne voie (voie idiomatiques) d'aller sur dans Clojure, pour éviter les WTFs des autres programmeurs _
Pourriez-vous être un peu plus précis sur ce que vous demandez. Séparation des préoccupations est un terme utilisé pour signifier 100 choses différentes. – Sami
Les aspects sont un moyen de modifier le comportement du code existant sans accès à sa source. Clojure et d'autres Lisps fournissent quelque chose de similaire à travers des variables dynamiques, qui sont essentiellement des globales avec leurs propres piles. Les fonctions de niveau supérieur (celles créées avec defn) sont des variables dynamiques et peuvent être liées avec 'binding '. La syntaxe de 'binding' ressemble à' let', mais la liaison est utilisée dans les appels à l'intérieur du formulaire de liaison. – Zak