public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-haskell/data-accessor/
@ 2016-09-11 10:01 Sergei Trofimovich
  0 siblings, 0 replies; 3+ messages in thread
From: Sergei Trofimovich @ 2016-09-11 10:01 UTC (permalink / raw
  To: gentoo-commits

commit:     4e200d25d801924de0fccbe8e0994d8482e7b291
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 11 09:47:10 2016 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Sep 11 10:01:31 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e200d25

dev-haskell/data-accessor: access library to record fields, a depend of dev-haskell/idiii

Package-Manager: portage-2.3.0

 dev-haskell/data-accessor/Manifest                 |  1 +
 .../data-accessor/data-accessor-0.2.2.7.ebuild     | 26 ++++++++
 dev-haskell/data-accessor/metadata.xml             | 70 ++++++++++++++++++++++
 3 files changed, 97 insertions(+)

diff --git a/dev-haskell/data-accessor/Manifest b/dev-haskell/data-accessor/Manifest
new file mode 100644
index 00000000..b9ef247
--- /dev/null
+++ b/dev-haskell/data-accessor/Manifest
@@ -0,0 +1 @@
+DIST data-accessor-0.2.2.7.tar.gz 9670 SHA256 3465227ad5f81059a885d354e2f3c108d550287580e6939e18350fa65e78c2ed SHA512 42f78d5be738e83e2bc64a2f38bc70748ecb741433916c4e527355f5e808a844e43b14607cfff149a5951f557c73a947469c878340738244e3778f475ccd021d WHIRLPOOL 5d9cb0eeda4d89b6e5b5e22820431b20faa9736cf539705afdd3bdc9accadec1138ff8acd33d00389755f1b803b79cfd240b13037cafdb27576478084e813ec1

diff --git a/dev-haskell/data-accessor/data-accessor-0.2.2.7.ebuild b/dev-haskell/data-accessor/data-accessor-0.2.2.7.ebuild
new file mode 100644
index 00000000..cf00a33
--- /dev/null
+++ b/dev-haskell/data-accessor/data-accessor-0.2.2.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.6.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="Utilities for accessing and manipulating fields of records"
+HOMEPAGE="http://www.haskell.org/haskellwiki/Record_access"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-haskell/transformers-0.2:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
+	>=dev-lang/ghc-7.4.1:=
+"
+DEPEND="${RDEPEND}
+	>=dev-haskell/cabal-1.6
+"

diff --git a/dev-haskell/data-accessor/metadata.xml b/dev-haskell/data-accessor/metadata.xml
new file mode 100644
index 00000000..1962ea1
--- /dev/null
+++ b/dev-haskell/data-accessor/metadata.xml
@@ -0,0 +1,70 @@
+<?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>
+	<longdescription>
+		In Haskell 98 the name of a record field
+		is automatically also the name of a function which gets the value
+		of the according field.
+		E.g. if we have
+		
+		data Pair a b = Pair
+		first :: a, second :: b
+		
+		then
+		
+		&gt; first  :: Pair a b -&gt; a
+		&gt; second :: Pair a b -&gt; b
+		
+		However for setting or modifying a field value
+		we need to use some syntactic sugar, which is often clumsy.
+		
+		modifyFirst :: (a -&gt; a) -&gt; (Pair a b -&gt; Pair a b)
+		modifyFirst f r\@(Pair
+		first=a
+		) = r
+		first = f a
+		
+		With this package you can define record field accessors
+		which allow setting, getting and modifying values easily.
+		The package clearly demonstrates the power of the functional approach:
+		You can combine accessors of a record and sub-records,
+		to make the access look like the fields of the sub-record belong to the main record.
+		
+		Example:
+		
+		&gt; *Data.Accessor.Example&gt; (first^:second^=10) (('b',7),"hallo")
+		&gt; (('b',10),"hallo")
+		
+		You can easily manipulate record fields in a 'Control.Monad.State.State' monad,
+		you can easily code 'Show' instances that use the Accessor syntax
+		and you can parse binary streams into records.
+		See @Data.Accessor.Example@ for demonstration of all features.
+		
+		It would be great if in revised Haskell versions the names of record fields
+		are automatically 'Data.Accessor.Accessor's
+		rather than plain @get@ functions.
+		For now, the package @data-accessor-template@ provides Template Haskell functions
+		for automated generation of 'Data.Acesssor.Accessor's.
+		See also the other @data-accessor@ packages
+		that provide an Accessor interface to other data types.
+		The package @enumset@ provides accessors to bit-packed records.
+		
+		For similar packages see @lenses@ and @fclabel@.
+		A related concept are editors
+		&lt;http://conal.net/blog/posts/semantic-editor-combinators/&gt;.
+		Editors only consist of a modify method
+		(and @modify@ applied to a 'const' function is a @set@ function).
+		This way, they can modify all function values of a function at once,
+		whereas an accessor can only change a single function value,
+		say, it can change @f 0 = 1@ to @f 0 = 2@.
+		This way, editors can even change the type of a record or a function.
+		An Arrow instance can be defined for editors,
+		but for accessors only a Category instance is possible ('(.)' method).
+		The reason is the @arr@ method of the @Arrow@ class,
+		that conflicts with the two-way nature (set and get) of accessors.
+	</longdescription>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-haskell/data-accessor/
@ 2019-12-14 23:47 Sergei Trofimovich
  0 siblings, 0 replies; 3+ messages in thread
From: Sergei Trofimovich @ 2019-12-14 23:47 UTC (permalink / raw
  To: gentoo-commits

commit:     3b9b2488f22bb1dc6132185a099d5913663f725e
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 23:40:03 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 23:47:23 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b9b2488

dev-haskell/data-accessor: bump up to 0.2.3

Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-haskell/data-accessor/Manifest                 |  1 +
 .../data-accessor/data-accessor-0.2.3.ebuild       | 24 ++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/dev-haskell/data-accessor/Manifest b/dev-haskell/data-accessor/Manifest
index 06b6228b6e7..3546edb6c43 100644
--- a/dev-haskell/data-accessor/Manifest
+++ b/dev-haskell/data-accessor/Manifest
@@ -1 +1,2 @@
 DIST data-accessor-0.2.2.7.tar.gz 9670 BLAKE2B ac672adce3fe9dcf4bd01b47a05c089fef14e485835271627b9dc3f4a85aa39b98e2cc36213988516d2eb45bd9acb03e9ba2f822d215bfc322a35e7a9a0cf73b SHA512 42f78d5be738e83e2bc64a2f38bc70748ecb741433916c4e527355f5e808a844e43b14607cfff149a5951f557c73a947469c878340738244e3778f475ccd021d
+DIST data-accessor-0.2.3.tar.gz 10324 BLAKE2B 1db06e59b36c882310d3cf597a3642c3fb7b1b30df41d4fc0eb7f21087fd1f55ce70c8d7b460cd64384034395ab98ebc9ddf1059060f9dbfbf70012a11da0ee3 SHA512 7e875010f9835e3706d9d760e9490e567d14498cb86d485a6b29793d95172e1c5d767aee181eef7e0f160966b93144164cd5b6dc474fb44c1367b4a90d1490b4

diff --git a/dev-haskell/data-accessor/data-accessor-0.2.3.ebuild b/dev-haskell/data-accessor/data-accessor-0.2.3.ebuild
new file mode 100644
index 00000000000..62dbaad16fa
--- /dev/null
+++ b/dev-haskell/data-accessor/data-accessor-0.2.3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.6.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="Utilities for accessing and manipulating fields of records"
+HOMEPAGE="http://www.haskell.org/haskellwiki/Record_access"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/ghc-7.8.2:=
+"
+DEPEND="${RDEPEND}
+	>=dev-haskell/cabal-1.18.1.3
+"


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-haskell/data-accessor/
@ 2020-09-12 14:59 Sergei Trofimovich
  0 siblings, 0 replies; 3+ messages in thread
From: Sergei Trofimovich @ 2020-09-12 14:59 UTC (permalink / raw
  To: gentoo-commits

commit:     07d616d703434bcb3b061b9e3c02344296598eec
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 12 14:43:31 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Sep 12 14:58:41 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07d616d7

dev-haskell/data-accessor: drop old

Package-Manager: Portage-3.0.6, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-haskell/data-accessor/Manifest                 |  1 -
 .../data-accessor/data-accessor-0.2.2.7.ebuild     | 25 ----------------------
 2 files changed, 26 deletions(-)

diff --git a/dev-haskell/data-accessor/Manifest b/dev-haskell/data-accessor/Manifest
index 3546edb6c43..b85839ce9bd 100644
--- a/dev-haskell/data-accessor/Manifest
+++ b/dev-haskell/data-accessor/Manifest
@@ -1,2 +1 @@
-DIST data-accessor-0.2.2.7.tar.gz 9670 BLAKE2B ac672adce3fe9dcf4bd01b47a05c089fef14e485835271627b9dc3f4a85aa39b98e2cc36213988516d2eb45bd9acb03e9ba2f822d215bfc322a35e7a9a0cf73b SHA512 42f78d5be738e83e2bc64a2f38bc70748ecb741433916c4e527355f5e808a844e43b14607cfff149a5951f557c73a947469c878340738244e3778f475ccd021d
 DIST data-accessor-0.2.3.tar.gz 10324 BLAKE2B 1db06e59b36c882310d3cf597a3642c3fb7b1b30df41d4fc0eb7f21087fd1f55ce70c8d7b460cd64384034395ab98ebc9ddf1059060f9dbfbf70012a11da0ee3 SHA512 7e875010f9835e3706d9d760e9490e567d14498cb86d485a6b29793d95172e1c5d767aee181eef7e0f160966b93144164cd5b6dc474fb44c1367b4a90d1490b4

diff --git a/dev-haskell/data-accessor/data-accessor-0.2.2.7.ebuild b/dev-haskell/data-accessor/data-accessor-0.2.2.7.ebuild
deleted file mode 100644
index 04a5ac7304f..00000000000
--- a/dev-haskell/data-accessor/data-accessor-0.2.2.7.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-# ebuild generated by hackport 0.4.6.9999
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour"
-inherit haskell-cabal
-
-DESCRIPTION="Utilities for accessing and manipulating fields of records"
-HOMEPAGE="https://www.haskell.org/haskellwiki/Record_access"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND=">=dev-haskell/transformers-0.2:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
-	>=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
-	>=dev-haskell/cabal-1.6
-"


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-09-12 14:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-12 14:59 [gentoo-commits] repo/gentoo:master commit in: dev-haskell/data-accessor/ Sergei Trofimovich
  -- strict thread matches above, loose matches on Subject: below --
2019-12-14 23:47 Sergei Trofimovich
2016-09-11 10:01 Sergei Trofimovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox