From 2b46bc5867c64c7391dc6bc37aea0b1ca593ade8 Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Tue, 21 Apr 2015 02:53:04 -0600 Subject: [PATCH] add DROP, similar to Clojure counterpart. --- kutils.lisp | 6 ++++++ package.lisp | 1 + 2 files changed, 7 insertions(+) diff --git a/kutils.lisp b/kutils.lisp index 6439557..18e59b3 100644 --- a/kutils.lisp +++ b/kutils.lisp @@ -15,6 +15,12 @@ (when (> n 0) (rec n lst nil)))) +(defun drop (n lst) + "Drop n elements from the list." + (if (or (<= n 0) (null lst)) + lst + (drop (- n 1) (cdr lst)))) + (defun interpose (x sep) "Takes a list and a separator, and places separator between element of the list." diff --git a/package.lisp b/package.lisp index 5174cc4..7672002 100644 --- a/package.lisp +++ b/package.lisp @@ -10,6 +10,7 @@ #:defmacro! ; Let Over Lambda utilities #:interpose ; My utilities #:take + #:drop #:build-list #:partial #:macroexpand-n