lisp - Arc 相对于 Racket 的优势

标签 lisp racket arc-lisp

Arc建立在 Racket 之上.由于他们都属于 Lisp 家族,我很好奇 Arc 相对于 Racket 的优势,或者在 Racket 可用的情况下创建 Arc 的动机是什么?

最佳答案

从某种意义上说,编写您自己的语言是一种赋权:您可以选择哪些原语、哪些表达式类型适合用该语言编写。从这个意义上讲,您可以看一本书 On Lisp并看到 Arc 的核心作者对他们希望从一种语言中得到什么样的东西有强烈的意见。

如果我把你的问题归结为基本要素,听起来像这样:人们为什么要编写特定领域的语言?

(当 Racket 中已经内置了这样的机制时,考虑 Arc 人员是否应该重新实现如此多的原始设施,例如他们自己的宏和模块系统,这是一个单独的问题。但是 Arc 作者完全在他们的范围内重新发明的权利。)

我想我对 Arc 的反对意见之一是:他们实现官方运行时的方式使得很难重用他们已经完成的工作回到普通 Racket。从这个意义上说,它的努力只能帮助一个社区,而能够轻松地从 Arc 人员的工作中受益就更好了。

关于lisp - Arc 相对于 Racket 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8555440/

相关文章:

macros - 使用宏时每次迭代后参数递增

lisp - 如何在 Lisp Works 中对包含数字和字母的列表求和

string - 如何在不引用输出的情况下运行 Racket 程序?

struct - 我可以为带有可变数量参数的 Scheme (Racket) 结构编写构造函数吗?

scheme - 如何使 tribonacci 函数尾部递归?

syntax - 为什么 `(= (car x) ' z)` 有效?

macros - 迭代创建局部变量?

functional-programming - 过程作为参数 - 方案

macros - 将我自己的 `in` 版本编写为 Arc 宏

paul-graham - Arc发生了什么事?