Skip to content

Commit 7972143

Browse files
committed
Bitseq implementation & test & doc fixes. Move digraph
1 parent 4eaa1d6 commit 7972143

22 files changed

+617
-104
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
*.out
99
/_*
1010
._*
11+
/ds/genarray/genarray.go

MIGRATIONS.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ guarantees. Instead, they have the guarantees described in the following table.
1414

1515
| Stability | Meaning |
1616
|:-------------------:|----------------------------------------------------------------------------------------------------------------------------------|
17-
| Stable | There will be no breaking changes to this package, except between major versions. |
17+
| Stable | There will be no breaking changes to this package within the same major version (e.g. only between v2 and v3). |
1818
| Latest | Small breaking changes to this package are possible, even between minor versions. They will usually have migration instructions. |
1919
| Latest *(unstable)* | Large breaking changes to this package are likely, even between minor versions, and may not have migration instructions. |
2020

@@ -24,13 +24,19 @@ minor version changes.
2424

2525
## Updating `github.com/tawesoft/golib`
2626

27+
### Migrating v2.8 → v2.10
28+
29+
* `iter.Check` has dropped its first return value.
30+
* package `digraph` has moved into the `ds` subdirectory.
31+
2732
### Migrating v2.0 → v2.8
2833

2934
Fewer breaking changes are expected after this point.
3035

3136
* `meta` packages have been moved to `html/meta`
3237
* `fun/maybe`, `fun/result`, and `view` packages have been redone
3338
* `numbers` package removed with much implemented by the new `operator` package
39+
instead
3440
* `operator/checked/integer` is now just `operator/checked`.
3541
* some functions removed from `fun/result`, `iter`, `ks` packages
3642
* some functions moved from `ks` to `operator`

README.md

+64-48
Original file line numberDiff line numberDiff line change
@@ -19,65 +19,81 @@ support, are additionally covered by compatible [MIT-like licences](/LICENSE-PAR
1919

2020
## Packages
2121

22-
### General Packages
23-
24-
| Name | Stable | Latest | Description |
25-
|:---------------------:|:---------:|:---------:|:-----------------------------------------------------|
26-
| css/tokenizer | - | [v2][c01] | CSS tokenizer for [CSS Syntax Module Level 3][css1] |
27-
| dialog | [v2][d01] | - | cross-platform message boxes & file pickers |
28-
| digraph | - | [v2][d02] | *(unstable)* directed graphs (including DAGs) |
29-
| drop | - | - | *(TODO)* drop process privileges and inherit handles |
30-
| fun/either | [v2][f01] | - | "Either" sum type |
31-
| fun/future | [v2][f02] | - | synchronous and asynchronous future values |
32-
| fun/maybe | [v2][f03] | - | "Maybe" sum type |
33-
| fun/partial | [v2][f04] | - | partial function application |
34-
| fun/promise | [v2][f05] | - | store computations to be performed later |
35-
| fun/result | [v2][f06] | - | "Result" sum type |
36-
| fun/slices | [v2][f07] | - | higher-order functions for slices |
37-
| grace | - | - | *(TODO)* start and gracefully shutdown processes |
38-
| humanize | - | - | *(TODO)* locale-aware numbers & quantities |
39-
| iter | [v2][i01] | - | composable lazy iteration |
40-
| ks | - | [v2][k01] | *(unstable)* "kitchen sink" of extras |
41-
| loader | - | - | *(TODO)* concurrent dependency graph solver |
42-
| html/meta/opengraph | [v2][h01] | - | HTML meta tags for Facebook's Open Graph protocol |
43-
| html/meta/twittercard | [v2][h02] | - | HTML meta tags for Twitter Cards |
44-
| must | [v2][m03] | - | assertions |
45-
| operator | [v2][o01] | - | operators as functions |
46-
| tuple | [v2][p01] | - | convert to/from tuples |
47-
| view | [v2][v01] | - | dynamic views over collections |
48-
4922
**Note:** Additional v2/legacy packages exist for users migrating from
5023
`tawesoft.co.uk/go`. See [MIGRATIONS.md](/MIGRATIONS.md).
5124

5225
**Note:** "Stable" packages have the
5326
[normal stability guarantees](https://go.dev/doc/modules/version-numbers)
54-
expected for a Go package of v2 or higher. "Latest" packages, or
55-
"Latest *(unstable)*" packages do not. See [MIGRATIONS.md](/MIGRATIONS.md).
56-
57-
### Text Packages
58-
59-
| Name | Stable | Latest | Description |
60-
|:-----------------------:|:---------:|:---------:|:----------------------------------------------------------|
61-
| text/ccc | - | [v2][t01] | Unicode Canonical Combining Class values |
62-
| text/dm | - | [v2][t02] | Unicode decomposition mappings & selective decompositions |
63-
| text/fallback | - | [v2][t03] | Unicode Character Fallback Substitutions |
64-
| text/fold | - | [v2][t04] | Unicode text folding |
65-
| text/np | - | [v2][t05] | Unicode numeric properties |
66-
| text/number/algorithmic | [v2][t07] | - | CLDR algorithmic (non-decimal) numbering systems |
67-
| text/number/plurals | [v2][t08] | - | CLDR plural rules with a simple interface |
68-
| text/number/rbnf | - | [v2][t09] | CLDR Rule-Based Number Formats |
69-
| text/number/symbols | - | [v2][t10] | CLDR locale-appropriate Number Symbols |
27+
expected for a Go package of v2 or higher. "Latest"
28+
packages do not. See [MIGRATIONS.md](/MIGRATIONS.md).
7029

30+
### General Packages
7131

72-
**Note:** "Stable" packages have the
73-
[normal stability guarantees](https://go.dev/doc/modules/version-numbers)
74-
expected for a Go package of v2 or higher. "Latest" packages, or
75-
"Latest *(unstable)*" packages do not. See [MIGRATIONS.md](/MIGRATIONS.md).
32+
| Name | Stable | Latest | Description |
33+
|:------------------------|:---------:|:---------:|:----------------------------------------------------|
34+
| `css/tokenizer` | - | [v2][c01] | CSS tokenizer for [CSS Syntax Module Level 3][css1] |
35+
| `dialog` | [v2][d01] | - | cross-platform message boxes & file pickers |
36+
| `iter` | [v2][i01] | - | composable lazy iteration |
37+
| `ks` | - | [v2][k01] | *(unstable)* "kitchen sink" of extras |
38+
| `html/meta/opengraph` | [v2][h01] | - | HTML meta tags for Facebook's Open Graph protocol |
39+
| `html/meta/twittercard` | [v2][h02] | - | HTML meta tags for Twitter Cards |
40+
| `must` | [v2][m03] | - | assertions |
41+
| `operator` | [v2][o01] | - | operators as functions |
42+
| `tuple` | [v2][p01] | - | convert to/from tuples |
43+
| `view` | [v2][v01] | - | dynamic views over collections |
44+
45+
46+
### Data-Structures
47+
48+
| Name | Stable | Latest | Description |
49+
|:----------|:---------:|:---------:|:----------------------------------------------|
50+
| `bitseq` | [v2][b01] | - | compact sequence of bits |
51+
| `digraph` | - | [v2][d02] | *(unstable)* directed graphs (including DAGs) |
52+
| `garry` | - | [v2][g01] | generational array indices |
53+
54+
55+
56+
### Functional-style Packages
57+
58+
| Name | Stable | Latest | Description |
59+
|:--------------|:---------:|:------:|:-------------------------------------------|
60+
| `fun/either` | [v2][f01] | - | "Either" type |
61+
| `fun/future` | [v2][f02] | - | synchronous and asynchronous future values |
62+
| `fun/maybe` | [v2][f03] | - | "Maybe" type |
63+
| `fun/partial` | [v2][f04] | - | partial function application |
64+
| `fun/promise` | [v2][f05] | - | store computations to be performed later |
65+
| `fun/result` | [v2][f06] | - | "Result" type |
66+
| `fun/slices` | [v2][f07] | - | higher-order functions for slices |
67+
68+
### Text & Unicode Packages
69+
70+
| Name | Stable | Latest | Description |
71+
|:--------------------------|:---------:|:---------:|:----------------------------------------------------------|
72+
| `text/ccc` | - | [v2][t01] | Unicode Canonical Combining Class values |
73+
| `text/dm` | - | [v2][t02] | Unicode decomposition mappings & selective decompositions |
74+
| `text/fallback` | - | [v2][t03] | Unicode Character Fallback Substitutions |
75+
| `text/fold` | - | [v2][t04] | Unicode text folding |
76+
| `text/np` | - | [v2][t05] | Unicode numeric properties |
77+
| `text/number/algorithmic` | [v2][t07] | - | CLDR algorithmic (non-decimal) numbering systems |
78+
| `text/number/plurals` | [v2][t08] | - | CLDR plural rules with a simple interface |
79+
| `text/number/rbnf` | - | [v2][t09] | CLDR Rule-Based Number Formats |
80+
| `text/number/symbols` | - | [v2][t10] | CLDR locale-appropriate Number Symbols |
81+
82+
### TODO
83+
84+
| Name | Stable | Latest | Description |
85+
|:-----------|:------:|:--------:|:--------------------------------------------|
86+
| `drop` | - | _legacy_ | drop process privileges and inherit handles |
87+
| `grace` | - | _legacy_ | start and gracefully shutdown processes |
88+
| `humanize` | - | _legacy_ | locale-aware numbers & quantities |
89+
| `loader` | - | _legacy_ | concurrent dependency graph solver |
7690

7791
[css1]: https://www.w3.org/TR/css-syntax-3/
7892
[c01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/css/tokenizer
7993
[d01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/dialog
80-
[d02]: https://pkg.go.dev/github.com/tawesoft/golib/v2/digraph
94+
[b01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/ds/bitseq
95+
[d02]: https://pkg.go.dev/github.com/tawesoft/golib/v2/ds/digraph
96+
[g01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/ds/genarray
8197
[f01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/fun/either
8298
[f02]: https://pkg.go.dev/github.com/tawesoft/golib/v2/fun/future
8399
[f03]: https://pkg.go.dev/github.com/tawesoft/golib/v2/fun/maybe

0 commit comments

Comments
 (0)