... notation for continuing benchmarks
svn: r4330
This commit is contained in:
parent
08f06adfc2
commit
210cb5affe
|
@ -64,30 +64,42 @@
|
|||
|
||||
;; Process arguments ------------------------------
|
||||
|
||||
(for-each (lambda (arg)
|
||||
(let loop ([args args])
|
||||
(unless (null? args)
|
||||
(let ([arg (car args)])
|
||||
(let ([s (string->symbol arg)])
|
||||
(cond
|
||||
[(memq s implementations)
|
||||
(set! run-implementations
|
||||
(append (or run-implementations null)
|
||||
(list s)))]
|
||||
(list s)))
|
||||
(loop (cdr args))]
|
||||
[(assq s no-implementations)
|
||||
=> (lambda (a)
|
||||
(set! run-implementations
|
||||
(remq (cdr a)
|
||||
(or run-implementations default-implementations))))]
|
||||
(or run-implementations default-implementations)))
|
||||
(loop (cdr args)))]
|
||||
[(memq s benchmarks)
|
||||
=>
|
||||
(lambda (l)
|
||||
(let* ([...? (and (pair? (cdr args))
|
||||
(equal? (cadr args) "..."))]
|
||||
[new (if ...?
|
||||
l
|
||||
(list s))])
|
||||
(set! run-benchmarks
|
||||
(append (or run-benchmarks null)
|
||||
(list s)))]
|
||||
new))
|
||||
(loop ((if ...? cddr cdr) args))))]
|
||||
[(assq s no-benchmarks)
|
||||
=> (lambda (a)
|
||||
(set! run-benchmarks
|
||||
(remq (cdr a)
|
||||
(or run-benchmarks default-benchmarks))))]
|
||||
(or run-benchmarks default-benchmarks)))
|
||||
(loop (cdr args)))]
|
||||
[else
|
||||
(error 'auto "mysterious argument: ~a" arg)])))
|
||||
args)
|
||||
(error 'auto "mysterious argument: ~a" arg)])))))
|
||||
|
||||
(values (or run-benchmarks
|
||||
benchmarks)
|
||||
|
|
Loading…
Reference in New Issue
Block a user