~ chicken-r7rs (master) d8529b8bcaca39a50cef3e94e56e1fdd8e95add3
commit d8529b8bcaca39a50cef3e94e56e1fdd8e95add3 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Thu May 30 08:40:18 2013 +0000 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Thu May 30 08:40:18 2013 +0000 Add command-line procedure diff --git a/r7rs.scm b/r7rs.scm index 409861e..583817c 100644 --- a/r7rs.scm +++ b/r7rs.scm @@ -11,6 +11,7 @@ file-error? ; TODO guard ;; System interface + command-line exit emergency-exit ) @@ -68,6 +69,14 @@ ;; Should these go in a separate module (process-context)? +(define command-line + (let ((command-line #f) + (arguments (command-line-arguments))) + (lambda () + (unless command-line + (set! command-line (cons (program-name) arguments))) + command-line))) + (define (->exit-status obj) (cond ((integer? obj) obj) ((eq? obj #f) 1)Trap