Каковы некоторые из "чистых" объектно-ориентированных языков?

Недавнее введение в Smalltalk просвело меня по поводу применения и преимуществ "чистого" объектно-ориентированного стиля. Раньше я видел преимущества этого в Ruby, хотя наличие не-объектно-ориентированных конструкций if, unless и т.д. Казалось, что оно не носило вещей на всем протяжении.

Чистым здесь я говорю о таких вещах, как "все - объект" (включая функции через блоки или что-то подобное) и управление потоком процедурного стиля, вместо этого используя методы управления потоками в булерах и коллекциях.

Тем не менее, даже на языке, подобном Smalltalk, некоторые вещи выделяются как не ориентированные на объекты. Например, не представляется возможным назначать переменные без использования специального синтаксиса (: = вместо "is:" или аналогичного метода), а возвращаемые значения из функции, по-видимому, требуют оператора ^, который, похоже, не принадлежит 'для любого объекта.

Есть ли еще языки, которые несут этот стиль еще больше?

Ответ 1

Как долгое время Smalltalker я (по сравнению с множеством других ответов здесь) понимает, что вам нужно, - и "сам" язык идет немного дальше, по крайней мере, когда дело касается заданий. Не запрограммировав себя, я не могу прокомментировать это дальше. Другим более новым языком, похожим на "я", является Slate, также прототип, а также использует отправку сообщений для назначений.