SCALA是一种理论语言吗?

时间:2010-12-15 10:49:10

标签: scala functional-programming

如果我错了,请纠正我......

Scala引入了新的范例,如TypeTheory,Continuations,Monads和其他计算理论。 Scala是否正在成为一种理论语言,因为大多数论文,博客都在谈论这一点,而我相对较少看到代码插图......

1 个答案:

答案 0 :(得分:15)

类型理论不是一种范式,就像声称Java是“理论上的”,因为它使用了“数论”中的整数加法

Continuations 是许多语言的主流功能:http://en.wikipedia.org/wiki/Continuation#Programming_language_support 它们已经在Java Servlet 3.0规范中(它们被称为暂停请求)

Monads 只是一种组合函数的标准技术,支持函数作为一流实体的语言;包括Lisp(例如Clojure),ML(例如F#),Haskell和Scala。

虽然有些语言提供了处理Monads的语法糖,但没有什么能阻止你使用SAM类型在Java中创建一个代替真正的函数。