update benz (_ and ...)

This commit is contained in:
Yuichi Nishiwaki 2014-09-09 00:59:12 +09:00
parent 0c6ffa3e7b
commit 27322a3c80
4 changed files with 30 additions and 16 deletions

@ -1 +1 @@
Subproject commit 2d80522230358a4f3f2a1cd1af56da16d0f612d0
Subproject commit c3acc4cb44bcf3baf9c50bb4667ad20c77660c3f

View File

@ -8,13 +8,14 @@
begin
define-syntax)
(export syntax-error
let-syntax
letrec-syntax)
(export let
let*
letrec
letrec*
let-values
let*-values
define-values
quasiquote
unquote
unquote-splicing
@ -22,17 +23,16 @@
or
cond
case
=>
else
do
when
unless
let-syntax
letrec-syntax
include
=>
else
_
...
syntax-error)
include)
(export let-values
let*-values
define-values)
(export eq?
eqv?

View File

@ -2,6 +2,16 @@
(import (picrin base)
(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)
(cond
((null? expr)
@ -332,4 +342,6 @@
`(,_syntax-error "malformed syntax-rules"))))))
(export syntax-rules))
(export syntax-rules
_
...))

View File

@ -4,8 +4,6 @@
(picrin record)
(picrin syntax-rules))
(export else => _ ...)
;; 4.1.2. Literal expressions
(export quote)
@ -30,6 +28,8 @@
(export cond
case
else
=>
and
or
when
@ -145,7 +145,9 @@
;; 4.3.2 Pattern language
(export syntax-rules)
(export syntax-rules
_
...)
;; 4.3.3. Signaling errors in macro transformers