Первую часть вашего сообщения я вообще не понял, это набор слов какой то.
Возможно, это проблема интерпретатора.
фьючер -- это объект, возвращаемый асинхронной посылкой сообщения. Он изменяется на результат, вычисления, когда вычисление выполнится.
Это не ново.
Конкретный механизм конкурирующего доступа к данным реализован виде модели акторов.
Вы отвечаете не на тот вопрос. Как конкретно организовать безопасное изменение одного объекта в двух конкурирующих процессах? Модель акторов говорит только "с помощью обмена асинхронными сообщениями". Это значит - "сделайте сами что-нибудь".
-- менее минуты назад --О каких ограничениях Вы говорите? Кто Вам мешает использовать объект в качестве примитива?
В одном случае я могу использовать объекты И скалярные типы. В другом - только объекты. Вариантов во втором случае меньше, т.е. возможности ограничены по сравнению с первым случаем. Объекты мне использовать никто не мешает, но обычно вычисления с ними медленнее.
Речь идет о возможностях интроспекции и рефлексии.
Самомодифицирующиеся программы? Ну не пробовал, не буду ничего говорить тогда. Хотя мне кажется, что с параллельными вычислениями такое подружить очень сложно - как искать ошибку, если перед глазами нет даже полного текста программы.