From 9d2ad4b4ff5eb9234f5b305f557485dd6e439cbe Mon Sep 17 00:00:00 2001 From: Bob Tolbert Date: Sun, 4 Aug 2013 19:12:47 -0600 Subject: [PATCH] slightly cleaner version of drop-while, could use yield-from when ready --- hy/core/language.hy | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hy/core/language.hy b/hy/core/language.hy index 4e9d81a..66bde39 100644 --- a/hy/core/language.hy +++ b/hy/core/language.hy @@ -63,12 +63,11 @@ (defn drop-while [pred coll] "Drop all elements of `coll` until `pred` is False" (let [[citer (iter coll)]] - (let [found false] - (for [val citer] - (if (not (pred val)) - (setv found true)) - (if found - (yield val)))))) + (for [val citer] + (if (not (pred val)) + (do (yield val) (break)))) + (for [val citer] + (yield val)))) (defn empty? [coll] "Return True if `coll` is empty"