6

因此,我正在考虑将 Smalltalk/Squeak 用于几个爱好/学术兴趣项目,并在尝试阅读该语言时遇到了这篇不错的文章。然而,这一段让我有点傻眼:

“不幸的是,在 Smalltalk 中提供或处理模块/包完全缺乏标准化。一些方言为模块/包提供了非常强大、全面的支持(包括版本控制和编程团队的分布式访问),而其他方言提供很少或在这方面什么都没有。一些方言提供了多个可共享命名空间的健壮实现,而另一些则没有。唯一的共同点是,当提供模块/包或命名空间时,它们被实现为具体对象,方式与类和方法被实现为具体对象。”

所以,我尝试用谷歌搜索它,这显示在 Squeak wiki 上: http ://wiki.squeak.org/squeak/734 。有谁知道这(或类似的东西)现在是否是标准发行版的一部分?

4

4 回答 4

9

正如 Mue 所说,在 Squeak 社区中,这并不是一个大问题。前缀是“足够好”。前段时间我努力做的更好,仍然保持着 Smalltalk 的独特感觉:

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

...但即使很多人认为它很好,但它并没有流行起来。虽然代码或多或少有效,但还有其他几种方法 - 不幸的是,它们中的大多数只是从较小的语言中复制了一些愚蠢的方法,从而破坏了 Smalltalk 的感觉。

于 2009-02-16T15:12:35.263 回答
2

命名空间今天不是 Squeak 的一部分。但普遍的约定是给自己项目的所有类加上两个或三个字母的前缀。这不像真正的命名空间那样节省,但它是轻量级、简单且有效的。+微笑+

于 2009-02-16T11:54:23.180 回答
2

Google Summer of Code 支持名为Environments的命名空间项目。Chris Cunnington目前正在调查它,但他说它看起来很有希望。

除了名称之外,没有必要相关,Squeak 4.5 使用 Colin Putney 的 Environments 包再次解决了这个问题。

于 2010-09-03T11:39:17.377 回答
1

听起来你应该看看Newspeak

于 2009-03-11T21:55:53.183 回答