三种lispy homoiconic语言,Dylan,Julia和Seph都离开了前导括号 - 所以在Common Lisp中的假设函数调用看起来像:
(print hello world)
Run Code Online (Sandbox Code Playgroud)
看起来像下面的假设函数调用
print(hello world)
Run Code Online (Sandbox Code Playgroud)
用上面提到的三种语言.
如果Clojure沿着这条道路走下去 - 为了实现这一目标会有什么牺牲?
推理:除了Clojure中令人惊讶的懒惰功能数据结构,以及地图和seqs的改进语法,对并发的语言支持,JVM平台,工具和令人敬畏的社区 - 它是'LISP'的独特之处在于给出同音性的前导括号,它给出了提供语法抽象的宏.
但如果你不需要括号 - 为什么要这些呢?我能想到保留它们的唯一论点是
(1)重用emacs中的工具支持
(2)促使人们"在LISP中思考"而不是试图将其视为另一种程序性语言)
如今,有许多编程语言:功能,面向对象,动态或静态类型,或这些特性的混合.
最近我注意到了这个版本:http://opendylan.org/news/2011/12/10/new_release.html
打开迪伦.
如果已经有Clojure,Python,Java,Scala,C#,Common Lisp,Scheme以及可以说更大,更重要的社区以及更多围绕它们的库,为什么人们学习这种编程语言会有趣呢?
我希望这篇文章不会因为"过于主观"而被关闭,我只是对Dylan与其他所有编程语言的区别感兴趣!
打开迪伦看起来很有趣.然而,在我将它用于实际开发之前,我想知道实现的成熟程度.我知道Dylan本身是一种古老的语言,它已被Apple使用.
我是否正确理解在(大多数?某些?)多种调度语言中,每个方法都会在程序执行的某个时间点添加到函数中.
我可以得出结论,多个调度作为一个特征强制函数是可变的吗?
是否存在多种调度语言,其中所有方法一起附加到(通用)函数(在加载时?),因此不可能在不同的时间点看到不同状态的函数?
dylan ×4
clojure ×2
common-lisp ×2
julia ×2
lisp ×1
multimethod ×1
performance ×1
python ×1
scala ×1
stability ×1