diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
commit | 3cf7c3ef441822c889356fd1812ebf2944a59851 (patch) | |
tree | c513fe68548b40365c1c2ebfe35c58ad431cdd77 /dev-haskell/chimera | |
parent | 05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff) |
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-haskell/chimera')
-rw-r--r-- | dev-haskell/chimera/Manifest | 3 | ||||
-rw-r--r-- | dev-haskell/chimera/chimera-0.3.1.0.ebuild | 38 | ||||
-rw-r--r-- | dev-haskell/chimera/metadata.xml | 37 |
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 'Chimera' 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> |