如果我要将一个程序投入生产,我需要该程序做几件事,以便将其视为"操作化" - 即,工程师和操作人员以可测量和可验证的方式运行和维护.就我的目的而言,一个可操作的计划必须:
在Scala世界中,有很好的库可以处理至少前三个要求.例子:
至于部署,Scala世界采用的一种方法是将字节码和包含一个程序的库捆绑在一起,例如assembly-sbt,然后使用像Capistrano这样的工具将生成的包("胖JAR")推送到远程服务器通过SSH并行执行命令.这不是一个需要特定语言工具的问题,但我很好奇Haskell社区中是否存在这样的工具.
可能有Haskell库提供了我上面描述的特征.我想知道哪些库可以被认为是"最好的"; 也就是说,它是最成熟,维护良好的,常用于Haskell社区,是Haskell最佳实践的典范.
如果有任何其他库,工具或实践使Haskell代码"生产就绪",我也很想知道这些.