[bug#53765,01/17] gnu: Add clojure-data-priority-map.
Commit Message
* gnu/packages/clojure.scm (clojure-data-priority-map): New variable.
---
gnu/packages/clojure.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
Comments
Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> [item priority]
Looks like Clojure code, so you can probably do use TeXinfo markup
here: @lisp{[item priority].
Greetings,
Maxime.
Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> conj/peek/pop operations
What's ‘conj’ here? While this term might make sense to Clojure
people, it is rather Clojure-specific and hence isn't meaningful to a
wide audience -- my first thought was that it meant ‘conjugation’
somehow. Using non-standard terminology makes, say, translating
descriptions harder. I would use standard terminology here: 'insert'
or 'add' instead of 'conj'.
Alternatively, you could rewrite the description to define a priority
map as a combination of a priority map and a priority queue and go from
there, avoiding naming the actual operations.
Greetings,
Maxime.
@@ -315,6 +315,36 @@ (define-public clojure-data-codec
is on par with Java implementations, e.g., Apache commons-codec.")
(license license:epl1.0)))
+(define-public clojure-data-priority-map
+ (package
+ (name "clojure-data-priority-map")
+ (version "1.1.0")
+ (home-page "https://github.com/clojure/data.priority-map")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1i6mf59g2l3vamris869mndy9l1bp5mzfqv5gj5qzzb937iiykm0"))))
+ (build-system clojure-build-system)
+ (arguments
+ '(#:source-dirs '("src/main/clojure")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()))
+ (synopsis "Clojure library implementing priority maps")
+ (description "A priority map is very similar to a sorted map, but whereas
+a sorted map produces a sequence of the entries sorted by key, a priority map
+produces the entries sorted by value.
+
+In addition to supporting all the functions a sorted map supports, a priority
+map can also be thought of as a queue of [item priority] pairs. To support
+usage as a versatile priority queue, priority maps also support conj/peek/pop
+operations.")
+ (license license:epl1.0)))
+
(define-public clojure-data-xml
(package
(name "clojure-data-xml")