Один пример общей программной ошибки Clojure ожидает, что ленивое выражение будет оценено для побочных эффектов. На поверхности это кажется проверяющим на неиспользованные ленивые выражения, было бы полезно. Каков был бы лучший подход к идентификации этого и других частых ошибок? Базовый компилятор должен проверить на эти ситуации, или это должен быть домен программы линта для обнаружения? Каков был бы хороший способ запустить реализацию?
Как насчет:
:default
method& rest
, тип argumentsНе уверен, как эти проверки будут реализованы, но они наверняка спасут меня от самого себя большую часть времени.
.Пара идей просто для начала; он может обнаружить ленивый код, который никогда не может быть реализован, или указать на области, где будут использоваться отражения. Хотя, в общем, клоуер немного молод, как язык, чтобы выразить общий набор доказуемых ошибок?
.