commit
03bfa468db
@ -0,0 +1 @@
|
|||||||
|
a1d0065afbc280a71e03ae5f7c53dddcd3c56e70 SOURCES/strict-0.4.0.1.tar.gz
|
@ -0,0 +1 @@
|
|||||||
|
SOURCES/strict-0.4.0.1.tar.gz
|
@ -0,0 +1,116 @@
|
|||||||
|
Name: strict
|
||||||
|
Version: 0.4.0.1
|
||||||
|
x-revision: 4
|
||||||
|
Synopsis: Strict data types and String IO.
|
||||||
|
Category: Data, System
|
||||||
|
Description:
|
||||||
|
This package provides strict versions of some standard Haskell data
|
||||||
|
types (pairs, Maybe and Either). It also contains strict IO operations.
|
||||||
|
.
|
||||||
|
It is common knowledge that lazy datastructures can lead to space-leaks.
|
||||||
|
This problem is particularly prominent, when using lazy datastructures to
|
||||||
|
store the state of a long-running application in memory. One common
|
||||||
|
solution to this problem is to use @seq@ and its variants in every piece of
|
||||||
|
code that updates your state. However a much easier solution is to use
|
||||||
|
fully strict types to store such state values. By \"fully strict types\" we
|
||||||
|
mean types for whose values it holds that, if they are in weak-head normal
|
||||||
|
form, then they are also in normal form. Intuitively, this means that
|
||||||
|
values of fully strict types cannot contain unevaluated thunks.
|
||||||
|
.
|
||||||
|
To define a fully strict datatype, one typically uses the following recipe.
|
||||||
|
.
|
||||||
|
1. Make all fields of every constructor strict; i.e., add a bang to
|
||||||
|
all fields.
|
||||||
|
.
|
||||||
|
2. Use only strict types for the fields of the constructors.
|
||||||
|
.
|
||||||
|
The second requirement is problematic as it rules out the use of
|
||||||
|
the standard Haskell 'Maybe', 'Either', and pair types. This library
|
||||||
|
solves this problem by providing strict variants of these types and their
|
||||||
|
corresponding standard support functions and type-class instances.
|
||||||
|
.
|
||||||
|
Note that this library does currently not provide fully strict lists.
|
||||||
|
They can be added if they are really required. However, in many cases one
|
||||||
|
probably wants to use unboxed or strict boxed vectors from the 'vector'
|
||||||
|
library (<http://hackage.haskell.org/package/vector>) instead of strict
|
||||||
|
lists. Moreover, instead of @String@s one probably wants to use strict
|
||||||
|
@Text@ values from the @text@ library
|
||||||
|
(<http://hackage.haskell.org/package/text>).
|
||||||
|
.
|
||||||
|
This library comes with batteries included; i.e., mirror functions and
|
||||||
|
instances of the lazy versions in @base@. It also includes instances for
|
||||||
|
type-classes from the @deepseq@, @binary@, and @hashable@ packages.
|
||||||
|
License: BSD3
|
||||||
|
License-File: LICENSE
|
||||||
|
Author: Roman Leshchinskiy <rl@cse.unsw.edu.au>
|
||||||
|
Simon Meier <iridcode@gmail.com>
|
||||||
|
Maintainer: Don Stewart <dons@galois.com>,
|
||||||
|
Bas van Dijk <v.dijk.bas@gmail.com>,
|
||||||
|
Oleg Grenrus <oleg.grenrus@iki.fi>,
|
||||||
|
Simon Meier <iridcode@gmail.com>,
|
||||||
|
Ximin Luo <infinity0@pwned.gg>
|
||||||
|
Copyright: (c) 2006-2008 by Roman Leshchinskiy
|
||||||
|
(c) 2013-2014 by Simon Meier
|
||||||
|
Homepage: https://github.com/haskell-strict/strict
|
||||||
|
Cabal-Version: >= 1.10
|
||||||
|
Build-type: Simple
|
||||||
|
extra-source-files: CHANGELOG.md
|
||||||
|
tested-with:
|
||||||
|
GHC ==7.4.2
|
||||||
|
|| ==7.6.3
|
||||||
|
|| ==7.8.4
|
||||||
|
|| ==7.10.3
|
||||||
|
|| ==8.0.2
|
||||||
|
|| ==8.2.2
|
||||||
|
|| ==8.4.4
|
||||||
|
|| ==8.6.5
|
||||||
|
|| ==8.8.3
|
||||||
|
|| ==8.10.4
|
||||||
|
|| ==9.0.1
|
||||||
|
|| ==9.2.1
|
||||||
|
|
||||||
|
flag assoc
|
||||||
|
description: Build with assoc dependency
|
||||||
|
manual: True
|
||||||
|
default: True
|
||||||
|
|
||||||
|
library
|
||||||
|
default-language: Haskell2010
|
||||||
|
hs-source-dirs: src
|
||||||
|
ghc-options: -Wall
|
||||||
|
|
||||||
|
build-depends:
|
||||||
|
base >= 4.5.0.0 && < 5
|
||||||
|
, binary >= 0.5.1.0 && < 0.9
|
||||||
|
, bytestring >= 0.9.2.1 && < 0.12
|
||||||
|
, deepseq >= 1.3.0.0 && < 1.5
|
||||||
|
, hashable >= 1.2.7.0 && < 1.5
|
||||||
|
, text >= 1.2.3.0 && < 1.3 || >=2.0 && <2.1
|
||||||
|
, these >= 1.1.1.1 && < 1.2
|
||||||
|
, transformers >= 0.3.0.0 && < 0.7
|
||||||
|
, ghc-prim
|
||||||
|
|
||||||
|
if !impl(ghc >= 8.0)
|
||||||
|
build-depends:
|
||||||
|
semigroups >= 0.18.5 && < 0.21
|
||||||
|
, transformers-compat >= 0.6.5 && < 0.8
|
||||||
|
|
||||||
|
-- Ensure Data.Functor.Classes is always available
|
||||||
|
if impl(ghc >= 7.10)
|
||||||
|
build-depends: transformers >= 0.4.2.0
|
||||||
|
|
||||||
|
if !impl(ghc >= 8.2)
|
||||||
|
build-depends:
|
||||||
|
bifunctors >= 5.5.2 && < 5.6
|
||||||
|
|
||||||
|
if flag(assoc)
|
||||||
|
build-depends: assoc >= 1.0.1 && < 1.1
|
||||||
|
|
||||||
|
exposed-modules:
|
||||||
|
Data.Strict
|
||||||
|
Data.Strict.Classes
|
||||||
|
Data.Strict.These
|
||||||
|
Data.Strict.Tuple
|
||||||
|
Data.Strict.Maybe
|
||||||
|
Data.Strict.Either
|
||||||
|
System.IO.Strict
|
@ -0,0 +1,259 @@
|
|||||||
|
# generated by cabal-rpm-2.0.9
|
||||||
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
|
||||||
|
|
||||||
|
%global pkg_name strict
|
||||||
|
%global pkgver %{pkg_name}-%{version}
|
||||||
|
|
||||||
|
Name: ghc-%{pkg_name}
|
||||||
|
Version: 0.4.0.1
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: Strict data types and String IO
|
||||||
|
|
||||||
|
License: BSD
|
||||||
|
Url: https://hackage.haskell.org/package/%{pkg_name}
|
||||||
|
# Begin cabal-rpm sources:
|
||||||
|
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||||
|
Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
|
||||||
|
# End cabal-rpm sources
|
||||||
|
|
||||||
|
# Begin cabal-rpm deps:
|
||||||
|
BuildRequires: ghc-Cabal-devel
|
||||||
|
BuildRequires: ghc-rpm-macros
|
||||||
|
BuildRequires: ghc-assoc-prof
|
||||||
|
BuildRequires: ghc-base-prof
|
||||||
|
BuildRequires: ghc-binary-prof
|
||||||
|
BuildRequires: ghc-bytestring-prof
|
||||||
|
BuildRequires: ghc-deepseq-prof
|
||||||
|
BuildRequires: ghc-hashable-prof
|
||||||
|
BuildRequires: ghc-text-prof
|
||||||
|
BuildRequires: ghc-these-prof
|
||||||
|
BuildRequires: ghc-transformers-prof
|
||||||
|
# End cabal-rpm deps
|
||||||
|
|
||||||
|
%description
|
||||||
|
This package provides strict versions of some standard Haskell data types
|
||||||
|
(pairs, Maybe and Either). It also contains strict IO operations.
|
||||||
|
|
||||||
|
It is common knowledge that lazy datastructures can lead to space-leaks.
|
||||||
|
This problem is particularly prominent, when using lazy datastructures to store
|
||||||
|
the state of a long-running application in memory. One common solution to this
|
||||||
|
problem is to use 'seq' and its variants in every piece of code that updates
|
||||||
|
your state. However a much easier solution is to use fully strict types to
|
||||||
|
store such state values. By "fully strict types" we mean types for whose values
|
||||||
|
it holds that, if they are in weak-head normal form, then they are also in
|
||||||
|
normal form. Intuitively, this means that values of fully strict types cannot
|
||||||
|
contain unevaluated thunks.
|
||||||
|
|
||||||
|
To define a fully strict datatype, one typically uses the following recipe.
|
||||||
|
|
||||||
|
1. Make all fields of every constructor strict; i.e., add a bang to all fields.
|
||||||
|
|
||||||
|
2. Use only strict types for the fields of the constructors.
|
||||||
|
|
||||||
|
The second requirement is problematic as it rules out the use of the standard
|
||||||
|
Haskell 'Maybe', 'Either', and pair types. This library solves this problem by
|
||||||
|
providing strict variants of these types and their corresponding standard
|
||||||
|
support functions and type-class instances.
|
||||||
|
|
||||||
|
Note that this library does currently not provide fully strict lists.
|
||||||
|
They can be added if they are really required. However, in many cases one
|
||||||
|
probably wants to use unboxed or strict boxed vectors from the 'vector' library
|
||||||
|
(<http://hackage.haskell.org/package/vector>) instead of strict lists.
|
||||||
|
Moreover, instead of 'String's one probably wants to use strict 'Text' values
|
||||||
|
from the 'text' library (<http://hackage.haskell.org/package/text>).
|
||||||
|
|
||||||
|
This library comes with batteries included; i.e., mirror functions and
|
||||||
|
instances of the lazy versions in 'base'. It also includes instances for
|
||||||
|
type-classes from the 'deepseq', 'binary', and 'hashable' packages.
|
||||||
|
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Haskell %{pkg_name} library development files
|
||||||
|
Provides: %{name}-static = %{version}-%{release}
|
||||||
|
Provides: %{name}-static%{?_isa} = %{version}-%{release}
|
||||||
|
%if %{defined ghc_version}
|
||||||
|
Requires: ghc-compiler = %{ghc_version}
|
||||||
|
%endif
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package provides the Haskell %{pkg_name} library development files.
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with haddock}
|
||||||
|
%package doc
|
||||||
|
Summary: Haskell %{pkg_name} library documentation
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: ghc-filesystem
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
This package provides the Haskell %{pkg_name} library documentation.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with ghc_prof}
|
||||||
|
%package prof
|
||||||
|
Summary: Haskell %{pkg_name} profiling library
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Supplements: (%{name}-devel and ghc-prof)
|
||||||
|
|
||||||
|
%description prof
|
||||||
|
This package provides the Haskell %{pkg_name} profiling library.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
# Begin cabal-rpm setup:
|
||||||
|
%setup -q -n %{pkgver}
|
||||||
|
cp -bp %{SOURCE1} %{pkg_name}.cabal
|
||||||
|
# End cabal-rpm setup
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# Begin cabal-rpm build:
|
||||||
|
%ghc_lib_build
|
||||||
|
# End cabal-rpm build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
# Begin cabal-rpm install
|
||||||
|
%ghc_lib_install
|
||||||
|
# End cabal-rpm install
|
||||||
|
|
||||||
|
|
||||||
|
%files -f %{name}.files
|
||||||
|
# Begin cabal-rpm files:
|
||||||
|
%license LICENSE
|
||||||
|
# End cabal-rpm files
|
||||||
|
|
||||||
|
|
||||||
|
%files devel -f %{name}-devel.files
|
||||||
|
%doc CHANGELOG.md
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with haddock}
|
||||||
|
%files doc -f %{name}-doc.files
|
||||||
|
%license LICENSE
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with ghc_prof}
|
||||||
|
%files prof -f %{name}-prof.files
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Aug 18 2023 Alexey Lyubimov <a.lyubimov@msvsphere.ru> - 0.4.0.1-2
|
||||||
|
- Rebuilt for MSVSphere 9.2
|
||||||
|
|
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Aug 5 2021 Jens Petersen <petersen@redhat.com> - 0.4.0.1-1
|
||||||
|
- update to 0.4.0.1
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-31
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-30
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-29
|
||||||
|
- Second attempt - Rebuilt for
|
||||||
|
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-28
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 17 2020 Jens Petersen <petersen@redhat.com> - 0.3.2-27
|
||||||
|
- refresh to cabal-rpm-2.0.6
|
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-26
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Aug 02 2019 Jens Petersen <petersen@redhat.com> - 0.3.2-25
|
||||||
|
- add doc and prof subpackages (cabal-rpm-1.0.0)
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-24
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Feb 17 2019 Jens Petersen <petersen@redhat.com> - 0.3.2-23
|
||||||
|
- refresh to cabal-rpm-0.13
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-22
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-21
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-20
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 26 2018 Jens Petersen <petersen@redhat.com> - 0.3.2-19
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-18
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-17
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 24 2017 Jens Petersen <petersen@redhat.com> - 0.3.2-16
|
||||||
|
- refresh to cabal-rpm-0.11.1
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-15
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-14
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 27 2015 Jens Petersen <petersen@redhat.com> - 0.3.2-12
|
||||||
|
- cblrpm refresh
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 04 2013 Jens Petersen <petersen@redhat.com> - 0.3.2-8
|
||||||
|
- update to new simplified Haskell Packaging Guidelines
|
||||||
|
|
||||||
|
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Nov 17 2012 Jens Petersen <petersen@redhat.com> - 0.3.2-6
|
||||||
|
- update with cabal-rpm
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Mar 18 2012 Jens Petersen <petersen@redhat.com> - 0.3.2-4
|
||||||
|
- update to cabal2spec-0.25
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-3.3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Oct 24 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.3.2-2.3
|
||||||
|
- rebuild with new gmp without compat lib
|
||||||
|
|
||||||
|
* Fri Oct 21 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.3.2-2.2
|
||||||
|
- rebuild with new gmp without compat lib
|
||||||
|
|
||||||
|
* Tue Oct 11 2011 Peter Schiffer <pschiffe@redhat.com> - 0.3.2-2.1
|
||||||
|
- rebuild with new gmp
|
||||||
|
|
||||||
|
* Tue Jun 14 2011 Lakshmi Narasimhan T V <lakshminaras2002@gmail.com> - 0.3.2-2
|
||||||
|
- Upgrade to cabal2spec-0.22.7
|
||||||
|
|
||||||
|
* Tue Apr 12 2011 Lakshmi Narasimhan T V <lakshminaras2002@gmail.com> - 0.3.2-1
|
||||||
|
- License is BSD.
|
||||||
|
|
||||||
|
* Tue Apr 12 2011 Fedora Haskell SIG <haskell-devel@lists.fedoraproject.org> - 0.3.2-0
|
||||||
|
- initial packaging for Fedora automatically generated by cabal2spec-0.22.5
|
Loading…
Reference in new issue