Skip to content

Commit 787c690

Browse files
authored
Moved Category to Effect: issue #1636 (#1735)
1 parent f10c28e commit 787c690

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+248
-240
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,17 @@ Non-backwards compatible changes
5858
`Codata` which used sized types have been moved inside a new folder named
5959
`Sized`, e.g. `Codata.Stream` has become `Codata.Sized.Stream`.
6060

61+
#### Moved `Category` modules to `Effect`
62+
63+
* As observed by Wen Kokke in Issue #1636, it no longer really makes sense
64+
to group the modules which correspond to the variety of concepts of
65+
(effectful) type constructor arising in functional programming (esp. in haskell)
66+
such as `Monad`, `Applicative`, `Functor`, etc, under `Category.*`, as this
67+
obstructs the importing of the `agda-categories` development into the Standard Library,
68+
and moreover needlessly restricts the applicability of categorical concepts to this
69+
(highly specific) mode of use. Correspondingly, modules grouped under `*.Categorical.*`
70+
which exploited these structures for effectful programming have been renamed `*.Effectful`.
71+
6172
### Improvements to pretty printing and regexes
6273

6374
* In `Text.Pretty`, `Doc` is now a record rather than a type alias. This

GenerateEverything.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,29 +117,29 @@ sizedTypesModules = map modToFile
117117
, "Codata.Sized.Cofin.Literals"
118118
, "Codata.Sized.Colist"
119119
, "Codata.Sized.Colist.Bisimilarity"
120-
, "Codata.Sized.Colist.Categorical"
120+
, "Codata.Sized.Colist.Effectful"
121121
, "Codata.Sized.Colist.Properties"
122122
, "Codata.Sized.Conat"
123123
, "Codata.Sized.Conat.Bisimilarity"
124124
, "Codata.Sized.Conat.Literals"
125125
, "Codata.Sized.Conat.Properties"
126126
, "Codata.Sized.Covec"
127127
, "Codata.Sized.Covec.Bisimilarity"
128-
, "Codata.Sized.Covec.Categorical"
128+
, "Codata.Sized.Covec.Effectful"
129129
, "Codata.Sized.Covec.Instances"
130130
, "Codata.Sized.Covec.Properties"
131131
, "Codata.Sized.Cowriter"
132132
, "Codata.Sized.Cowriter.Bisimilarity"
133133
, "Codata.Sized.Delay"
134134
, "Codata.Sized.Delay.Bisimilarity"
135-
, "Codata.Sized.Delay.Categorical"
135+
, "Codata.Sized.Delay.Effectful"
136136
, "Codata.Sized.Delay.Properties"
137137
, "Codata.Sized.M"
138138
, "Codata.Sized.M.Bisimilarity"
139139
, "Codata.Sized.M.Properties"
140140
, "Codata.Sized.Stream"
141141
, "Codata.Sized.Stream.Bisimilarity"
142-
, "Codata.Sized.Stream.Categorical"
142+
, "Codata.Sized.Stream.Effectful"
143143
, "Codata.Sized.Stream.Instances"
144144
, "Codata.Sized.Stream.Properties"
145145
, "Codata.Sized.Thunk"

README.agda

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,6 @@ module README where
6464

6565
import README.Axiom
6666

67-
-- • Category
68-
-- Category theory-inspired idioms used to structure functional
69-
-- programs (functors and monads, for instance).
70-
7167
-- • Codata
7268
-- Coinductive data types and properties. There are two different
7369
-- approaches taken. The `Codata.Sized` folder contains the new more
@@ -77,6 +73,10 @@ import README.Axiom
7773
-- • Data
7874
-- Data types and properties.
7975

76+
-- • Effect
77+
-- Category theory-inspired idioms used to structure functional
78+
-- programs (functors and monads, for instance).
79+
8080
import README.Data
8181

8282
-- • Function
@@ -162,9 +162,9 @@ import Codata.Sized.Colist -- Colists.
162162

163163
-- • Some types used to structure computations
164164

165-
import Category.Functor -- Functors.
166-
import Category.Applicative -- Applicative functors.
167-
import Category.Monad -- Monads.
165+
import Effect.Functor -- Functors.
166+
import Effect.Applicative -- Applicative functors.
167+
import Effect.Monad -- Monads.
168168

169169
-- • Equality
170170

README/Data.agda

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,13 @@ import Data.Vec.Relation.Unary.All
157157
import Data.Maybe.Relation.Unary.All
158158

159159

160-
-- 6. A `Categorical` module/folder that contains categorical
160+
-- 6. An `Effectful` module/folder that contains effectful
161161
-- interpretations of the datatype.
162162

163-
import Data.List.Categorical
164-
import Data.Maybe.Categorical
165-
import Data.Sum.Categorical.Left
166-
import Data.Sum.Categorical.Right
163+
import Data.List.Effectful
164+
import Data.Maybe.Effectful
165+
import Data.Sum.Effectful.Left
166+
import Data.Sum.Effectful.Right
167167

168168

169169
-- 7. A `Function` folder that contains lifting of various types of

README/Data/Container/FreeMonad.agda

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
module README.Data.Container.FreeMonad where
1111

12-
open import Category.Monad
12+
open import Effect.Monad
1313
open import Data.Empty
1414
open import Data.Unit
1515
open import Data.Bool.Base using (Bool; true)

src/Algebra/Lattice/Properties/BooleanAlgebra/Expression.agda

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ module Algebra.Lattice.Properties.BooleanAlgebra.Expression
1414

1515
open BooleanAlgebra B
1616

17-
open import Category.Applicative
18-
import Category.Applicative.Indexed as Applicative
19-
open import Category.Monad
17+
open import Effect.Applicative
18+
import Effect.Applicative.Indexed as Applicative
19+
open import Effect.Monad
2020
open import Data.Fin.Base using (Fin)
2121
open import Data.Nat.Base
2222
open import Data.Product using (_,_; proj₁; proj₂)
2323
open import Data.Vec.Base as Vec using (Vec)
24-
import Data.Vec.Categorical as VecCat
25-
import Function.Identity.Categorical as IdCat
24+
import Data.Vec.Effectful as VecCat
25+
import Function.Identity.Effectful as IdCat
2626
open import Data.Vec.Properties using (lookup-map)
2727
open import Data.Vec.Relation.Binary.Pointwise.Extensional as PW
2828
using (Pointwise; ext)

src/Codata/Musical/Colist.agda

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
module Codata.Musical.Colist where
1010

1111
open import Level using (Level)
12-
open import Category.Monad
12+
open import Effect.Monad
1313
open import Codata.Musical.Notation
1414
open import Codata.Musical.Conat using (Coℕ; zero; suc)
1515
import Codata.Musical.Colist.Properties

src/Codata/Sized/Colist/Categorical.agda renamed to src/Codata/Sized/Colist/Effectful.agda

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
------------------------------------------------------------------------
22
-- The Agda standard library
33
--
4-
-- A categorical view of Colist
4+
-- An effectful view of Colist
55
------------------------------------------------------------------------
66

77
{-# OPTIONS --without-K --sized-types #-}
88

9-
module Codata.Sized.Colist.Categorical where
9+
module Codata.Sized.Colist.Effectful where
1010

1111
open import Codata.Sized.Conat using (infinity)
1212
open import Codata.Sized.Colist
13-
open import Category.Functor
14-
open import Category.Applicative
13+
open import Effect.Functor
14+
open import Effect.Applicative
1515

1616
functor : {ℓ i} RawFunctor {ℓ} (λ A Colist A i)
1717
functor = record { _<$>_ = map }

src/Codata/Sized/Covec/Categorical.agda renamed to src/Codata/Sized/Covec/Effectful.agda

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
------------------------------------------------------------------------
22
-- The Agda standard library
33
--
4-
-- A categorical view of Covec
4+
-- An effectful view of Covec
55
------------------------------------------------------------------------
66

77
{-# OPTIONS --without-K --sized-types #-}
88

9-
module Codata.Sized.Covec.Categorical where
9+
module Codata.Sized.Covec.Effectful where
1010

1111
open import Codata.Sized.Conat
1212
open import Codata.Sized.Covec
13-
14-
open import Category.Functor
15-
open import Category.Applicative
13+
open import Effect.Functor
14+
open import Effect.Applicative
1615

1716
functor : {ℓ i n} RawFunctor {ℓ} (λ A Covec A n i)
1817
functor = record { _<$>_ = map }

src/Codata/Sized/Covec/Instances.agda

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
module Codata.Sized.Covec.Instances where
1010

11-
open import Codata.Sized.Covec.Categorical
11+
open import Codata.Sized.Covec.Effectful
1212

1313
instance
1414
covecFunctor = functor

0 commit comments

Comments
 (0)