Говорят, что использовать восклицательные знаки при назначении нечистых функций.
Но я не совсем понимаю "нечистые" функции. Являются ли они
- функции изменяют состояние своих аргументов (через reset!, alter, java-object-methods,...)
- возникают побочные эффекты (например, print, spit,...)
- или оба?
Очевидно, что официальный clojure apis не имеет ошибок в каждом случае выше. Интересно, когда я должен положить их и нуждаться в вашей помощи, чтобы сделать мой код более ясным.