diff options
-rw-r--r-- | package.lisp | 1 | ||||
-rw-r--r-- | str.lisp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/package.lisp b/package.lisp index de145ed..ddf77ea 100644 --- a/package.lisp +++ b/package.lisp @@ -10,4 +10,5 @@ (defpackage #:str (:use #:cl) (:export #:split + #:from-list #:read-file)) @@ -19,3 +19,13 @@ (length input))) (queue:add result (subseq input start next))))) (queue:to-list (split-rec (queue:new) 0))) + +(declaim (ftype (function ((cons char)) (values simple-string) &optional)) from-list) +(defun from-list (lst) + (let ((str (make-string (length lst))) + (i 0)) + (dolist (item lst) + (setf (char str i) item) + (incf i)) + str)) + |