19

人们已经在 Scheme 中为 iPhone编写了游戏。因为(一些)Scheme 编译器编译为 C,所以很容易与 Objective-C 混合并与 XCode 集成。

知道Haskell 和 OCaml 编译器的补丁可以启用 ARM/iOS 后端。但那些似乎是非官方的和实验性的/不稳定的。

我更喜欢静态 haskell/ML 类型的类型系统而不是 Scheme 的动态类型。是否有稳定的 ML/SML/Haskell 编译器生成 C 代码,以便可以以与 Scheme/Gambit-C 类似的方式使用它?

4

3 回答 3

15

我对 ML 无能为力,但你看过JHC吗?JHC 是一个针对可移植 C 的全程序优化 Haskell 编译器,可以添加 iPhone 支持

[iphone]
cc=arm-apple-darwin-gcc
merge=le32

在 ~/.jhc/targets.ini

更多 Haskell 信息在Haskell wiki和 JHC 手册上。

于 2011-01-18T09:57:31.710 回答
6

(我不确定这个工具链是否已经在 iPhone 上专门尝试过。)

MLTon是一个全程序优化的标准 ML 编译器。-keep g您可以通过在编译时传递给 MLTon来保留您的 C 代码,例如:

c:/Program Files (x86)/MLton/bin/mlton.bat" -verbose 1 -keep g test.sml

它还可以本地生成 ARM 代码。

于 2011-01-18T10:36:56.963 回答
4

nhc98:http ://www.haskell.org/nhc98/

完整的 Haskell '98。当然,现在许多库都依赖于更高级的 ghc-only 功能。但是 Haskell '98 有足够的能力进行通用编程。

于 2011-01-18T11:03:11.477 回答