1

我正在寻找一种易于快速编写脚本的解释语言,如 ​​,但对它有更多的 Haskell 感觉(即一种函数式语言)。

具体来说,我希望它具有像 haskell 中的模式匹配功能。这样的事情存在吗?

编辑:我问主要是因为我喜欢学习新语言,而且我注意到我一直在学习的语言中有一个空白点。
一方面,我曾经解释过和动态类型的语言,例如 Python 和 Ruby,它们具有功能元素,但并没有把这个概念走得太远。
另一方面,我有 Haskell,它具有我喜欢的许多功能特性,但非常严格(即使是简单的程序也需要花费大量时间才能运行)。
我只是想知道是否有什么东西可以分裂这些差异。

4

1 回答 1

13

哈斯克尔

您可以使用runhaskell来执行一个haskell 文件。该文件像 python 脚本一样立即运行。

runhaskell test.hs

印刷Hello Wolrd!

如果 test.hs 包含

main = putStrLn "Hello World!"

斯卡拉

另一种不那么纯粹的语言是 Scala。它以 JVM 为目标,因此可以使用所有 Java 库。您可以将其用作脚本:

scala test.scala

test.scala 只是:

println("Hello, World!")

对于模式匹配,有匹配案例:

def headSafe[A](arg: List[A]):Option[A] = arg match {
  case x::xs => Some(x)
  case _     => None
}

Option对应于MaybeHaskells monand。如果您对 scala 感兴趣,可以查看http://scala-lang.org

于 2014-08-26T09:02:20.023 回答