From 96a90810afdb6c4d642ec522cabb3e369a4b0919 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Sun, 31 Aug 2014 01:41:12 +0900 Subject: [PATCH] import (picrin readline) only when exists --- contrib/20.repl/repl.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/contrib/20.repl/repl.scm b/contrib/20.repl/repl.scm index 010212ac..d2064c8f 100644 --- a/contrib/20.repl/repl.scm +++ b/contrib/20.repl/repl.scm @@ -3,8 +3,23 @@ (scheme read) (scheme write) (scheme eval) - (picrin readline) - (picrin readline history)) + (picrin macro) + (picrin library)) + + (define-syntax define-readline + (er-macro-transformer + (lambda (form rename compare) + (if (member '(picrin readline) (libraries)) + `(import (picrin readline) + (picrin readline history)) + `(begin + (define (readline str) + (display str) + (read-line)) + (define (add-history str) + #f)))))) + + (define-readline) (define (repl) (let ((line (readline "> ")))