【发布时间】:2018-11-11 09:44:03
【问题描述】:
我正在尝试学习如何在 Racket 中编写宏。 我已经阅读了出色的 Fear of Macros 教程,现在正在尝试尝试基本的想法。
所以我对my-if 的定义与教程中显示的略有不同,我在以下位置收到错误define-values: unbound identifier;:
#lang racket/base
(define-syntax (my-if stx)
(define-values (_ condition yes no)
(apply values (syntax->list stx)))
(datum->syntax stx `(if ,condition ,yes ,no)))
如果我使用 #lang racket 而不是 racket/base 它可以工作。
查看手册中define-values的定义,好像是racket/base的一部分!
define-values provided from racket/base, racket
那么为什么 Racket 会抱怨这个呢?
【问题讨论】: