GNU bug report logs - #53765
[PATCH 00/17] Remove limitations on clojure-tools

Previous Next

Package: guix-patches;

Reported by: Reily Siegel <mail <at> reilysiegel.com>

Date: Fri, 4 Feb 2022 00:23:01 UTC

Severity: normal

Tags: patch

Full log


Message #395 received at 53765 <at> debbugs.gnu.org (full text, mbox):

From: Reily Siegel <mail <at> reilysiegel.com>
To: 53765 <at> debbugs.gnu.org
Cc: Maxime Devos <maximedevos <at> telenet.be>
Subject: [PATCH v3 04/17] gnu: Add clojure-core-cache.
Date: Sat, 15 Jan 2022 20:48:37 -0500
---
 gnu/packages/clojure.scm | 52 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f9349e7523..9063776921 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,58 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-core-cache
+  (package
+    (name "clojure-core-cache")
+    (version "1.0.225")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.cache")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1dr1ply7ffdbd6bv4gygzmc0wx3q7zwzaaa1p93s28jkfp28276l"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-data-priority-map))
+    (home-page "https://github.com/clojure/core.cache")
+    (synopsis "Caching library for Clojure implementing various cache strategies")
+    (description "@code{core.cache} is a Clojure library providing the
+following features:
+
+@itemize
+
+@item An underlying CacheProtocol used as the base abstraction for implementing
+new synchronous caches
+
+@item A @code{defcache} macro for defining key-value caches that implement the
+standard collection interfaces.
+
+@item Implementations of some basic caching strategies
+
+
+@itemize
+@item @acronym{FIFO, first in first out}
+@item @acronym{LRU, least recently used}
+@item @acronym{LU, least frequently used}
+@item @acronym{TLL, time to live}
+@item Naive cache which can grow indefinitely
+@end itemize
+
+@item Factory functions for each existing cache type
+@end itemize
+
+Caches are generally immutable and should be used in conjunction with
+Clojure's state management, such as atom.  SoftCache is the exception here,
+built on top of mutable Java collections, but it can be treated as an
+immutable cache as well.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-match
   (let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7")
         (revision "1")) ; this is the 1st commit buildable with clojure 1.9
-- 
2.35.1




This bug report was last modified 3 years and 57 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.