gpt4 book ai didi

common-lisp - 应用程序设计和常见的 lisp 类型

转载 作者:行者123 更新时间:2023-12-04 03:20:11 26 4
gpt4 key购买 nike

我刚刚开始学习 Common Lisp——并且很快就爱上了它——而且我刚刚开始学习类型系统。我似乎特别喜欢应用程序编程。

据我了解,在 CL 中,字符串和列表都是序列,但似乎没有任何用于映射序列的标准函数,只有列表。我可以理解为什么它们会被提供给列表,它们是基本数据类型等等,但为什么它不设计用于序列?由于它们是更通用的类型,因此将应用函数定位在它们而不是列表上似乎更有用。还是我完全误解了它的工作原理?

编辑:

我感到特别困惑的是序列——抽象——和列表——一个实现——在 CL 中似乎困惑的方式。共识似乎是这是出于历史原因; lisp 已经存在很长时间了,你几乎可以通过它的函数和宏来规划软件工程实践的开发;哪些函数适用于序列,哪些适用于列表乍一看似乎是任意的,因为 CL 混合了仅对列表进行操作的序列前抽象函数,以及在序列上以更一般的方式执行相同操作的函数。作为目前刚刚学习 CL 的人,我认为如果作者首先引入序列作为更清晰的抽象,然后购买列表作为该抽象的最基本实现,那将会很有用。当然,仍然需要列表作为语法,但是当需要明确说明这一点时,许多读者会自己解决这个问题,这在开始时会非常自我提升。

最佳答案

为什么,有很多函数可以处理序列。序列上的映射是通过 MAP 完成的或 MAP-INTO .

sequences section of the CLHS了解更多。

还有一个quick reference组织得很好。

关于common-lisp - 应用程序设计和常见的 lisp 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/709411/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com