diff options
-rw-r--r-- | lib/functions.lisp | 6 | ||||
-rw-r--r-- | packages.lisp | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/functions.lisp b/lib/functions.lisp index 99796c9..2a7f4ab 100644 --- a/lib/functions.lisp +++ b/lib/functions.lisp @@ -54,3 +54,9 @@ where key x in A has associations {y in LST : INDICATOR(y) = x}." (fn parse-integer* (inp) (-> (string) (or integer list)) "Given string INP, attempt to parse an integer. Return NIL otherwise." (parse-integer inp :junk-allowed t)) + +(fn remove-at-indices (indices lst) (-> (list list) list) + (loop :for i :from 0 :to (1- (length lst)) + :for item :in lst + :if (not (member i indices)) + :collect item)) diff --git a/packages.lisp b/packages.lisp index 90c6dcf..e12156e 100644 --- a/packages.lisp +++ b/packages.lisp @@ -30,7 +30,8 @@ (:export :parse-integer* :range :take :split - :rev-map)) + :rev-map + :remove-at-indices)) (defpackage cantedraw.model (:use :cl :cantedraw.lib.macros :cantedraw.lib.functions) |