[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache.
From: |
Reily Siegel |
Subject: |
[bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache. |
Date: |
Wed, 06 Apr 2022 12:41:35 -0000 |
---
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
- [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools, Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 06/17] gnu: Add clojure-http-kit., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 03/17] gnu: Add java-eclipse-jetty-client., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache.,
Reily Siegel <=
- [bug#53765] [PATCH v3 02/17] gnu: Add clojure-data-json., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 05/17] gnu: Add clojure-core-memoize., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 01/17] gnu: Add clojure-data-priority-map., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 09/17] gnu: Add clojure-tools-reader., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 13/17] gnu: Add clojure-com-cognitect-aws-api., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 08/17] gnu: Add clojure-tools-analyzer-jvm., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 10/17] gnu: Add clojure-tools-logging., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3, Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 11/17] gnu: Add clojure-core-async., Reily Siegel, 2022/04/06
- [bug#53765] [PATCH v3 14/17] gnu: Add clojure-com-cognitect-aws-endpoints., Reily Siegel, 2022/04/06