unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#59170] [PATCH] gnu: Add cl-nsymbols.
@ 2022-11-10 12:56 Artyom Bologov
  2022-11-10 13:46 ` bug#59170: " Guillaume Le Vaillant
  0 siblings, 1 reply; 2+ messages in thread
From: Artyom Bologov @ 2022-11-10 12:56 UTC (permalink / raw)
  To: 59170

[-- Attachment #1: Type: text/plain, Size: 36 bytes --]

Hello Guix,

This adds cl-nsymbols


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Add nsymbols --]
[-- Type: text/x-patch, Size: 2532 bytes --]

From 58caa7d89223e80032606a99b35bd6221152c4bd Mon Sep 17 00:00:00 2001
From: Artyom Bologov <mail@aartaka.me>
Date: Thu, 10 Nov 2022 16:53:09 +0400
Subject: [PATCH] gnu: Add cl-nsymbols.

* gnu/packages/lisp-xyz.scm (sbcl-nsymbols, cl-nsymbols, ecl-nsymbols): New
  variables.
---
 gnu/packages/lisp-xyz.scm | 50 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index b3c5eec050..259c13affd 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -22637,6 +22637,56 @@ (define-public cl-nactivitypub
 (define-public ecl-nactivitypub
   (sbcl-package->ecl-package sbcl-nactivitypub))
 
+(define-public sbcl-nsymbols
+  (package
+   (name "sbcl-nsymbols")
+   (version "0.2.0")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/atlas-engineer/nsymbols")
+           (commit version)))
+     (file-name (git-file-name "cl-nsymbols" version))
+     (sha256
+      (base32
+       "1nks5v2l6vf0kwiyv3r2lickp3xhyi0ck33y1l08crmwhn097hpd"))))
+   (build-system asdf-build-system/sbcl)
+   (native-inputs (list sbcl-lisp-unit2 sbcl))
+   (synopsis
+    "Functions to search, filter, and group symbols in chosen packages")
+   (home-page "https://github.com/atlas-engineer/nsymbols")
+   (description "Nsymbols extends the regular package API of ANSI CL with more
+operations, allowing one to list:
+
+@itemize
+@item @code{package-symbols}.
+@item @code{package-variables}.
+@item @code{package-functions}.
+@item @code{package-generic-functions}.
+@item @code{package-macros}.
+@item @code{package-classes}.
+@item @code{package-structures}.
+@item And other symbol types, given code@{define-symbol-type} for those.
+@end itemize
+
+Nsymbols can also find symbols by their name/matching symbol with
+@code{resolve-symbol}. All these operations are aware of symbol
+visibility in the given packages, due to a @code{symbol-visibility}
+function.
+
+An additional @code{nsymbols/star} system has a set of function
+mirroring the regular Nsymbols ones, but using @code{closer-mop} to
+provide better results and returning structured data instead of
+symbols.")
+   (license license:bsd-3)))
+
+(define-public cl-nsymbols
+  (sbcl-package->cl-source-package sbcl-nsymbols))
+
+(define-public ecl-nsymbols
+  (sbcl-package->ecl-package sbcl-nsymbols))
+
 (define-public sbcl-utils-kt
   (let ((commit "4adfe2889036ab5ffdd3cc2182ca2cc692bf11ff"))
     (package
-- 
2.37.1


[-- Attachment #3: Type: text/plain, Size: 28 bytes --]


Thanks,
--
Artyom Bologov.

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-11-10 13:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-10 12:56 [bug#59170] [PATCH] gnu: Add cl-nsymbols Artyom Bologov
2022-11-10 13:46 ` bug#59170: " Guillaume Le Vaillant

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).