Python 请推荐具有模式匹配的解释语言
我正在寻找一种易于快速编写脚本的解释语言,如or,但更像Haskell语言(即函数式语言) 具体来说,我希望它具有haskell中的模式匹配功能。这样的事情存在吗 编辑:我问这个问题主要是因为我喜欢学习新的语言,我注意到我所学的语言中有一个空白点。Python 请推荐具有模式匹配的解释语言,python,ruby,haskell,functional-programming,pattern-matching,scripting-language,interpreted-language,Python,Ruby,Haskell,Functional Programming,Pattern Matching,Scripting Language,Interpreted Language,我正在寻找一种易于快速编写脚本的解释语言,如or,但更像Haskell语言(即函数式语言) 具体来说,我希望它具有haskell中的模式匹配功能。这样的事情存在吗 编辑:我问这个问题主要是因为我喜欢学习新的语言,我注意到我所学的语言中有一个空白点。 一方面,我解释了Python和Ruby等具有函数元素的动态类型化语言,但并没有把概念看得太远。 另一方面,我有Haskell,它有许多我喜欢的功能特性,但非常严格(即使是简单的程序也要花相当长的时间才能运行)。 我只是想知道是不是有什么东西可以把这些
一方面,我解释了Python和Ruby等具有函数元素的动态类型化语言,但并没有把概念看得太远。
另一方面,我有Haskell,它有许多我喜欢的功能特性,但非常严格(即使是简单的程序也要花相当长的时间才能运行)。
我只是想知道是不是有什么东西可以把这些差异分开。Haskell 您可以使用
runhaskell
执行haskell文件。该文件会像python脚本一样立即运行
runhaskell test.hs
打印你好,沃尔德代码>
如果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
}
选项
对应于Haskell可能
monand。
如果您对scala感兴趣,可以看看Haskell
您可以使用runhaskell
执行haskell文件。该文件会像python脚本一样立即运行
runhaskell test.hs
打印你好,沃尔德代码>
如果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
}
选项
对应于Haskell可能
monand。
如果您对scala感兴趣,您可以查看一下Haskell易于快速编写脚本……Racket提供了模式匹配,功能强大,而且与脚本语言一样“不纯”。它是否“简单”是非常主观的,就像任何其他语言一样。试试HUGS,它是一个Haskell实现。你为什么想要一个解释器?我发现Ruby有足够的功能感觉。有一个很好的gem叫做haskell,它使编程更接近haskell,可以帮助在设计时捕获许多错误。我很好奇你为什么要特别要求模式匹配,你期望从中得到什么。Haskell很容易快速编写脚本……Racket提供模式匹配,功能强大,而且与脚本语言一样“不纯”。它是否“简单”是非常主观的,就像任何其他语言一样。试试HUGS,它是一个Haskell实现。你为什么想要一个解释器?我发现Ruby有足够的功能感觉。有一个很好的gem叫做haskell,它使编程更接近haskell,可以帮助在设计时捕获许多错误。我很好奇你为什么要问模式匹配的问题,你希望从中得到什么。谢谢,我来看看Scala。谢谢,我来看看Scala。