summaryrefslogtreecommitdiff
path: root/dev-haskell/chimera/metadata.xml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
commit3cf7c3ef441822c889356fd1812ebf2944a59851 (patch)
treec513fe68548b40365c1c2ebfe35c58ad431cdd77 /dev-haskell/chimera/metadata.xml
parent05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff)
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-haskell/chimera/metadata.xml')
-rw-r--r--dev-haskell/chimera/metadata.xml37
1 files changed, 37 insertions, 0 deletions
diff --git a/dev-haskell/chimera/metadata.xml b/dev-haskell/chimera/metadata.xml
new file mode 100644
index 000000000000..317b99f5cc7f
--- /dev/null
+++ b/dev-haskell/chimera/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>haskell@gentoo.org</email>
+ <name>Gentoo Haskell</name>
+ </maintainer>
+ <use>
+ <flag name="representable">Define Representable instance from adjunctions package</flag>
+ </use>
+ <longdescription>
+ There are plenty of memoizing libraries on Hackage, but they
+ usually fall into two categories:
+
+ * Store cache as a flat array, enabling us
+ to obtain cached values in O(1) time, which is nice.
+ The drawback is that one must specify the size
+ of the array beforehand,
+ limiting an interval of inputs,
+ and actually allocate it at once.
+ * Store cache as a lazy binary tree.
+ Thanks to laziness, one can freely use the full range of inputs.
+ The drawback is that obtaining values from a tree
+ takes logarithmic time and is unfriendly to CPU cache,
+ which kinda defeats the purpose.
+
+ This package intends to tackle both issues,
+ providing a data type &#39;Chimera&#39; for
+ lazy infinite compact streams with cache-friendly O(1) indexing.
+
+ Additional features include:
+
+ * memoization of recursive functions and recurrent sequences,
+ * memoization of functions of several, possibly signed arguments,
+ * efficient memoization of boolean predicates.
+ </longdescription>
+</pkgmetadata>