Рекомендую взглянуть на newLISP. Там очень интересная реализация ООП с иммутабельными объектами. Разработчик назвал её Functional Object-Oriented Programming.
> 1) Иммутабельное ООП это нонсенс. Весь смысл ООП в хранении объектами состояния.
Откуда такая информация? Никто из основоположников ООП не говорил, что основная задача объекта — хранить _изменяемое_ состояние. А, как Вы выразились, «хранить состояние» может и иммутабельный объект.
> 2) Документация на ваш newLISP
Я к newLISP не имею никакого отношения :)
> только подтверждает моё тезис. Вот пример из официального референса:
В примере показано как можно изменять состояние объекта. Примером выше было показано как этого избежать.
Scheme и классы