commit ad8139551665bd658de6fe7b2d1ca04b298fe19ca11b1c23dd876a9e45331da0 Author: Peter Simons Date: Tue Dec 10 11:25:54 2024 +0000 osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-free revision:3, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-free?expand=0&rev=82 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/free-5.2.tar.gz b/free-5.2.tar.gz new file mode 100644 index 0000000..5194edd --- /dev/null +++ b/free-5.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72867f7c89173263765736e8d395e94291f1aaea626ecb1d673d72ce90b94f89 +size 58781 diff --git a/free.cabal b/free.cabal new file mode 100644 index 0000000..0f22709 --- /dev/null +++ b/free.cabal @@ -0,0 +1,127 @@ +name: free +category: Control, Monads +version: 5.2 +x-revision: 6 +license: BSD3 +cabal-version: 1.18 +license-file: LICENSE +author: Edward A. Kmett +maintainer: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/free/ +bug-reports: http://github.com/ekmett/free/issues +copyright: Copyright (C) 2008-2015 Edward A. Kmett +tested-with: GHC == 8.0.2 + , GHC == 8.2.2 + , GHC == 8.4.4 + , GHC == 8.6.5 + , GHC == 8.8.4 + , GHC == 8.10.7 + , GHC == 9.0.2 + , GHC == 9.2.6 + , GHC == 9.4.4 + , GHC == 9.6.1 +synopsis: Monads for free +description: + Free monads are useful for many tree-like structures and domain specific languages. + . + If @f@ is a 'Functor' then the free 'Monad' on @f@ is the type + of trees whose nodes are labeled with the constructors of @f@. The word + \"free\" is used in the sense of \"unrestricted\" rather than \"zero-cost\": + @Free f@ makes no constraining assumptions beyond those given by @f@ and the + definition of 'Monad'. As used here it is a standard term from the + mathematical theory of adjoint functors. + . + Cofree comonads are dual to free monads. They provide convenient ways to talk + about branching streams and rose-trees, and can be used to annotate syntax + trees. The cofree comonad can be seen as a stream parameterized by a 'Functor' + that controls its branching factor. + . + More information on free monads, including examples, can be found in the + following blog posts: + + + +build-type: Simple +extra-source-files: + .gitignore + .hlint.yaml + .vim.custom + README.markdown + CHANGELOG.markdown + doc/proof/Control/Comonad/Cofree/*.md + doc/proof/Control/Comonad/Trans/Cofree/*.md + examples/free-examples.cabal + examples/LICENSE + examples/*.hs + examples/*.lhs +extra-doc-files: + examples/*.hs + examples/*.lhs + +source-repository head + type: git + location: git://github.com/ekmett/free.git + +library + hs-source-dirs: src + + default-language: Haskell2010 + other-extensions: + MultiParamTypeClasses + FunctionalDependencies + FlexibleInstances + UndecidableInstances + Rank2Types + GADTs + + build-depends: + base >= 4.9 && < 5, + comonad >= 5.0.8 && < 6, + containers >= 0.5.7.1 && < 0.8, + distributive >= 0.5.2 && < 1, + exceptions >= 0.10.4 && < 0.11, + indexed-traversable >= 0.1.1 && < 0.2, + mtl >= 2.2.2 && < 2.4, + profunctors >= 5.6.1 && < 6, + semigroupoids >= 5.3.5 && < 7, + th-abstraction >= 0.4.2.0 && < 0.8, + transformers >= 0.5 && < 0.7, + transformers-base >= 0.4.5.2 && < 0.5, + template-haskell >= 2.11 && < 2.24 + + if !impl(ghc >= 8.2) + build-depends: bifunctor-classes-compat >= 0.1 && < 0.2 + + exposed-modules: + Control.Applicative.Free + Control.Applicative.Free.Fast + Control.Applicative.Free.Final + Control.Applicative.Trans.Free + Control.Alternative.Free + Control.Alternative.Free.Final + Control.Comonad.Cofree + Control.Comonad.Cofree.Class + Control.Comonad.Trans.Cofree + Control.Comonad.Trans.Coiter + Control.Monad.Free + Control.Monad.Free.Ap + Control.Monad.Free.Church + Control.Monad.Free.Class + Control.Monad.Free.TH + Control.Monad.Trans.Free + Control.Monad.Trans.Free.Ap + Control.Monad.Trans.Free.Church + Control.Monad.Trans.Iter + + ghc-options: -Wall -Wcompat -Wnoncanonical-monad-instances + + if !impl(ghc >= 8.8) + ghc-options: -Wnoncanonical-monadfail-instances + + if impl(ghc >= 9.0) + -- these flags may abort compilation with GHC-8.10 + -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295 + ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode + + x-docspec-extra-packages: tagged diff --git a/ghc-free.changes b/ghc-free.changes new file mode 100644 index 0000000..75b8dc9 --- /dev/null +++ b/ghc-free.changes @@ -0,0 +1,272 @@ +------------------------------------------------------------------- +Thu Dec 5 12:17:57 UTC 2024 - Peter Simons + +- Update free to version 5.2 revision 6. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Thu May 16 11:05:55 UTC 2024 - Peter Simons + +- Update free to version 5.2 revision 5. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Sun Mar 17 15:54:42 UTC 2024 - Peter Simons + +- Update free to version 5.2 revision 4. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Sat Sep 30 13:05:47 UTC 2023 - Peter Simons + +- Update free to version 5.2 revision 3. + 5.2 [2023.03.12] + ---------------- + * Drop support for GHC 7.10 and earlier. + * Drop redundant `Monad` constraints on many functions and instances. These + constraints were only present for compatibility with pre-7.10 versions of + GHC, which `free` no longer supports. + * Add `Eq`, `Eq1`, `Ord`, `Ord1`, and `Foldable` instances for `Ap` in + `Control.Applicative.Free`. + * Switch out `bifunctors` dependency for `bifunctor-classes-compat`. + +------------------------------------------------------------------- +Thu Mar 30 17:06:49 UTC 2023 - Peter Simons + +- Updated spec file to conform with ghc-rpm-macros-2.5.2. + +------------------------------------------------------------------- +Sun Mar 12 19:10:46 UTC 2023 - Peter Simons + +- Update free to version 5.1.10 revision 2. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Mon Feb 27 13:06:01 UTC 2023 - Peter Simons + +- Update free to version 5.1.10 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Wed Nov 30 12:05:58 UTC 2022 - Peter Simons + +- Update free to version 5.1.10. + 5.1.10 [2022.11.30] + ------------------- + * Add a `MonadFail` instance for `FT`. + +------------------------------------------------------------------- +Sat Jul 23 18:31:45 UTC 2022 - Peter Simons + +- Update free to version 5.1.9 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Sun Jun 26 16:02:11 UTC 2022 - Peter Simons + +- Update free to version 5.1.9. + 5.1.9 [2022.06.26] + ------------------ + * Simplify the `Eq` and `Ord` instances for `FT` to avoid the use of + overlapping instances. + + 5.1.8 [2022.05.07] + ------------------ + * Generalize the `Monad` constraint in the type signatures for + `hoistFreeT` in `Control.Monad.Trans.Free` and `Control.Monad.Trans.Free.Ap` + to a `Functor` constraint. + * Allow building with `transformers-0.6.*` and `mtl-2.3.*`. + +------------------------------------------------------------------- +Sun Dec 12 13:23:35 UTC 2021 - Peter Simons + +- Update free to version 5.1.7 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Fri Apr 30 20:30:54 UTC 2021 - psimons@suse.com + +- Update free to version 5.1.7. + 5.1.7 [2021.04.30] + ------------------ + * Enable `FlexibleContexts` in `Control.Monad.Trans.Free.Church` to allow + building with GHC 9.2. + +------------------------------------------------------------------- +Mon Jan 4 11:05:47 UTC 2021 - psimons@suse.com + +- Update free to version 5.1.6. + 5.1.6 [2020.12.31] + ------------------ + * Explicitly mark modules as `Safe`. + +------------------------------------------------------------------- +Sun Dec 27 17:28:57 UTC 2020 - psimons@suse.com + +- Update free to version 5.1.5 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup + +- disable %{ix86} build + +------------------------------------------------------------------- +Wed Dec 16 17:14:45 UTC 2020 - psimons@suse.com + +- Update free to version 5.1.5. + 5.1.5 [2020.12.16] + ------------------ + * Move `indexed-traversable` (`FunctorWithIndex` etc) instances from `lens`. + +------------------------------------------------------------------- +Tue Oct 6 08:56:01 UTC 2020 - psimons@suse.com + +- Update free to version 5.1.4. + 5.1.4 [2020.10.01] + ------------------ + * Allow building with `template-haskell-2.17.0.0` (GHC 9.0). + +------------------------------------------------------------------- +Mon Aug 31 09:34:30 UTC 2020 - psimons@suse.com + +- Update free to version 5.1.3 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Tue Aug 18 10:44:53 UTC 2020 - Peter Simons + +- Replace %setup -q with the more modern %autosetup macro. + +------------------------------------------------------------------- +Tue Jun 16 11:14:07 UTC 2020 - Peter Simons + +- Re-generate file with latest version of spec-cleaner. + +------------------------------------------------------------------- +Wed Nov 27 03:01:05 UTC 2019 - psimons@suse.com + +- Update free to version 5.1.3. + 5.1.3 [2019.11.26] + ------------------ + * Allow building with `template-haskell-2.16` (GHC 8.10). + * Add `Eq{1,2}`, `Ord{1,2}`, `Read{1,2}`, and `Show{1,2}` instances for + `CofreeF`. + +------------------------------------------------------------------- +Fri Nov 8 16:13:46 UTC 2019 - Peter Simons + +- Drop obsolete group attributes. + +------------------------------------------------------------------- +Wed Aug 28 02:02:43 UTC 2019 - psimons@suse.com + +- Update free to version 5.1.2. + 5.1.2 [2019.08.27] + ------------------ + * Implement more performant versions of `some` and `many` in the `Alternative` + instance for the final `Alt` encoding. + +------------------------------------------------------------------- +Fri May 3 02:02:58 UTC 2019 - psimons@suse.com + +- Update free to version 5.1.1. + 5.1.1 [2019.05.02] + ------------------ + * Allow building with `base-4.13` (GHC 8.8). + +------------------------------------------------------------------- +Sat Oct 20 11:31:32 UTC 2018 - Peter Simons + +- Use https URL to refer to bugs.opensuse.org. + +------------------------------------------------------------------- +Wed Jul 18 14:26:25 UTC 2018 - psimons@suse.com + +- Cosmetic: replace tabs with blanks, strip trailing white space, + and update copyright headers with spec-cleaner. + +------------------------------------------------------------------- +Fri Jul 13 14:32:09 UTC 2018 - psimons@suse.com + +- Update free to version 5.1. + 5.1 [2018.07.03] + ---------------- + * Generalize the type of `_Free`. + * Allow building with `containers-0.6`. + * Avoid incurring some dependencies when using recent GHCs. + + 5.0.2 [2018.04.25] + ------------------ + * Add `Generic` and `Generic1` instances where possible. + +------------------------------------------------------------------- +Mon May 14 17:02:11 UTC 2018 - psimons@suse.com + +- Update free to version 5.0.2. + * Add a `Semigroup` instance for `IterT`. + * Add `MonadFail` instances for `IterT` and `FreeT`. + * Add a `Comonad` instance for the free `Applicative`, `Ap`. + * Add `Control.Monad.Free.Ap` and `Control.Monad.Trans.Free.Ap` modules, based + on the "Applicative Effects in Free Monads" series of articles by Will + Fancher. + * Derive `Data` instances for `Free` and `Cofree`. + * `Control.Monad.Free.TH` now properly supports `template-haskell-2.11.0.0`. In + particular, it now supports `GadtC` and `RecGadtC`, which are new + `template-haskell` forms for representing GADTs. + * Add `telescoped_`, `shoots`, and `leaves` to `Control.Comonad.Cofree` + * Add the `Control.Applicative.Free.Fast` module, based on Dave Menendez's + article "Free Applicative Functors in Haskell" + * Add `foldFreeT` to `Control.Monad.Trans.Free` + * Improve the `foldMap` and `cutoff` functions for + `Control.Monad.Free.Church.F`, and add a `Traversable` + * Add a `MonadBase` instance for `FreeT` + * Add a performance test comparing Free and Church interpreters + * The use of `prelude-extras` has been removed. `free` now uses the + `Data.Functor.Classes` module to give `free`'s datatypes instances of `Eq1`, + `Ord1`, `Read1`, and `Show1`. Their `Eq`, `Ord`, `Read`, and `Show` instances + have also been modified to incorporate these classes. For example, what + previously existed as: + + ```haskell + instance (Eq (f (Free f a)), Eq a) => Eq (Free f a) where + ``` + + has now been changed to: + + ```haskell + instance (Eq1 f, Eq a) => Eq (Free f a) where + ``` + * Remove redundant `Functor` constraints from `Control.Alternative.Free` + +------------------------------------------------------------------- +Thu Aug 3 15:38:38 UTC 2017 - psimons@suse.com + +- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf. + +------------------------------------------------------------------- +Sun Jul 10 17:13:32 UTC 2016 - psimons@suse.com + +- Update to version 4.12.4 revision 0 with cabal2obs. + +------------------------------------------------------------------- +Mon Jan 18 10:33:25 UTC 2016 - mimi.vx@gmail.com + +- update to 4.12.4 +* Add instances for ExceptT: like ErrorT, but without an Error constraint. +* Support containers +* Support transformers 0.5 +* Removed a number of spurious class constraints. +* Support comonad 5 + +------------------------------------------------------------------- +Thu Aug 6 19:27:49 UTC 2015 - mimi.vx@gmail.com + +- update to 4.12.1 +* Add instances of MonadCatch and MonadThrow from exceptions to FT, FreeT and IterT. +* semigroupoids 5, profunctors 5, and bifunctors 5 support. + +------------------------------------------------------------------- +Sun Apr 26 17:48:04 UTC 2015 - mimi.vx@gmail.com + +- initial commit diff --git a/ghc-free.spec b/ghc-free.spec new file mode 100644 index 0000000..2b8bb51 --- /dev/null +++ b/ghc-free.spec @@ -0,0 +1,132 @@ +# +# spec file for package ghc-free +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global pkg_name free +%global pkgver %{pkg_name}-%{version} +Name: ghc-%{pkg_name} +Version: 5.2 +Release: 0 +Summary: Monads for free +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/%{pkg_name} +Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/6.cabal#/%{pkg_name}.cabal +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-comonad-devel +BuildRequires: ghc-comonad-prof +BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof +BuildRequires: ghc-distributive-devel +BuildRequires: ghc-distributive-prof +BuildRequires: ghc-exceptions-devel +BuildRequires: ghc-exceptions-prof +BuildRequires: ghc-indexed-traversable-devel +BuildRequires: ghc-indexed-traversable-prof +BuildRequires: ghc-mtl-devel +BuildRequires: ghc-mtl-prof +BuildRequires: ghc-profunctors-devel +BuildRequires: ghc-profunctors-prof +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-semigroupoids-devel +BuildRequires: ghc-semigroupoids-prof +BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-template-haskell-prof +BuildRequires: ghc-th-abstraction-devel +BuildRequires: ghc-th-abstraction-prof +BuildRequires: ghc-transformers-base-devel +BuildRequires: ghc-transformers-base-prof +BuildRequires: ghc-transformers-devel +BuildRequires: ghc-transformers-prof +ExcludeArch: %{ix86} + +%description +Free monads are useful for many tree-like structures and domain specific +languages. + +If 'f' is a 'Functor' then the free 'Monad' on 'f' is the type of trees whose +nodes are labeled with the constructors of 'f'. The word "free" is used in the +sense of "unrestricted" rather than "zero-cost": 'Free f' makes no constraining +assumptions beyond those given by 'f' and the definition of 'Monad'. +As used here it is a standard term from the mathematical theory of adjoint +functors. + +Cofree comonads are dual to free monads. They provide convenient ways to talk +about branching streams and rose-trees, and can be used to annotate syntax +trees. The cofree comonad can be seen as a stream parameterized by a 'Functor' +that controls its branching factor. + +More information on free monads, including examples, can be found in the +following blog posts: +. + +%package devel +Summary: Haskell %{pkg_name} library development files +Requires: %{name} = %{version}-%{release} +Requires: ghc-compiler = %{ghc_version} +Requires(post): ghc-compiler = %{ghc_version} +Requires(postun): ghc-compiler = %{ghc_version} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + +%package -n ghc-%{pkg_name}-doc +Summary: Haskell %{pkg_name} library documentation +Requires: ghc-filesystem +BuildArch: noarch + +%description -n ghc-%{pkg_name}-doc +This package provides the Haskell %{pkg_name} library documentation. + +%package -n ghc-%{pkg_name}-prof +Summary: Haskell %{pkg_name} profiling library +Requires: ghc-%{pkg_name}-devel = %{version}-%{release} +Supplements: (ghc-%{pkg_name}-devel and ghc-prof) + +%description -n ghc-%{pkg_name}-prof +This package provides the Haskell %{pkg_name} profiling library. + +%prep +%autosetup -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal + +%build +%ghc_lib_build + +%install +%ghc_lib_install + +%post devel +%ghc_pkg_recache + +%postun devel +%ghc_pkg_recache + +%files -f %{name}.files +%license LICENSE + +%files devel -f %{name}-devel.files +%doc CHANGELOG.markdown README.markdown doc examples + +%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files +%license LICENSE + +%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files + +%changelog