* Fixed bug 161749: (define-syntax (foo x) 12) does not work

This commit is contained in:
Abdulaziz Ghuloum 2007-11-10 06:28:29 -05:00
parent 2a8cc2a7b4
commit 6938657fad
4 changed files with 3326 additions and 4 deletions

View File

@ -62,6 +62,7 @@ foreach my $bench (@benchmarks){
print "benchmark: $bench\n";
my $prev = 0;
foreach my $time (@times){
defined $runtimes{$bench}{$time} or next;
my @times = @{$runtimes{$bench}{$time}};
my $avg = average(@times);
if($prev){

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -55,8 +55,7 @@
((memq (car ls1) ls2) (set-union (cdr ls1) ls2))
(else (cons (car ls1) (set-union (cdr ls1) ls2)))))
(define-syntax no-source
(lambda (x) #f))
(define-syntax (no-source x) #f)
;;; the body of a library, when it's first processed, gets this
;;; set of marks.
@ -739,9 +738,10 @@
(define parse-define-syntax
(lambda (x)
;;; FIXME: (define-syntax (f stx) ---) is not supported yet
(syntax-match x ()
((_ id val) (id? id) (values id val)))))
((_ id val) (id? id) (values id val))
((_ (id . args) e e* ...) (id? id)
(values id (cons* (bless 'lambda) args e e*))))))
;;; scheme-stx takes a symbol and if it's in the
;;; (psyntax system $all) library, it creates a fresh identifier