首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Common Lisp中deftype与Scheme的区别

Common Lisp中deftype与Scheme的区别
EN

Stack Overflow用户
提问于 2009-08-07 19:17:40
回答 2查看 1.5K关注 0票数 4

我正在尝试将一些Common Lisp代码转换为Scheme代码。Common Lisp代码有一个deftype。方案中的deftype%s与Common Lisp中的deftype%s相同吗?如何将Common Lisp中的deftype转换为Scheme中的等效代码?

EN

回答 2

Stack Overflow用户

发布于 2009-08-08 00:42:01

正如Anton所说,没有与Common Lisp deftype等同的确切方案。有关在Common Lisp中类型说明符可以是什么的说明,请参阅CLHS:Type Specifiers。它们用于声明、数组类型规范、结构和CLOS槽规范、泛型函数参数专门化等等。将其移植到Scheme通常将是一个巨大的挑战。您最大的希望是,由deftype定义的类型只被简单地使用(或者根本不使用!)。

票数 4
EN

Stack Overflow用户

发布于 2009-08-07 19:29:12

通用的Lisp没有确切的deftype等价物。您必须手动转换类型定义,或者根据系统中可用的任何deftype记录库编写Scheme宏。

Bare Scheme根本没有用户定义的类型。在R5RS系统中,您必须查找相关的SRFIs (例如SRFI-9 (Record types)SRFI-57 RecordsSRFI-99 ERR5RS records),并查看您的特定方案系统实现了哪些SRFIs和语言扩展;方案系统通常在实现最小方案标准之外的任何内容时都不是非常一致。R6RS方案有记录in its standard library

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1246512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档