RosettaCodeData/Task/Ordered-words/Common-Lisp/ordered-words-2.lisp
2024-03-06 22:25:12 -08:00

8 lines
329 B
Common Lisp

(defun orderedp (word)
(apply #'char<= (coerce word 'list)))
(let* ((words (uiop:read-file-lines "unixdict.txt"))
(ordered (delete-if-not #'orderedp words))
(maxlen (apply #'max (mapcar #'length ordered)))
(result (delete-if-not (lambda (l) (= l maxlen)) ordered :key #'length)))
(format t "~{~A~^, ~}" result))