Sha256: 9d997753c32f7c5bfee49bf3b01ffd64f89ace276a978c8ce6210dad7a943002

Contents?: true

Size: 410 Bytes

Versions: 396

Compression:

Stored size: 410 Bytes

Contents

(defpackage #:strain
  (:use #:common-lisp)
  (:export #:keep #:discard))

(in-package #:strain)

(defun keep (pred seq)
  (labels
      ((recurse (s r)
         (cond ((null s) (reverse r))
               ((funcall pred (car s))
                (recurse (cdr s) (cons (car s) r)))
               (t (recurse (cdr s) r)))))
    (recurse seq (list))))

(defun discard (pred seq)
  (keep (complement pred) seq))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.138 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.137 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.136 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.135 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.134 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.133 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.132 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.131 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.130 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.129 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.128 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.127 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.126 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.125 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.124 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.123 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.122 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.121 tracks/common-lisp/exercises/strain/example.lisp
trackler-2.2.1.120 tracks/common-lisp/exercises/strain/example.lisp