2009-02-16 3 views
5

Итак, я смотрю на использование Smalltalk/Squeak для нескольких проектов с хобби/академическими интересами, и, пытаясь прочитать на языке, я наткнулся на это nice article. Тем не менее, этот пункт был мне немного ошарашил:Поддерживает ли Squeak пространства имен?

«К сожалению, есть полное отсутствие стандартизации для обеспечения или решения модулей/пакетов в Smalltalk Некоторые диалекты обеспечивают очень сильную, полную поддержку для модулей/пакетов (. включая управление версиями и распределенный доступ командами программирования), а также другие диалекты в этом отношении мало или ничего. Некоторые диалекты обеспечивают надежную реализацию множества разделяемых пространств имен, а другие нет. Единственная общая особенность заключается в том, что когда модули/пакеты или предоставляются пространства имен, они реализуются как объекты, созданные повторно, таким же образом, что классы и методы реализуются как объекты, подверженные действию ".

Итак, я попробовал поиск по сайту, и это видно на викторине Squeak: http://wiki.squeak.org/squeak/734. Кто-нибудь знает, является ли это (или что-то подобное) частью стандартного дистрибутива?

ответ

10

Как говорит Мью, это не воспринимается как большая проблема в сообществе Squeak. Префикс «достаточно хорош». Некоторое время назад я старался сделать что-то лучше и по-прежнему поддерживать уникальное чувство Smalltalk:

http://swiki.krampe.se/gohu/32

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

+0

Это было довольно аккуратно, Göran! Я более подробно рассмотрю ваши модификации Parser/Scanner/Encoder. – Eyvind

2

Пространства имен сегодня не являются частью Squeak. Но общее соглашение состоит в том, чтобы приписать всем классам собственного проекта две или три буквы. Это не так экономично, как реальные пространства имен, но это легкомысленный, простой и работает. + улыбка +

2

Google Summer of Code поддерживает проект пространства имен под названием Environments. Крис Каннингтон currently investigating, но он говорит, что выглядит многообещающим.

Не связано с необходимостью, кроме как по имени, Squeak 4.5 имеет еще один пробег по проблеме, с пакетом окружения Колина Путни.