@@ -6,12 +6,53 @@ The library has been tested using Agda 2.6.2.
6
6
Highlights
7
7
----------
8
8
9
+ * A golden testing library in ` Test.Golden ` . This allows you to run a set
10
+ of tests and make sure their output matches an expected `golden' value.
11
+ The test runner has many options: filtering tests by name, dumping the
12
+ list of failures to a file, timing the runs, coloured output, etc.
13
+ Cf. the comments in ` Test.Golden ` and the standard library's own tests
14
+ in ` tests/ ` for documentation on how to use the library.
15
+
9
16
Bug-fixes
10
17
---------
11
18
19
+ * In ` System.Exit ` , the ` ExitFailure ` constructor is now carrying an integer
20
+ rather than a natural. The previous binding was incorrectly assuming that
21
+ all exit codes where non-negative.
22
+
12
23
Non-backwards compatible changes
13
24
--------------------------------
14
25
26
+ * In ` Text.Pretty ` , ` Doc ` is now a record rather than a type alias. This
27
+ helps Agda reconstruct the ` width ` parameter when the module is opened
28
+ without it being applied. In particular this allows users to write
29
+ width-generic pretty printers and only pick a width when calling the
30
+ renderer by using this import style:
31
+ ```
32
+ open import Text.Pretty using (Doc; render)
33
+ -- ^-- no width parameter for Doc & render
34
+ open module Pretty {w} = Text.Pretty w hiding (Doc; render)
35
+ -- ^-- implicit width parameter for the combinators
36
+
37
+ pretty : Doc w
38
+ pretty = ? -- you can use the combinators here and there won't be any
39
+ -- issues related to the fact that `w` cannot be reconstructed
40
+ -- anymore
41
+
42
+ main = do
43
+ -- you can now use the same pretty with different widths:
44
+ putStrLn $ render 40 pretty
45
+ putStrLn $ render 80 pretty
46
+ ```
47
+
48
+ * In ` Text.Regex.Search ` the ` searchND ` function finding infix matches has
49
+ been tweaked to make sure the returned solution is a local maximum in terms
50
+ of length. It used to be that we would make the match start as late as
51
+ possible and finish as early as possible. It's now the reverse.
52
+
53
+ So ` [a-zA-Z]+.agdai? ` run on "the path _ build/Main.agdai corresponds to"
54
+ will return "Main.agdai" when it used to be happy to just return "n.agda".
55
+
15
56
Deprecated modules
16
57
------------------
17
58
@@ -27,6 +68,29 @@ New modules
27
68
Algebra.Morphism.Construct.Identity
28
69
```
29
70
71
+ * Show module for unnormalised rationals:
72
+ ```
73
+ Data.Rational.Unnormalised.Show
74
+ ```
75
+
76
+ * Various system types and primitives:
77
+ ```
78
+ System.Clock.Primitive
79
+ System.Clock
80
+ System.Console.ANSI
81
+ System.Directory.Primitive
82
+ System.Directory
83
+ System.FilePath.Posix.Primitive
84
+ System.FilePath.Posix
85
+ System.Process.Primitive
86
+ System.Process
87
+ ```
88
+
89
+ * A golden testing library with test pools, an options parser, a runner:
90
+ ```
91
+ Test.Golden
92
+ ```
93
+
30
94
Other minor additions
31
95
---------------------
32
96
@@ -53,3 +117,39 @@ Other minor additions
53
117
∧-isCommutativeSemigroup : IsCommutativeSemigroup ∧
54
118
```
55
119
and their corresponding algebraic substructures.
120
+
121
+ * In ` Data.String.Properties ` :
122
+ ```
123
+ ≤-isDecTotalOrder-≈ : IsDecTotalOrder _≈_ _≤_
124
+ ≤-decTotalOrder-≈ : DecTotalOrder _ _ _
125
+ ```
126
+
127
+ * In ` IO ` :
128
+ ```
129
+ Colist.forM : Colist A → (A → IO B) → IO (Colist B)
130
+ Colist.forM′ : Colist A → (A → IO B) → IO ⊤
131
+
132
+ List.forM : List A → (A → IO B) → IO (List B)
133
+ List.forM′ : List A → (A → IO B) → IO ⊤
134
+ ```
135
+
136
+ * In ` IO.Base ` :
137
+ ```
138
+ lift! : IO A → IO (Lift b A)
139
+ _<$_ : B → IO A → IO B
140
+ _=<<_ : (A → IO B) → IO A → IO B
141
+ _<<_ : IO B → IO A → IO B
142
+ lift′ : Prim.IO ⊤ → IO {a} ⊤
143
+
144
+ when : Bool → IO {a} ⊤ → IO ⊤
145
+ unless : Bool → IO {a} ⊤ → IO ⊤
146
+
147
+ whenJust : Maybe A → (A → IO {a} ⊤) → IO ⊤
148
+ untilJust : IO (Maybe A) → IO A
149
+ ```
150
+
151
+ * In ` System.Exit ` :
152
+ ```
153
+ isSuccess : ExitCode → Bool
154
+ isFailure : ExitCode → Bool
155
+ ```
0 commit comments