是否建议将Haskell作为脚本引擎嵌入到ARM上的iOS应用中?

| 几个月前,我试图将Haskell编译为iOS应用程序。 不幸的是,我能找到的唯一稳定/维护的实现是GHC,因此我尝试了某种交叉编译,但是由于缺少用于ARM / iOS的RTS而失败了。 我意识到这对我来说还不容易。因此,我需要一些建议。我知道有一个适用于iOS的补丁,但现在不再继续。我考虑过NHC / YHC,但无法使用删除的实现。如果我想错了,请纠正我。     
已邀请:
        使用GHC-iPhone和外部功能界面,这相当容易 作为参考,David Pollak的示例实现了一个用Haskell编写的Lisp解释器,该解释器在iPad应用程序中运行:   https://github.com/dpp/LispHaskellIPad 在
main.m
中声明Haskell主函数的示例:
extern int Haskell_main(int argc, char* argv[]);

int main(int argc, char* argv[])
{
    Haskell_main(argc, argv);
}
在他的
Main.hs
中,一系列异类函数声明使他可以访问可可库:
foreign import ccall safe \"openWindow\" openWindow
         :: IO CInt

data ViewController_struct
type ViewController = Ptr ViewController_struct


type RunStr = ViewController -> CString -> IO ()
foreign import ccall safe \"wrapper\" wrapFuncInvoke :: RunStr -> IO (FunPtr RunStr)
foreign import ccall safe \"setLispEval\" setLispEval :: ViewController -> FunPtr RunStr -> IO ()

foreign import ccall safe \"addToResult\" addToResult :: ViewController -> CString -> IO ()

data ObjCId_struct
type ObjCId = Ptr ObjCId_struct

data ObjCSEL_struct
type ObjCSEL = Ptr ObjCSEL_struct

foreign import ccall safe \"objc_msgSend\" objc_msgSend :: ObjCId -> ObjCSEL -> IO ObjCId
foreign import ccall safe \"objc_msgSend\" objc_msgSendInt :: ObjCId -> ObjCSEL -> Int -> IO ObjCId
foreign import ccall safe \"sel_registerName\" sel_registerName :: CString -> IO ObjCSEL
foreign import ccall safe \"objc_lookUpClass\" objc_lookUpClass :: CString -> IO ObjCId
    

要回复问题请先登录注册