开发者

Is there a Haskell/ML-like compiler to C?

开发者 https://www.devze.com 2023-02-05 01:41 出处:网络
People have written games for the iPhone in Scheme. Becau开发者_如何学Pythonse (some) Scheme-compilers compile down to C, it was easy to mix with Objective-C and integrate with XCode.

People have written games for the iPhone in Scheme. Becau开发者_如何学Pythonse (some) Scheme-compilers compile down to C, it was easy to mix with Objective-C and integrate with XCode.

I am aware of patches for Haskell and OCaml compilers to enable ARM/iOS-backends. But those appear unofficial and experimental/unstable.

I prefer a static haskell/ML-type type-system over Scheme's dynamic typing. Is there a stable ML/SML/Haskell compiler which generates C-code so that it can be used in a similar way as Scheme/Gambit-C?


I can't help with ML, but have you looked at JHC? JHC is a whole-program optimizing Haskell compiler that targets portable C, and iPhone support can be added by putting

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

in ~/.jhc/targets.ini

More Haskell information is on the Haskell wiki and the JHC manual.


(I am not certain that this toolchain has been attempted specifically on the IPhone yet.)

MLTon is a whole-program optimizing Standard ML compiler. You can keep around your C code by passing -keep g to MLTon at compilation, e.g:

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

It can also generate ARM code natively.


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

Full Haskell '98. Of course many libs now rely on more advanced ghc-only features. But Haskell '98 is plenty capable for general purpose programming.

0

精彩评论

暂无评论...
验证码 换一张
取 消