compatibility - F-Script 与 Smalltalk 兼容吗?

标签 compatibility smalltalk f-script

F-Script 语法看起来像 Smalltalk。它与任何 Smalltalk 标准兼容吗?

最佳答案

F-Script 与 Smalltalk 相似,但两者没有真正意义上的兼容。

  • 没有任何版本的 F-Script 可以读取 ANSI 标准更改格式,因此您立即需要进行一些更改。
  • F-Script 没有 Smalltalk 类层次结构;相反,它包装了 Cocoa 类层次结构。这里有一些重要的差异:
    • 方法名称不同。举个随机的例子,Smalltalk 的 copyFrom: 变成 Cocoa 的 substringFromIndex:
    • 类(class)不同。 String 及其 friend 被 NSString 替换。
    • 元类层次结构完全不同。 F-Script 中完全缺少像 Behavior 这样的主要类。
  • F-Script 1 根本不允许您定义新类; F-Script 2 修复了这个问题,但类定义的格式与 Smalltalk ANSI 标准没有相似之处,并且与最接近的实用模拟 GNU Smalltalk 选择的格式不兼容。
  • F-Script 添加了数组理解运算符,方法是添加 Smalltalk 标准中不存在的语法,并且实践中任何其他 Smalltalk 实现也不遵循该语法。它选择的语法与传统 Smalltalk 实现识别点的方式相冲突。

这就是我的想法。

我知道 F-Script 和 Smalltalk 看起来很相似,但是,为了引用萧伯纳的说法,它们是两种由共同语法划分的语言。一旦您开始在两者中工作一段时间,您就会立即体验到它们之间不可调和的差异的深度。

关于compatibility - F-Script 与 Smalltalk 兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323346/

相关文章:

web-applications - 有没有一种简单的方法可以将 API 添加到 Seaside Web 应用程序?

smalltalk - Pharo 4 FFI 异步回调

ios - 如何在运行时访问类的源代码级定义?

javascript - 编写无需 webpack 即可运行的 webpack 浏览器代码

c++ - 在 Windows XP、Vista、7 和 8 中使用旧操作系统的兼容性功能有什么效果?

c# - 如何从代码以兼容模式执行程序?

android - 除了使用 FileProvider 获取用于安装 Android apk 的 uri 之外,还有其他方法吗?

Smalltalk 网页开发软件

cocoa - 在 Cocoa 程序中访问 Swift REPL