Это всего лишь один из вопросов "Я задавался вопросом...".
Scala имеет неизменные структуры данных и (необязательно) ленивые vals и т.д.
Как близко может программа Scala быть полностью чистой (в смысле функционального программирования) и полностью ленивой (или, как указывает Инго, может ли она быть достаточно нестрогой)? Какие ценности неизбежно изменяемы и какая оценка неизбежно жадна?