Is there a Haskell/ML-like compiler to C?
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.
精彩评论