Un exemple d'erreur de programmation Clojure commune est l'attente d'une expression paresseuse à évaluer pour les effets secondaires. Sur la surface, il semble que la vérification des expressions paresseuses inutilisées serait utile. Quelle serait la meilleure approche pour identifier ceci et d'autres common mistakes? Est-ce que le compilateur de base devrait vérifier ces situations, ou devrait-il être le domaine d'un programme de peluches à détecter? Quel serait un bon moyen de commencer la mise en œuvre?Comment créer une fibre de Clojure?
13
A
Répondre
4
Que diriez-vous:
- Multiméthodes sans méthode
:default
- strings documents manquants
- Dans les cas où l'argument d'une fonction est toujours le même type, ce qui suggère laisse deviner le type sur des arguments
- Pointage de plusieurs copies de fonctions anonymes identiques
- Pointage de la récursivité de la queue et suggestion de restructuration
- l'aide d'une macro où une fonction suffirait
- arguments non utilisés, en particulier
& rest
arguments de type - Lorsqu'une fonction utilisera bignums au lieu de seulement ints ou virgule flottante
ne sais pas comment ces chèques seraient être mis en œuvre, mais ils seraient sûrs de me sauver de moi-même la plupart du temps.
1
Quelques idées juste pour commencer les choses; il pourrait détecter le code paresseux qui ne peut jamais être réalisé, ou indiquer les zones où la réflexion sera utilisée. Bien qu'en général la clojure soit un peu jeune comme langue pour exprimer un ensemble commun d'erreurs prouvables?