我对使用功能语言(最好接近Haskell)进行Android编程感兴趣。 Frege似乎是一个不错的选择。我发现有人已经做了这样的proof-of-concept application,但是我找不到它的来源或类似的东西。
所以我的问题是,如何在Android上运行Frege程序,它有多困难以及最终的障碍是什么?
最佳答案
我看到的主要障碍是,目前无法将frege源代码编译为实现某个接口(interface)或扩展另一个类的java类。
相反,从frege模块生成的java类只是静态方法和您定义的其他内容的 namespace 。
因此,要制作一个琐碎的Android项目,从frege调用java(这很容易),而且从java调用frege是不够的。换句话说,从字面上看,您将需要完全的* inter *可操作性。
当然,这是可以做到的,但是必须说,代码生成并不是为从Java轻松使用而专门设计的。
我还没有完成一个Android项目,因此我不确定一个人需要多少粘合代码。
最后的警告:Gabriel Riba的先前工作是使用较早版本的编译器完成的。甚至还有一个指向支持JDK6的frege发行版的链接-请不要使用该链接,因为它与最新版本不兼容。
如果您仍然愿意接受它,则可以通过上述Google组获得所有可能的支持。如果有人提出并记录了一些“规范”的方法来实现这一目标,那就太好了。