summaryrefslogtreecommitdiff
path: root/dev-haskell/chimera
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
parent05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff)
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-haskell/chimera')
-rw-r--r--dev-haskell/chimera/Manifest3
-rw-r--r--dev-haskell/chimera/chimera-0.3.1.0.ebuild38
-rw-r--r--dev-haskell/chimera/metadata.xml37
3 files changed, 78 insertions, 0 deletions
diff --git a/dev-haskell/chimera/Manifest b/dev-haskell/chimera/Manifest
new file mode 100644
index 000000000000..0d04c1501f8d
--- /dev/null
+++ b/dev-haskell/chimera/Manifest
@@ -0,0 +1,3 @@
+DIST chimera-0.3.1.0.tar.gz 13809 BLAKE2B 64a343f84de1cd535676934c26e43994062ea24fdf27463a22b3ff1086480a277fc3f0f87905f9060bca80e46ab0a553e5091cb27065ba0e3321e62800a7756d SHA512 7f155bb3d938331760e8e06c47d67a985588e1817e8b151f6a58074d77a71ce0a70537c55ab3d97c02867d9f2a3ae2f31ed87432e833930b3be6c2f92a8947fc
+EBUILD chimera-0.3.1.0.ebuild 982 BLAKE2B 11ff61ae5f4d5707c99b2d83f8746b1784938eabb9cefe9b951f148ded71b99c9a63a90b5f842cc89bb03fd4e5305bed6d637fd303cf8b916ce6c706ae4f04c2 SHA512 ca55bfd97af39256c9746153cb23f937e22194437d8f7a10adb3b5e9867a344941d6bb9e7dbb9dc8579195753834291f084fd2a19a609279f948699ca40ca4f5
+MISC metadata.xml 1372 BLAKE2B c481306daadd31f9b8d6b5ec2cadc7f78b01b4555ff84727abf59e98c845f233eecb3711e4421f5cd0dfca99d55dc8cecf5875d4b8a4b6363b4362e2fe8780e3 SHA512 3eb9213682d3cdcc39548965b2cea32d353e96efbeeb1212a1df51526e2e3ed9c122345c2f4e0797d2beaaa2250525f30aef377a1196bcf9b480f79c0f03cf65
diff --git a/dev-haskell/chimera/chimera-0.3.1.0.ebuild b/dev-haskell/chimera/chimera-0.3.1.0.ebuild
new file mode 100644
index 000000000000..68d9b6f55253
--- /dev/null
+++ b/dev-haskell/chimera/chimera-0.3.1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.6.4.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="Lazy infinite streams with O(1) indexing"
+HOMEPAGE="https://github.com/Bodigrim/chimera#readme"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+representable"
+
+RDEPEND="dev-haskell/vector:=[profile?]
+ >=dev-lang/ghc-8.0.1:=
+ representable? ( dev-haskell/adjunctions:=[profile?]
+ dev-haskell/distributive:=[profile?]
+ dev-haskell/mtl:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.24.0.0
+ test? ( >=dev-haskell/quickcheck-2.10
+ dev-haskell/tasty
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-smallcheck )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag representable representable)
+}
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>