我知道在某些语言(Haskell?)中,努力是实现无点样式,或者永远不要通过名称显式引用函数参数.这对我来说是一个非常难以掌握的概念,但它可以帮助我理解这种风格的优点(或者甚至是缺点).谁能解释一下?
我已经读过Scala的类型系统被Java互操作性削弱了,因此无法执行与Haskell类型系统相同的功能.这是真的?因为类型擦除是弱点,还是我在各方面都错了?这是不同的Scala没有类型类的原因吗?
haskell type-systems scala language-comparisons static-typing
我以为我理解Scala和Haskell中的模式匹配与Prolog中的统一不同,但我对Prolog的误解很大.一个无法通过另一个解决的简单问题是什么?谢谢
使用Haskell的类型类似乎它几乎可以实现ad hoc多态,但它的函数声明似乎是参数多态.我混合了对不同事物的理解吗?
和许多程序员一样,我在大学里学过Prolog,但只是很少.我知道Prolog和Datalog密切相关,但Datalog更简单吗?另外,我相信我读到Datalog不依赖于逻辑子句的排序,但我不确定为什么这是优点.据说CLIPS完全不同,但对我来说理解太微妙了.有人可以提供其他语言的一般语言亮点吗?
我最近在Clojure上看过很多关于谓词调度的讨论,并想知道这件事是否有什么东西.换句话说,什么是谓词调度,它与通用函数,OOP多态和模式有何不同?谢谢
我已经阅读过像Scala或Haskell这样的静态类型语言,无法创建或提供Lisp apply
函数:
(apply #'+ (list 1 2 3)) => 6
Run Code Online (Sandbox Code Playgroud)
或者可能
(apply #'list '(list :foo 1 2 "bar")) => (:FOO 1 2 "bar")
(apply #'nth (list 1 '(1 2 3))) => 2
Run Code Online (Sandbox Code Playgroud)
这是真的吗?
除了Lisp(ruby,scala)之外还有其他语言表示他们使用REPL(读取,评估,打印,循环),但不清楚REPL的含义是否与Lisp中的相同.Lisp REPL与非Lisp REPL有何不同?
我多年前使用过XStream,但我发现这些库自2008年以来没有更新(最新消息).现在是否有更现代化和最新的Java XML序列化库?
我已经读过Scala的类型推断不是全局的,所以人们必须在方法上放置类型注释.(这会是"本地"类型推断吗?)
我只是有点明白,原因在于它的面向对象性质,但清晰度使我无法理解.是否有"全局类型推断"的解释以及为什么Scala不能让初学者理解它?