yor*_*ble 1 haskell functional-programming scripting-language interpreted-language pattern-matching
我正在寻找一种易于快速编写脚本的解释语言,如python或ruby,但它具有更多的Haskell感觉(即一种函数式语言).
具体来说,我希望它具有像haskell一样的模式匹配功能.这样的事情存在吗?
编辑:我主要问,因为我喜欢学习新语言,我注意到我学习的语言中有空位.
一方面,我已经解释并动态地输入了具有功能元素的Python和Ruby等语言,但并没有把这个概念放得太过分.
另一方面,我有Haskell,它具有我喜欢的许多功能特性,但是非常严格(我需要花费相当多的时间来完成简单的程序).
我只是想知道是否存在分裂这些差异的东西.
bma*_*her 13
您可以使用它runhaskell来执行haskell文件.该文件立即像python脚本一样运行.
runhaskell test.hs
Run Code Online (Sandbox Code Playgroud)
打印 Hello Wolrd!
如果test.hs包含
main = putStrLn "Hello World!"
Run Code Online (Sandbox Code Playgroud)
另一种不太纯粹的语言是Scala.它以JVM为目标,因此可以使用所有Java库.您可以将其用作脚本:
scala test.scala
Run Code Online (Sandbox Code Playgroud)
test.scala只是:
println("Hello, World!")
Run Code Online (Sandbox Code Playgroud)
对于模式匹配,有匹配情况:
def headSafe[A](arg: List[A]):Option[A] = arg match {
case x::xs => Some(x)
case _ => None
}
Run Code Online (Sandbox Code Playgroud)
Option对应于MaybeHaskells monand.如果您对scala感兴趣,可以查看http://scala-lang.org