mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2025-12-06 10:41:33 -08:00
33 lines
814 B
Common Lisp
33 lines
814 B
Common Lisp
|
|
(defpackage :hello-lisp
|
|
(:use :cl :lparallel))
|
|
|
|
(in-package :hello-lisp) ;;package name hello-lisp
|
|
|
|
|
|
(setf lparallel:*kernel* (lparallel:make-kernel 4))
|
|
|
|
(lparallel:defpun pfib (n)
|
|
(if (< n 2)
|
|
n
|
|
(plet ((a (pfib (- n 1)))
|
|
(b (pfib (- n 2))))
|
|
(+ a b))))
|
|
|
|
|
|
(defun qsort (seq pred)
|
|
(if (null seq) nil
|
|
(let* ((pivot (first seq))
|
|
(left (remove-if-not (lambda (x)
|
|
(funcall pred x pivot))
|
|
(cdr seq)))
|
|
(right (remove-if (lambda (x)
|
|
(funcall pred x pivot))
|
|
(cdr seq))))
|
|
(append (qsort left pred)
|
|
(list pivot)
|
|
(qsort right pred)))))
|
|
|
|
|
|
(defun say-hello ()
|
|
"Bonjour, lisp!")
|