根据我的心情,我似乎在想要Lisp-1和Lisp-2之间来回摇摆。不幸的是,除了明显的名称空间差异之外,还会遇到各种有趣的函数名/etc问题。举个例子,今晚我试着写一些代码( map #'function listvar‘),当然,这在CL中根本不起作用。我想起来我想要的是mapcar,而不是map。当然,当slime/emacs显示map被定义为某种东西时,它也没有帮助,尽管显然根本不是同一个函数。
那么,如何最大限度地减少选择一个或另一个并坚持它的差距呢?
发布于 2008-08-28 03:24:20
Map比mapcar更通用,例如,您可以执行以下操作而不是使用mapcar:
(map 'list #'function listvar)如何在脑海中保持scheme和CL的分离?我想当你对这两种语言都很熟悉的时候,你只知道其中一种语言的效果,而不知道另一种语言的效果。尽管它们在句法上有相似之处,但就风格而言,它们是非常不同的语言。
发布于 2008-09-21 11:57:29
好吧,我认为一旦你在这两种语言上获得了足够的经验,这就不是问题了(就像意大利语和西班牙语一样,就像相似的自然语言一样)。如果您通常使用一种语言编程,偶尔才切换到另一种语言,那么不幸的是,您注定要用Scheme编写Common Lisp,反之亦然;)
有一件事是有帮助的,那就是对两种语言都有一个截然不同的视觉环境,使用一些其他颜色的语法突出显示等等,这样至少你总是知道你是在Common Lisp模式还是Scheme模式下。
发布于 2008-08-28 13:36:57
我绝对意识到存在语法差异,尽管我肯定还不够流利,无法自动使用它们,这使得代码目前看起来更相似;-)。
我有一种感觉,你的答案是这样的,但我总是希望有一个捷径的<_<。
https://stackoverflow.com/questions/31561
复制相似问题