2009-02-16 8 views
5

Also, ich bin mit Smalltalk/Squeak für ein paar Hobby/akademischen Interesse Projekte suchen, und während ich versuchte, über die Sprache zu lesen, stieß ich auf diese nice article. Dieser Absatz hat mich jedoch sprachlos ein bisschen:Unterstützt Squeak Namespaces?

„Leider gibt es ein völliger Mangel an Standardisierung für die Bereitstellung oder mit Modulen/packages in Smalltalk zu tun Einige Dialekte bieten eine sehr starke, umfassende Unterstützung für Module/Pakete (. Englisch: www.openbsd.dk/faq/pf//queueing.html Einige Dialekte bieten eine stabile Implementierung von mehreren, gemeinsam nutzbaren Namespaces, andere nicht. Die einzige Gemeinsamkeit ist, dass, wenn entweder Module/Pakete oder Namespaces werden bereitgestellt, sie werden als verdinglichte Objekte implementiert, genauso wie Klassen und Methoden als verdinglichte Objekte implementiert werden. "

Also, ich habe versucht, es googeln, und dies zeigt sich auf dem Squeak wiki: http://wiki.squeak.org/squeak/734. Weiß jemand, ob dies (oder etwas Ähnliches) jetzt Teil der Standardverteilung ist?

Antwort

10

Wie Mue sagt, wird es in der Squeak-Community nicht als großes Problem wahrgenommen. Prefixing ist "gut genug". Vor einiger Zeit habe ich versucht, schwer, etwas besser und immer noch halten das einzigartige Gefühl von Smalltalk zu tun:

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

... aber auch wenn viele Leute dachten, es war schön, es nicht verfing. Der Code funktioniert mehr oder weniger, aber es gibt auch einige andere Ansätze - leider kopieren die meisten von ihnen nur einen dummen Ansatz aus einer niedrigeren Sprache und zerstören so das Gefühl von Smalltalk.

+0

Das war ziemlich ordentlich, Göran! Ich werde Ihre Parser/Scanner/Encoder Modifikationen genauer betrachten. – Eyvind

2

Namensräume sind heute nicht Teil von Squeak. Es ist jedoch eine allgemeine Vereinbarung, allen Klassen des eigenen Projekts zwei oder drei Buchstaben voran zu geben. Das ist nicht so sicher wie echte Namespaces, aber es ist leichtgewichtig, einfach und funktioniert. + smile +

2

Google Summer of Code unterstützte ein Namespace-Projekt mit der Bezeichnung Environments. Chris Cunnington ist currently investigating es, aber er sagt, es sieht vielversprechend aus.

Nicht unbedingt mit Ausnahme des Namens erforderlich, Squeak 4.5 hat eine andere Lauf auf das Problem, mit Colin Putney Environments-Paket.