From: Mike D. Lowis Date: Wed, 25 Jul 2012 15:35:28 +0000 (-0400) Subject: Purge loop.scm from the codebase (no more evil imperative loops) X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=f09d07457e9bf969860a7d4335fecb8542f5c125;p=archive%2Fdlang-scm.git Purge loop.scm from the codebase (no more evil imperative loops) --- diff --git a/inc/loop.scm b/inc/loop.scm deleted file mode 100644 index a49428f..0000000 --- a/inc/loop.scm +++ /dev/null @@ -1,26 +0,0 @@ -; For loop macro -(define-syntax for - (syntax-rules () - ((_ var lst body ...) - (let loop ((var (car lst))) - body ... - (if (< var (cadr lst)) - (loop (+ var (caddr lst)))))))) - -; While loop macro -(define-syntax while - (syntax-rules () - ((_ cnd body ...) - (if cnd - (let loop () - body ... - (if cnd (loop))))))) - -; Until loop macro -(define-syntax until - (syntax-rules () - ((_ cnd body ...) - (let loop () - body ... - (if (not cnd) (loop)))))) -