【问题标题】:Does Squeak support namespaces?Squeak 是否支持命名空间?
【发布时间】:2009-02-16 09:49:08
【问题描述】:

所以,我正在考虑将 Smalltalk/Squeak 用于几个爱好/学术兴趣项目,并在尝试阅读语言时遇到了这个 nice article。不过这一段让我有点傻眼:

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

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

【问题讨论】:

    标签: namespaces smalltalk squeak


    【解决方案1】:

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

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

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

    【讨论】:

    • 这很整洁,Göran!我将深入了解您的 Parser/Scanner/Encoder 修改。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      Google Summer of Code 支持名为 Environments 的命名空间项目。 Chris Cunnington 是 currently investigating 它,但他说它看起来很有希望。

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

      【讨论】:

        【解决方案4】:

        听起来你应该看看Newspeak

        【讨论】:

          猜你喜欢
          • 2012-09-26
          • 2017-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多