./math/hs-free, Monads for free

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.2nb2, Package name: hs-free-5.2nb2, Maintainer: pkgsrc-users

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.


Master sites:

Filesize: 57.403 KB

Version history: (Expand)


CVS history: (Expand)


   2024-05-09 03:32:57 by Masatake Daimon | Files touched by this commit (1137)
Log message:
Recursive revbump after changing the default Haskell compiler
   2024-05-02 11:33:16 by Masatake Daimon | Files touched by this commit (2)
Log message:
math/hs-free: Fix build with GHC 9.8

This breaks build with the currently default GHC 9.6. Please bear with me
until I switch the default compiler.
   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-30 11:53:51 by Masatake Daimon | Files touched by this commit (4)
Log message:
math/hs-free: Update to 5.2

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.
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-01-27 14:50:46 by Masatake Daimon | Files touched by this commit (4)
Log message:
math/hs-free: Update to 5.1.10

5.1.10 [2022.11.30]
* Add a MonadFail instance for FT.

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.*.
   2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872)
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
   2022-02-16 09:53:40 by Masatake Daimon | Files touched by this commit (5)
Log message:
math/hs-free: import hs-free-5.1.7

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.