首页 > 解决方案 > 现实世界应用程序的 Haskell 解释模式

问题描述

可以运行 Haskell 代码runhaskell ...或使用ghc .... 很明显,解释代码和可执行文件之间存在性能差异。

但是在现实世界的应用程序中使用解释过的 Haskell 代码是否常见?还是此功能仅出于开发目的而存在?

编辑:

以解释模式运行现实世界的应用程序是否常见的做法,例如我会用 Node.js 做的?

$ node './app.js'

$ runhaskell './Main.hs'

标签: haskellcompilationghcinterpretation

解决方案


定义“普通”。

我有一个我认为是“生产代码”的程序,它采用网页规范并生成适当的静态 HTML。规范不是外部的;它只是程序中的一部分 Haskell 源代码。大约每月一次,我更新规范并运行程序。我运行它,runghc运行时间只有几分之一秒,所以编译会浪费按键。

在更广阔的世界中,流行的stack工具带有脚本支持。如果你写一个这样的程序:

#!/usr/bin/env stack
{- stack script --resolver lts-14.17 -}

main = putStrLn "Interpreted code is awesome!"

并运行它,它基本上使用一个版本runghc来运行脚本。因此,这至少是一种为 Haskell 编写和运行解释型生产脚本的认可方法。


推荐阅读