haskell - 现实世界应用程序的 Haskell 解释模式
问题描述
可以运行 Haskell 代码runhaskell ...
或使用ghc ...
. 很明显,解释代码和可执行文件之间存在性能差异。
但是在现实世界的应用程序中使用解释过的 Haskell 代码是否常见?还是此功能仅出于开发目的而存在?
编辑:
以解释模式运行现实世界的应用程序是否常见的做法,例如我会用 Node.js 做的?
$ node './app.js'
$ runhaskell './Main.hs'
解决方案
定义“普通”。
我有一个我认为是“生产代码”的程序,它采用网页规范并生成适当的静态 HTML。规范不是外部的;它只是程序中的一部分 Haskell 源代码。大约每月一次,我更新规范并运行程序。我运行它,runghc
运行时间只有几分之一秒,所以编译会浪费按键。
在更广阔的世界中,流行的stack
工具带有脚本支持。如果你写一个这样的程序:
#!/usr/bin/env stack
{- stack script --resolver lts-14.17 -}
main = putStrLn "Interpreted code is awesome!"
并运行它,它基本上使用一个版本runghc
来运行脚本。因此,这至少是一种为 Haskell 编写和运行解释型生产脚本的认可方法。
推荐阅读
- excel - 使用脚本字典后格式化文本
- spring-boot - 在“可执行 JAR”中包含和使用本机 lib 文件(.so、.dylib)
- go - 为什么 atomic.StoreUint32 优先于 sync.Once 中的正常分配?
- corda - 我可以将corda状态的部分字段暴露给同一网络中的另一个cordapp吗?
- excel - 我的循环(for next)有问题,我想不通?
- laravel - 如何从laravel中的关系表中获取特定列?
- python - 使用 pyinstaller 和 googleapiclient 将 py 转换为 exe
- c# - ASP.NET devexpress GridDataTextColumn 导出 excel 空值
- javascript - 我怎样才能找到平均分
- php - 在 Laravel 8 中计算 Job Batch 的执行时间