update benz (_ and ...)
This commit is contained in:
parent
0c6ffa3e7b
commit
27322a3c80
|
@ -1 +1 @@
|
||||||
Subproject commit 2d80522230358a4f3f2a1cd1af56da16d0f612d0
|
Subproject commit c3acc4cb44bcf3baf9c50bb4667ad20c77660c3f
|
|
@ -8,13 +8,14 @@
|
||||||
begin
|
begin
|
||||||
define-syntax)
|
define-syntax)
|
||||||
|
|
||||||
|
(export syntax-error
|
||||||
|
let-syntax
|
||||||
|
letrec-syntax)
|
||||||
|
|
||||||
(export let
|
(export let
|
||||||
let*
|
let*
|
||||||
letrec
|
letrec
|
||||||
letrec*
|
letrec*
|
||||||
let-values
|
|
||||||
let*-values
|
|
||||||
define-values
|
|
||||||
quasiquote
|
quasiquote
|
||||||
unquote
|
unquote
|
||||||
unquote-splicing
|
unquote-splicing
|
||||||
|
@ -22,17 +23,16 @@
|
||||||
or
|
or
|
||||||
cond
|
cond
|
||||||
case
|
case
|
||||||
|
=>
|
||||||
|
else
|
||||||
do
|
do
|
||||||
when
|
when
|
||||||
unless
|
unless
|
||||||
let-syntax
|
include)
|
||||||
letrec-syntax
|
|
||||||
include
|
(export let-values
|
||||||
=>
|
let*-values
|
||||||
else
|
define-values)
|
||||||
_
|
|
||||||
...
|
|
||||||
syntax-error)
|
|
||||||
|
|
||||||
(export eq?
|
(export eq?
|
||||||
eqv?
|
eqv?
|
||||||
|
|
|
@ -2,6 +2,16 @@
|
||||||
(import (picrin base)
|
(import (picrin base)
|
||||||
(picrin macro))
|
(picrin macro))
|
||||||
|
|
||||||
|
(define-syntax define-auxiliary-syntax
|
||||||
|
(er-macro-transformer
|
||||||
|
(lambda (expr r c)
|
||||||
|
(list (r 'define-syntax) (cadr expr)
|
||||||
|
(list (r 'lambda) '_
|
||||||
|
(list (r 'error) "invalid use of auxiliary syntax"))))))
|
||||||
|
|
||||||
|
(define-auxiliary-syntax _)
|
||||||
|
(define-auxiliary-syntax ...)
|
||||||
|
|
||||||
(define (walk proc expr)
|
(define (walk proc expr)
|
||||||
(cond
|
(cond
|
||||||
((null? expr)
|
((null? expr)
|
||||||
|
@ -332,4 +342,6 @@
|
||||||
|
|
||||||
`(,_syntax-error "malformed syntax-rules"))))))
|
`(,_syntax-error "malformed syntax-rules"))))))
|
||||||
|
|
||||||
(export syntax-rules))
|
(export syntax-rules
|
||||||
|
_
|
||||||
|
...))
|
||||||
|
|
|
@ -4,8 +4,6 @@
|
||||||
(picrin record)
|
(picrin record)
|
||||||
(picrin syntax-rules))
|
(picrin syntax-rules))
|
||||||
|
|
||||||
(export else => _ ...)
|
|
||||||
|
|
||||||
;; 4.1.2. Literal expressions
|
;; 4.1.2. Literal expressions
|
||||||
|
|
||||||
(export quote)
|
(export quote)
|
||||||
|
@ -30,6 +28,8 @@
|
||||||
|
|
||||||
(export cond
|
(export cond
|
||||||
case
|
case
|
||||||
|
else
|
||||||
|
=>
|
||||||
and
|
and
|
||||||
or
|
or
|
||||||
when
|
when
|
||||||
|
@ -145,7 +145,9 @@
|
||||||
|
|
||||||
;; 4.3.2 Pattern language
|
;; 4.3.2 Pattern language
|
||||||
|
|
||||||
(export syntax-rules)
|
(export syntax-rules
|
||||||
|
_
|
||||||
|
...)
|
||||||
|
|
||||||
;; 4.3.3. Signaling errors in macro transformers
|
;; 4.3.3. Signaling errors in macro transformers
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue