【问题标题】:A Smalltalk implementation with the perfect feature set具有完美功能集的 Smalltalk 实现
【发布时间】:2011-08-04 08:11:12
【问题描述】:

我更喜欢通过标准 bash 终端与编程语言交互。虽然 Squeak 和 Pharo 有很好的文档记录,但它们似乎没有 CLI,只有一个 VM GUI。

GNU Smalltalk 和 Slate 有一个普通的 CLI,但没有适用于 Linux、Mac 或 Windows 的安装程序——它们需要在 Windows 上进行复杂的 MSYS 配置。

似乎没有同时具有 CLI 和多平台安装程序的 Smalltalk 实现。我很想学习这种语言,但我似乎找不到适合我的 Smalltalk。

Squeak 和 Pharo 是否有秘密的 CLI 模式?有谁知道 GST 或 Slate 安装程序发布在哪里?是否还有其他具有这两个功能的免费开源 Smalltalks?

【问题讨论】:

  • 全部:Coral 似乎无法在我的系统 (Mac OS X) 上运行。
  • 珊瑚还很年轻。我希望能在 9 月发布功能性版本。我们需要外部反馈,因此非常欢迎大家在mailing listissue tracker 上首先讨论需要哪些改进。
  • Smalltalk = 语言 + 环境。如果你真的想了解这门语言的特别之处(虽然我刚开始时不想听到这个),并让它重新排列你的神经元(这应该是学习一门新语言的重点),除了图像及其工具之外别无选择(直到你“得到它”并制作下一代工具)。没有环境,Smalltalk 只是更好的 Ruby(更少的语法、任何参数的块、实时系统、更好的 Web 框架......)
  • 我会认真对待@SeanDeNigris 的评论。如果您是learning Smalltalk,您应该以正确的方式进行操作。 Smalltalk 语言几乎没有什么可学的。你可以在几个小时内拿起它。 Smalltalk Paradigm,Smalltalk 的 Tao 是你想学的,是在 IDE 中完成的,实际上它是 is 对象系统和 IDE。如果您想从 CLI 中学习,您可以使用 IDE 将击键推送到终端,甚至是这里建议的 Coral 终端。编码的管理和组织在 Java、Python、Ruby 等方面倒退了一步。

标签: smalltalk squeak pharo gnu-smalltalk


【解决方案1】:

是的,Pharo 有一个“秘密”CLI 模式。它被称为Coral

【讨论】:

  • 基于其依赖项(OSProcess、PetitSmalltalk、PetitParser、AST-Core),这也应该在 Squeak 中工作。
  • 几乎:Coral 在FileSystem 包中使用FSDiskFileSystem,它可能会或可能不会在Squeak 中工作/加载。我还没有机会尝试。
  • Coral 正是我想要的,但它似乎不适用于我的电脑。在按照说明将coral.sh 添加到PATH 之后,$ coral scriptHello.cst 不会执行任何操作。我的 Mac 扩展坞会变宽以容纳一个图标,然后立即再次缩小。
  • mcandre:听起来像是一个错误的虚拟机。我目前在 Mac 上与 Coral 一起使用的 VM 是 Cog Carbon one
【解决方案2】:

扩展 Lukas 的回答,这是一个将 Coral 加载到 Squeak 中的脚本:

Installer ss
    project: 'OSProcess';
    install: 'OSProcess-dtl.63'.
Installer ss
    project: 'rb';
    install: 'AST-Core-lr.88'.
Installer lukas
    project: 'petit';
    install: 'PetitParser-lr.218';
    install: 'PetitTests-lr.34';
    install: 'PetitSmalltalk-lr.47'.
Installer ss
    project: 'fs';
    install: 'FS-Core-StephaneDucasse.4';
    install: 'FS-AnsiStreams-cwp.1';
    install: 'FS-FileStream-cwp.1';
    install: 'FS-Disk-cwp.1'.
Installer ss
    project: 'CoralSqueak';
    install: 'Coralsqueak-fbs.2';
    install: 'Coral-fbs.55'.

它基于接近头部的 Coral 版本(Damien 刚刚开始重新设计 Coral 的部分内容),并为 Squeak 添加了一些 Coral 所期望的方法。

安装后,按照标准说明进行操作:

SmalltalkImage current saveAs: 'coral.image'.
CoralInstaller generateCoralScript.
CoralInstaller generateCoralDebugScript.
"Optionally: CoralInstaller generateAllExamples."

然后从你的命令行:

$ chmod +x coral.sh coralDebug.sh
$ ./coral.sh scriptCarpet.cst

【讨论】:

  • 非常感谢,但 Coral 在我的电脑上无法使用。在按照说明将coral.sh 添加到PATH 之后,$ coral.sh scriptHello.cst 不会执行任何操作。我的 Mac 扩展坞会变宽以容纳一个图标,然后立即再次缩小。
猜你喜欢
  • 2020-05-26
  • 2022-01-22
  • 2022-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
相关资源
最近更新 更多