Haskell 真实世界应用程序的解释模式
Haskell interpreted mode for real world app
可以 运行 Haskell 使用 runhaskell ...
编码或使用 ghc ...
编译。很明显,解释代码和可执行代码之间存在性能差异。
但是在实际应用程序中使用解释 Haskell 代码是否很常见?
还是此功能仅用于开发目的?
编辑:
在解释模式下 运行 真实世界的应用程序是否常见,例如,Node.js?
$ node './app.js'
$ runhaskell './Main.hs'
定义"common".
我有一个我认为 "production code" 的程序,它采用网页规范并生成适当的静态 HTML。规范不是外部的;它只是程序中的一大块 Haskell 源代码。大约每月一次,我会更新规范和 运行 程序。我 运行 它与 runghc
和 运行 时间是一秒钟的一小部分,所以编译会浪费击键。
在更广阔的世界中,流行的 stack
工具带有脚本支持。如果你写这样的程序:
#!/usr/bin/env stack
{- stack script --resolver lts-14.17 -}
main = putStrLn "Interpreted code is awesome!"
和运行它,它基本上使用了runghc
到运行的脚本版本。因此,这至少是一种为 Haskell.
编写和 运行 解释生产脚本的认可方法
可以 运行 Haskell 使用 runhaskell ...
编码或使用 ghc ...
编译。很明显,解释代码和可执行代码之间存在性能差异。
但是在实际应用程序中使用解释 Haskell 代码是否很常见? 还是此功能仅用于开发目的?
编辑:
在解释模式下 运行 真实世界的应用程序是否常见,例如,Node.js?
$ node './app.js'
$ runhaskell './Main.hs'
定义"common".
我有一个我认为 "production code" 的程序,它采用网页规范并生成适当的静态 HTML。规范不是外部的;它只是程序中的一大块 Haskell 源代码。大约每月一次,我会更新规范和 运行 程序。我 运行 它与 runghc
和 运行 时间是一秒钟的一小部分,所以编译会浪费击键。
在更广阔的世界中,流行的 stack
工具带有脚本支持。如果你写这样的程序:
#!/usr/bin/env stack
{- stack script --resolver lts-14.17 -}
main = putStrLn "Interpreted code is awesome!"
和运行它,它基本上使用了runghc
到运行的脚本版本。因此,这至少是一种为 Haskell.