我想问一下是否可能在Chicken Scheme中创建一个数据库,类似于这个链接中的内容:http://www.gigamonkeys.com/book/practical-a-simple-database.html。如果可能的话,我需要查找哪些谓词?我应该使用一个egg吗?我在Chicken Wiki上进行了搜索,但没有找到我要找的内容。是不是在Scheme中实现类似上述功能是不可能的,还是说有完全不同的方法来实现?
这是可能的,但您需要使用另一种数据类型。
Scheme不像Common Lisp(该书重点介绍)那样有plist
,因为它们缺少:keyword
包。您需要决定如何存储数据,这个决定将影响您如何构建make-
和select
等效函数。例如,如果您决定alist
是一个足够好的替代品,则从其中一个记录中获取属性将看起来像:
(cdr (assoc foo record))
(getf :foo record)
kvlists
的 egg,它提供了与 Common Lisp 相同的功能。 - robbyphillips