在C类语言中,从一开始就在每本入门书中都强调结构/记录和对象.然后,他们的完整系统围绕管理这些结构,它们的相互关系和继承而设计.
在Lisp文档中,你通常可以找到1-2页关于Lisp"也"如何有一个defstruct,一个简单的例子,通常就是这样.而且,根本没有提到结构的嵌套.
对于来自C背景的人来说,首先看来,分层组织不同的数据类型不是Lisp中的首选方法,但除了CLOS之外,CLOS是一个完整的对象系统,如果你只是想要结构,那就太复杂了,除了疯狂一切在列表中,没有明显的方法来转移您的C结构知识.
什么是层次组织数据的惯用Lisp方法,最类似于C结构?
-
我认为我的问题的总结答案是:对于初学者学习目的,defstruct和/或plists,虽然"遗留特征",可以使用,因为它们最接近C结构,但它们已被更大的取代更多灵活的defclass/CLOS,这是大多数Lisp程序今天使用的.
这是我关于SO的第一个问题,所以感谢大家的回答.
使用LispWorks步进器进行计算非常直观,但我无法在SBCL中找到它.有人可以给我一个如何在REPL中使用SBCL步进器的一些简单函数的分步示例吗?谢谢.