From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:44439) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1Zgf-0007gd-9I for guix-patches@gnu.org; Tue, 11 Feb 2020 12:51:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j1Zgc-0008WB-WA for guix-patches@gnu.org; Tue, 11 Feb 2020 12:51:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:51502) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j1Zgc-0008Vg-Oc for guix-patches@gnu.org; Tue, 11 Feb 2020 12:51:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j1Zgc-0008NZ-NJ for guix-patches@gnu.org; Tue, 11 Feb 2020 12:51:02 -0500 Subject: [bug#39566] [PATCH] gnu: Add cl-specialized-function. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:43364) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1ZgE-0007DL-Ug for guix-patches@gnu.org; Tue, 11 Feb 2020 12:50:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j1ZgD-0007el-P7 for guix-patches@gnu.org; Tue, 11 Feb 2020 12:50:38 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:55107) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j1ZgD-0007cs-H3 for guix-patches@gnu.org; Tue, 11 Feb 2020 12:50:37 -0500 From: Konrad Hinsen Date: Tue, 11 Feb 2020 11:33:20 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39566@debbugs.gnu.org * gnu/packages/lisp-xyz.scm (sbcl-specialized-function, cl-specialized-function): New variables. --- gnu/packages/lisp-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 2a17496ecc..c22c1ed5a3 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -10423,3 +10423,45 @@ correctly.") (define-public cl-trivialib-type-unify (sbcl-package->cl-source-package sbcl-trivialib-type-unify)) + +(define-public sbcl-specialized-function + (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc") + (revision "1")) + (package + (name "sbcl-specialized-function") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/numcl/specialized-function.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj")))) + (build-system asdf-build-system/sbcl) + (synopsis "Julia-like dispatch for Common Lisp") + (description + "This library is part of NUMCL. It provides a macro +@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments, +lazily compiling a type-specific version of the function from the same +code. The main target of this macro is speed.") + (home-page "https://github.com/numcl/specialized-function") + (license license:lgpl3+) + (inputs + `(("trivia" ,sbcl-trivia) + ("alexandria" ,sbcl-alexandria) + ("iterate" ,sbcl-iterate) + ("lisp-namespace" ,sbcl-lisp-namespace) + ("type-r" ,sbcl-type-r) + ("trivial-cltl2" ,sbcl-trivial-cltl2))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (arguments + `(#:asd-system-name "specialized-function" + #:asd-file "specialized-function.asd" + #:test-asd-file "specialized-function.test.asd"))))) + +(define-public cl-specialized-function + (sbcl-package->cl-source-package sbcl-specialized-function)) -- 2.25.0