doo*_*fin 6 haskell ghc android-ndk
我想写一个类型的Haskell函数(模块):String -> String在Android中调用.最简单的方法似乎是使用JHC生成C代码,然后使用Android NDK生成共享库,但我找不到任何JHC文档.JHC是否也使用Cabal来构建?JHC是否足够稳定以使用Parsec或Attoparsec库?
早在 2011 年,我就以类似的方式使用 JHC 取得了有限的成功,但目标是 iOS 而不是 Android。最初的结果很好,只是让程序运行起来,但我们最终放弃了 JHC,转而使用 GHC,因为我们开始在使用 Parsec 的程序上遇到奇怪的编译时错误。请记住,这是 2011 年的事,因此 JHC 自那以后可能已经有了很大的进步。
如果您想给 GHC 一个机会,我建议您查看这个使用 GHC 7.8 编译 Android 游戏的示例。我还没有愤怒地使用它,但我确实设法让它在 Docker 上运行,甚至从头开始重建游戏并将其安装在真正的 Android 设备上,所以这种方法绝对有优点。
截至 2017 年 8 月的更新: Moritz Angermann 发布了有关使用 GHC 交叉编译器针对 Android 的详细说明。