问题标签 [r6rs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scheme - Guile 方案和标准方案之间的区别(在 Racket IDE 中)?
我有一堆想要在 Racket Scheme IDE 中运行的“遗留”Guile Scheme 代码。似乎有足够的差异使这成为一项重要的练习。(我的 Scheme 知识水平是完成 The Little Schemer 的水平)。
我的问题是:
- Guile 方案和标准方案(在 Racket IDE 中)有什么区别?
- 鉴于这些差异,一般来说,我需要采取哪些步骤将一些 Guile 方案代码转换为标准方案?
附加:(对 Racket Scheme 和 R5RS/R6RS 之间的分歧感到高兴)-我想要的是在 Racket IDE 中运行“某些东西”-而不是在 Racket 语言中运行。
scheme - 如何获取库导出的所有符号的列表?
有没有一种方法可以获取库导出的所有方法的列表?
scheme - 打印变量名
在 Scheme R6RS 中是否可以打印变量的名称?我是说:
这样:
scheme - Scheme中如何正确实现对象继承
作为练习,我正在尝试实现一个小型的面向对象程序,有 2 个类:
我已经将每个类都实现为闭包。这是第一个的代码:
第二个:
我对第二个定义有一些问题;在最后一行我尝试调用父母方法,但由于args
是一个列表,它不起作用。
我能做些什么?
scheme - 如何捕获语法异常
我想通过一个测试语法异常的宏来扩展 srfi-78。我想要这样的东西:
有可能吗?如果不是,您将如何为宏编写测试?
我test-read-eval-string
从 srfi-64 得知。它接受一个字符串,将其转换为一个表单并在初始环境中评估该表单。我想要一个在当前环境中评估给定形式并捕获异常的宏。
antlr4 - 基准跳过注释“#;” 在使用 ANTLR4 为 R6RS 制作解析器时
我正在尝试为 R6RS 编写词法分析器/解析器,但我遇到了数据跳过评论
这是我的词法分析器/解析器规则的一部分:
现在,我想像这样写skipDatum: '#;' datum -> skip
。不幸的是,解析器规则不允许->skip
. 两者都SKIPDATUM: '#;' datum -> skip
不起作用,因为词法分析器规则不能引用解析器规则。
在我看来,虽然“注释掉”是词法分析器的责任,而“构造数据”是解析器的责任,但#;
两者都需要规则。
这是我目前的解决方案:
虽然它正在工作,但它看起来很丑陋;在我真的想用 写规则的地方datum
,我总是必须这样写skipDatum* datum skipDatum*
有没有更好的解决方案?提前致谢。
scheme - R6RS 库体:表达式后定义
考虑以下代码:
来自R6RS 报告 7.1:
<library body> 类似于 <body>(参见第 11.3 节),只是 <library body> 不需要包含任何表达式。它必须具有以下形式:
<definition> ... <expression> ...
我认为它会发出错误,因为定义c
是在表达式之后'cont
,但是这个程序被干净地接受了。
在那之后,我认为a
并且c
可以出口。但是,不是c
但b
可以导出。(a
可以像我想的那样导出。)
我认为关于 R6RS 库规则我没有意识到一些事情。我错过了什么?提前致谢。
ps)我正在使用 Racket v5.3.3
racket - 使用 R6RS 中的模块时预计会违反合同
我有以下模块abc/main.rkt
:
这是一个导入该模块的简短 R6RS 程序:
加载该程序时,此错误消息出现在 DrRacket 窗口的底部:
+:预期违反合同:数量?给定:#f 参数位置:第一个其他参数...:0
但是,我能够成功运行该程序。
关于如何摆脱错误的任何建议?
compiler-construction - 是否有不同“RnRS”方案标准的摘要?
我需要为学术编译器实现选择一个方案标准。它必须足够简单,但仍然应该是一种强大的语言。Scheme有几个(RRS-R7RS)标准。这些报告是否有公开比较以供选择?如果不是,您会推荐哪一个作为第一个编译器?