From 2d49ed25acc03550036b124e2ffade0edf812150 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Mon, 10 Feb 2025 07:23:02 +0000 Subject: Implement a "take" function to read subsequences of a list Basically a wrapper over subseq but for when using `->>` as the list is the last parameter. --- lib.functions.lisp | 3 +++ packages.lisp | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib.functions.lisp b/lib.functions.lisp index c7b3ed1..30c1e64 100644 --- a/lib.functions.lisp +++ b/lib.functions.lisp @@ -29,3 +29,6 @@ each member is STEP distance apart." (fn parse-integer* (inp) (-> (string) (or integer list)) (parse-integer inp :junk-allowed t)) + +(fn take (n lst) (-> (fixnum list) list) + (subseq lst 0 n)) diff --git a/packages.lisp b/packages.lisp index d50945b..58c848e 100644 --- a/packages.lisp +++ b/packages.lisp @@ -21,15 +21,15 @@ (:use :cl) (:export :_ :--> :->> - :while :-> :fn + :while :$)) (defpackage lib.functions (:use :cl :lib.macros) (:export - :range - :parse-integer*)) + :parse-integer* + :range :take)) (defpackage main (:use :cl :lib.macros) -- cgit v1.2.3-13-gbd6f