所以我想从Heroku上运行的Ruby应用程序调用Haskell函数。我知道Hubris,但它似乎不太可能在Heroku沙盒中工作,所以我正在考虑自动将Haskell代码转换为Ruby。毫不奇怪,没有任何工具可以一次完成,但似乎有一大堆Haskell-to-X和Y-to-Ruby工具。哪个可以做到这一点,或者我还有其他解决方案吗?在Heroku上从Ruby调用Haskell函数
是的,我知道任何两次生成的代码都会造成可怕的混淆代码意大利面条,只要它有效,我都可以。
所以我想从Heroku上运行的Ruby应用程序调用Haskell函数。我知道Hubris,但它似乎不太可能在Heroku沙盒中工作,所以我正在考虑自动将Haskell代码转换为Ruby。毫不奇怪,没有任何工具可以一次完成,但似乎有一大堆Haskell-to-X和Y-to-Ruby工具。哪个可以做到这一点,或者我还有其他解决方案吗?在Heroku上从Ruby调用Haskell函数
是的,我知道任何两次生成的代码都会造成可怕的混淆代码意大利面条,只要它有效,我都可以。
您可以使用multi-buildpack来拥有一个包含ruby和haskell的应用程序。 Multi-buildpack是一个buildpack,允许您将多个buildpack组合成一个。有了这个,你可以使用正式的Heroku红宝石buildpack(https://github.com/heroku/heroku-buildpack-ruby.git)和一个3rd party haskell buildpack。
Ruby和Haskell具有非常不同的评估模型。除非你有一个令人信服的案例,否则你最好尝试一个不同的整合路径。
这是来自Haskell Exchange 2012的一次演讲,讲述如何通过ampq集成haskell和ruby。 https://skillsmatter.com/skillscasts/3637-integrating-haskell-using-amqp
Haskell和Ruby是如此不同,以至于在这种情况下你最好只是重写。 – Carl
您是否知道multi-buildpack?这将允许你在同一个应用中同时运行haskell和ruby,并且至少可以解决这个问题。 – Will
@威尔:不,我不是,但那可能是票,我可以使用例如。 https://github.com/begriffs/heroku-buildpack-ghc在单独的测试版中启动Haskell应用程序。请添加此作为答案。 – jpatokal