@@ -11,7 +11,7 @@ Highlights
11
11
* Large increases in performance for ` Nat ` , ` Integer ` and ` Rational ` datatypes,
12
12
particularly in compiled code.
13
13
14
- * Generic n-ary programming (projₙ, congₙ, substₙ etc.)
14
+ * Generic n-ary programming (` projₙ ` , ` congₙ ` , ` substₙ ` etc.)
15
15
16
16
* General argmin/argmax/min/max over ` List ` .
17
17
@@ -47,7 +47,7 @@ Bug-fixes
47
47
* ` Data.Rational ` previously accidently exported queries from ` Data.Nat.Base `
48
48
instead of ` Data.Rational.Base ` . This has now been fixed.
49
49
50
- #### Fixed name in ` Data.Nat.Properties `
50
+ #### Fixed inaccurate name in ` Data.Nat.Properties `
51
51
52
52
* The proof ` m+n∸m≡n ` in ` Data.Nat.Properties ` was incorrectly named as
53
53
it proved ` m + (n ∸ m) ≡ n ` rather than ` m + n ∸ m ≡ n ` . It has
@@ -60,37 +60,36 @@ Bug-fixes
60
60
was previously set such that when it was inherited by the records ` Ring ` ,
61
61
` CommutativeRing ` etc. it had the same predence as ` _*_ ` rather than ` _+_ ` .
62
62
This lead to ` x - x * x ` being ambigous instead of being parsed as ` x - (x * x) ` .
63
- To fix this the precedence of ` _-_ ` has been reduced from 7 to 6.
63
+ To fix this, the precedence of ` _-_ ` has been reduced from 7 to 6.
64
64
65
65
#### Fixed operator precedents in ` Reasoning ` modules
66
66
67
67
* The infix precedence of the generic order reasoning combinators (` _∼⟨_⟩_ ` ,
68
- ` _≈⟨_⟩_ ` , etc.) in ` Relation.Binary.Reasoning.Base.{ Double, Triple} ` were
69
- lowered when implementing new style reasoning (issue # 185 ). This lead to
70
- inconsistencies in modules that add custom combinators (e.g. ` StarReasoning `
71
- from ` Relation.Binary.Construct.Closure.ReflexiveTransitive.Properties ` )
72
- using the original fixity. The old fixity has been restored now .
68
+ ` _≈⟨_⟩_ ` , etc.) in ` Relation.Binary.Reasoning.Base.Double/ Triple ` were
69
+ accidentally lowered when implementing new style reasoning in ` v1.0 ` .
70
+ This lead to inconsistencies in modules that add custom combinators (e.g.
71
+ ` StarReasoning ` from ` Relation.Binary.Construct.Closure.ReflexiveTransitive.Properties ` )
72
+ using the original fixity. The old fixity has now been restored.
73
73
74
74
Other non-backwards compatible changes
75
75
--------------------------------------
76
76
77
77
#### Improved performance of arithmetic decision procedures & operations
78
78
79
79
* The functions ` _≤?_ ` and ` <-cmp ` in ` Data.Nat.Properties ` have been
80
- reimplemented so that, when compiled or when the generated proof is
81
- unused, now uses only built-in primitives. This should result in a
82
- significant performance increase .
80
+ reimplemented uses only built-in primitives. Consequently this should
81
+ result in a significant performance increase when these functions are
82
+ compiled or when the generated proof is ignored .
83
83
84
84
* The function ` show ` in ` Data.Nat.Show ` has been reimplemented and,
85
85
when compiled, now runs in time ` O(log₁₀(n)) ` rather than ` O(n) ` .
86
86
87
87
* The functions ` gcd ` and ` lcm ` in ` Data.Nat.GCD ` and ` Data.Nat.LCM `
88
88
have been reimplemented via the built-ins ` _/_ ` and ` mod ` so that
89
- they run much faster when compiled. The new functions now have type
90
- ` ℕ → ℕ → ℕ ` instead of the old functions of type
91
- ` (m n : ℕ) → ∃ λ d → GCD/LCM m n d ` . The old functions have been renamed
92
- ` mkGCD ` /` mkLCM ` . The alternative ` gcd′ ` in ` Data.Nat.Coprimality ` has
93
- been deprecated.
89
+ they run much faster when compiled and normalised. Their types have also
90
+ been changed to ` ℕ → ℕ → ℕ ` instead of ` (m n : ℕ) → ∃ λ d → GCD/LCM m n d ` .
91
+ The old functions still exist and have been renamed ` mkGCD ` /` mkLCM ` .
92
+ The alternative ` gcd′ ` in ` Data.Nat.Coprimality ` has been deprecated.
94
93
95
94
* As a consequence of the above, the performance of all decidability procedures
96
95
in ` Data.Integer ` and ` Data.Rational ` should also have improved. Normalisation
@@ -105,20 +104,21 @@ Other non-backwards compatible changes
105
104
106
105
#### Consistent field names in ` IsDistributiveLattice `
107
106
108
- * The module ` IsDistributiveLattice ` in ` Algebra.Structures ` has had its field
109
- renamed from ` ∨-∧-distribʳ ` to ` ∨-distribʳ-∧ ` in order to match the conventions
110
- found elsewhere in the library . To maximise backwards compatability the record
111
- still exports the name ` ∨-∧-distribʳ ` but it has been deprecated.
107
+ * In order to match the conventions found elsewhere in the library, the module
108
+ ` IsDistributiveLattice ` in ` Algebra.Structures ` has had its field renamed
109
+ from ` ∨-∧-distribʳ ` to ` ∨-distribʳ-∧ ` . To maximise backwards compatability,
110
+ the record still exports ` ∨-∧-distribʳ ` but the name is deprecated.
112
111
113
112
#### Making categorical traversal functions easier to use
114
113
115
- * At the moment the functions ` sequenceA ` , ` mapA ` , ` forA ` , ` sequenceM ` ,
116
- ` mapM ` and ` forM ` in the ` Data.X.Categorical ` modules all require the
117
- ` Applicative ` /` Monad ` to be passed each time they're used. To avoid this they
118
- have now been placed in parameterised, modules named ` TraversableA ` and
114
+ * Previously the functions ` sequenceA ` , ` mapA ` , ` forA ` , ` sequenceM ` ,
115
+ ` mapM ` and ` forM ` in the ` Data.X.Categorical ` modules required the
116
+ ` Applicative ` /` Monad ` to be passed each time they were used. To avoid this
117
+ they have now been placed in parameterised modules named ` TraversableA ` and
119
118
` TraversableM ` . To recover the old behaviour simply write ` open TraversableA ` .
120
- However the applicative may avoid being passed by writing ` open TraversableA app ` .
121
- The change has occured in the following modules:
119
+ However you may now, for example, avoid passing the applicative every time
120
+ by writing ` open TraversableA app ` . The change has occured in the following
121
+ modules:
122
122
``` adga
123
123
Data.Maybe.Categorical
124
124
Data.List.Categorical
@@ -161,7 +161,7 @@ The following new modules have been added to the library:
161
161
Data.List.Extrema
162
162
Data.List.Extrema.Nat
163
163
Data.List.Extrema.Core
164
- ```
164
+ ```
165
165
166
166
* Additional properties of membership with the ` --with-k ` option enabled.
167
167
```
@@ -336,7 +336,7 @@ attached to all deprecated names to discourage their use.
336
336
```
337
337
338
338
* In ` Relation.Binary.Core ` :
339
- ``` agdas
339
+ ``` agda
340
340
Conn ↦ Connex
341
341
```
342
342
0 commit comments