Smalltalk по-русски
вторник, Сентябрь 06, 2005
[Squeak] Marvin = Self for Squeak

Начата разработка проекта Marvin. Marvin это имплементация Self для Squeak. Проект находится на ранней стадии разработки. Для выполнения требуется модифицированная ВМ с расширенным механизмом посылки сообщения.

Замечу, что это является демонстрацией того, что, если что-то есть в ВМ, но не управляемо с уровня ST-кода, то это плохо. В данном случае, это утверждение относится к [неуправляемому] механизму диспетчеризации, из-за которого приходится модифицировать ВМ.

Ярлыки:

Comments:
Насколько сильно ST управляет виртуальной машиной?
 
что можно сделать из ST кода, для управления VM?

/я же
 
В Squeak скомпилированная VM выглядит вполне обычно. Т.е. она предоставляет предопределенный набор функциональности, и что-то принципиальное в ней изменить нельзя, только параметризировать.
Но то, как строится эта VM, заслуживает внимания. Пишется она на самом Smalltalk, точнее его подмножестве под названием SLang. В образе имеется эмулятор VM, который позволяет сразу протестировать как она будет работать. Далее запускается процесс трансляции, который на выходе дает исходник на C, который нужно скомпилировать для получения нормальной бинарной VM. Т.е. каждый в принципе может добавить нужную функциональность и построить свою версию VM без особых усилий.
Вот для того, чтобы добавить механизм диспетчеризации для реализации Self и понадобилось вносить изменения в VM и компилировать специальную версию.
 
Спасибо.

еще:
Self и Squeak будут работать с одинаковой скоростью, на такой VM?

в RSDN под ником _vovin это вы?

/я же
 
>В образе имеется эмулятор VM, который позволяет сразу протестировать как она будет работать.

т.е. можно написать и эмулировать Self без построения отдельной VM(трансляции в С, потом компиляции и т.д.)?

/я же
 
Думаю Self будет работать медленнее. При текущем подходе к кэшированию посылки сообщения эта разница может быть очень велика. Даже если и изобретут что-то особенное, все равно на таком решении Smalltalk будет в целом быстрее.

Написать и эмулировать Self естественно можно будет, благо подход уже отработан. Вообще это можно сделать хоть на перле с питоном. Единственное различие в возможности дальнейшей трансляции. И конечно работать это будет очень медленно.

Да, _vovin это я.
 
Изменяется механизм диспетчирезации. Что это дает squeak`у?
Какие дополнительние возможности?
Скажется ли это на скорости squeak?

вопросов много из-за недостаточности знаний в области smalltalk :-)
 
Например для поддержки mixins или множественного наследования. Это все становится возможным с помощью механизма делегирования, заложенного в Self.
 
mixins это хорошо.

а множественное наследование действительно нужно?

или будет просто хорошо поддерживаться делегирование?

/я же
 
Все это будет возможно, но вопрос состоит в том, будет ли изменена базовая Squeak VM.
И если будет, еще нужно будет решать, как новые расширения вводить на уровне базовой библиотеки.
 
понятно.

спасибо.
и спасибо за отстояние smalltalk на rsdn.

буквально недано перечитывал...
 
Отправить комментарий

<< Home

Популярные статьи
:: Smalltalk?!
:: Почему Smalltalk?
:: Great Leap Forward from Java to Smalltalk

Последние сообщения
:: [GST] GNU Smalltalk 2.1.12 (Stable)
:: [VAST] Instantinations VA Smalltalk 7.0 Final Rele...
:: doubleClickTimeout
:: [Dolphin] Раздача продолжается
:: Записки о языке Smalltalk
:: [VAST] Instantinations VA Smalltalk 7.0 RC1 Win
:: Smalltalk Computers
:: [ESUG2005] Innovation Technology Awards
:: ESUG2005
:: [Squeak] Алиса в Стране Чудес

Архив
Предыдущие новости / Декабрь 2004 / Январь 2005 / Февраль 2005 / Март 2005 / Апрель 2005 / Май 2005 / Июнь 2005 / Июль 2005 / Август 2005 / Сентябрь 2005 / Октябрь 2005 / Ноябрь 2005 / Декабрь 2005 / Январь 2006 / Февраль 2006 / Март 2006 / Апрель 2006 / Май 2006 / Июнь 2006 / Июль 2006 / Сентябрь 2006 / Октябрь 2006 / Ноябрь 2006 / Декабрь 2006 / Январь 2007 / Февраль 2007 / Март 2007 / Апрель 2007 / Май 2007 / Июнь 2007 / Август 2007 / Сентябрь 2007 / Ноябрь 2007 / Январь 2008 / Март 2008 / Май 2008 / Июнь 2008 / Июль 2008 / Август 2008 / Сентябрь 2008

Atom Feed
Smalltalk по-русски


Powered by Blogger