Haskell Formac,为什么要使用';伦哈斯克尔';指挥部?
阅读: 这需要将Haskell for Mac命令行工具安装为 在前一篇文章中概述。这些工具包括一个名为 runhaskell,它以“脚本模式”运行Haskell程序,即 被解释,而不是编译(很像Python 解释器运行Python脚本) 为什么要提供一个在脚本模式下运行haskell的工具Haskell Formac,为什么要使用';伦哈斯克尔';指挥部?,haskell,Haskell,阅读: 这需要将Haskell for Mac命令行工具安装为 在前一篇文章中概述。这些工具包括一个名为 runhaskell,它以“脚本模式”运行Haskell程序,即 被解释,而不是编译(很像Python 解释器运行Python脚本) 为什么要提供一个在脚本模式下运行haskell的工具 在解释代码时,这是否意味着它在脚本模式下会运行得更慢?是的,它会运行得更慢,但取决于应用程序,这可能根本不重要。许多有趣的任务实际上并不需要大量计算,因此您甚至不会注意到Java和Ruby之间的运行时差异,
在解释代码时,这是否意味着它在脚本模式下会运行得更慢?是的,它会运行得更慢,但取决于应用程序,这可能根本不重要。许多有趣的任务实际上并不需要大量计算,因此您甚至不会注意到Java和Ruby之间的运行时差异,尽管后者被认为具有更差的性能 对于这种快速运行的应用程序,更重要的是启动时间。对于解释语言,这通常是非常直接的,而重新编译脚本可能需要相当长的时间。因此,在实践中,口译确实可以比编译更快 此外,解释脚本并不意味着每一次计算都是正确的。事实上,大多数关键内容通常都是在经过编译的库中定义的,并且只从解释的代码中调用——这就是Python或Matlab等语言在科学计算中具有竞争力的唯一原因:计算密集型例程实际上是用编译的C或Fortran编写的,不是顶级语言本身 Haskell为您提供了两个方面的优势(编译语言的快速原始性能;解释语言的快速使用和简洁性),但不需要实际使用两种不同的语言——您可以简单地选择运行编译的部分和仅解释的部分
(这并不是说这是Haskell的一个独特之处——事实上几乎所有编译语言都有解释器。只是,除了调试之外,运行代码解释通常不太常见。但Haskell甚至非常适合于通常用Python或Bash编写的脚本任务,但这不适用于ODE会费力去获取一个完整的java或C++项目。是的,它会运行得更慢,但这取决于应用程序。许多有趣的任务实际上并不需要大量计算,因此您甚至不会注意到Java和Ruby之间的运行时差异,尽管后者被认为性能更差 对于这种快速运行的应用程序,更重要的是启动时间。对于解释语言,这通常是非常即时的,而重新编译脚本可能需要相当长的时间。因此,在实践中,解释确实比编译更快 此外,解释脚本并不意味着每一次计算都是如此。事实上,大多数关键内容通常都是在编译的库中定义的,并且只从解释的代码中调用——这就是Python或Matlab等语言在科学计算中具有竞争力的唯一原因:计算lly密集型例程实际上是用编译的C或Fortran编写的,而不是顶级语言本身 Haskell为您提供了两个方面的优势(编译语言的快速原始性能;解释语言的快速使用和简洁性),但不需要实际使用两种不同的语言——您可以简单地选择运行编译的部分和仅解释的部分
(这并不是说这是Haskell的一个独特之处——事实上几乎所有编译语言都有解释器。只是,除了调试之外,运行代码解释通常不太常见。但Haskell甚至非常适合于通常用Python或Bash编写的脚本任务,但这不适用于ODE会费力去获取一个完整的java或C++项目。请参阅以了解
runhaskell
和ghci
之间的区别。runhaskell命令是否会表现出与我们编译程序并运行时完全相同的运行时程序行为?@PrithviBoinpally否,但在大多数情况下,主要区别在于性能。请参阅runhaskell
和ghci
之间的区别。runhaskell命令是否会表现出与我们编译程序并运行时完全相同的运行时程序行为?@PrithviBoinpally否,但在大多数情况下,主要区别在于性能。