请推荐使用模式匹配的解释语言

时间:2014-08-26 08:45:09

标签: haskell functional-programming pattern-matching scripting-language interpreted-language

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

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

编辑:我主要是因为我喜欢学习新语言而且我注意到我学习的语言中有一个空位。
一方面,我已经解释并动态输入了具有功能元素的Python和Ruby等语言,但并没有将这个概念推得太远。 另一方面,我有Haskell,它具有我喜欢的许多功能特性,但是非常严格(我需要花费相当多的时间才能使简单的程序工作)。
我只是想知道是否存在分裂这些差异的东西。

1 个答案:

答案 0 :(得分:13)

的Haskell

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

runhaskell test.hs

打印Hello Wolrd!

如果test.hs包含

main = putStrLn "Hello World!"

Scala的

另一种不那么纯粹的语言是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对应于Haskells Maybe monand。 如果您对scala感兴趣,可以查看http://scala-lang.org