Skip to content

Commit

Permalink
Bitseq implementation & test & doc fixes. Move digraph
Browse files Browse the repository at this point in the history
  • Loading branch information
golightlyb committed May 10, 2024
1 parent 4eaa1d6 commit 7972143
Show file tree
Hide file tree
Showing 22 changed files with 617 additions and 104 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
*.out
/_*
._*
/ds/genarray/genarray.go
8 changes: 7 additions & 1 deletion MIGRATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ guarantees. Instead, they have the guarantees described in the following table.

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

Expand All @@ -24,13 +24,19 @@ minor version changes.

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

### Migrating v2.8 → v2.10

* `iter.Check` has dropped its first return value.
* package `digraph` has moved into the `ds` subdirectory.

### Migrating v2.0 → v2.8

Fewer breaking changes are expected after this point.

* `meta` packages have been moved to `html/meta`
* `fun/maybe`, `fun/result`, and `view` packages have been redone
* `numbers` package removed with much implemented by the new `operator` package
instead
* `operator/checked/integer` is now just `operator/checked`.
* some functions removed from `fun/result`, `iter`, `ks` packages
* some functions moved from `ks` to `operator`
Expand Down
112 changes: 64 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,65 +19,81 @@ support, are additionally covered by compatible [MIT-like licences](/LICENSE-PAR

## Packages

### General Packages

| Name | Stable | Latest | Description |
|:---------------------:|:---------:|:---------:|:-----------------------------------------------------|
| css/tokenizer | - | [v2][c01] | CSS tokenizer for [CSS Syntax Module Level 3][css1] |
| dialog | [v2][d01] | - | cross-platform message boxes & file pickers |
| digraph | - | [v2][d02] | *(unstable)* directed graphs (including DAGs) |
| drop | - | - | *(TODO)* drop process privileges and inherit handles |
| fun/either | [v2][f01] | - | "Either" sum type |
| fun/future | [v2][f02] | - | synchronous and asynchronous future values |
| fun/maybe | [v2][f03] | - | "Maybe" sum type |
| fun/partial | [v2][f04] | - | partial function application |
| fun/promise | [v2][f05] | - | store computations to be performed later |
| fun/result | [v2][f06] | - | "Result" sum type |
| fun/slices | [v2][f07] | - | higher-order functions for slices |
| grace | - | - | *(TODO)* start and gracefully shutdown processes |
| humanize | - | - | *(TODO)* locale-aware numbers & quantities |
| iter | [v2][i01] | - | composable lazy iteration |
| ks | - | [v2][k01] | *(unstable)* "kitchen sink" of extras |
| loader | - | - | *(TODO)* concurrent dependency graph solver |
| html/meta/opengraph | [v2][h01] | - | HTML meta tags for Facebook's Open Graph protocol |
| html/meta/twittercard | [v2][h02] | - | HTML meta tags for Twitter Cards |
| must | [v2][m03] | - | assertions |
| operator | [v2][o01] | - | operators as functions |
| tuple | [v2][p01] | - | convert to/from tuples |
| view | [v2][v01] | - | dynamic views over collections |

**Note:** Additional v2/legacy packages exist for users migrating from
`tawesoft.co.uk/go`. See [MIGRATIONS.md](/MIGRATIONS.md).

**Note:** "Stable" packages have the
[normal stability guarantees](https://go.dev/doc/modules/version-numbers)
expected for a Go package of v2 or higher. "Latest" packages, or
"Latest *(unstable)*" packages do not. See [MIGRATIONS.md](/MIGRATIONS.md).

### Text Packages

| Name | Stable | Latest | Description |
|:-----------------------:|:---------:|:---------:|:----------------------------------------------------------|
| text/ccc | - | [v2][t01] | Unicode Canonical Combining Class values |
| text/dm | - | [v2][t02] | Unicode decomposition mappings & selective decompositions |
| text/fallback | - | [v2][t03] | Unicode Character Fallback Substitutions |
| text/fold | - | [v2][t04] | Unicode text folding |
| text/np | - | [v2][t05] | Unicode numeric properties |
| text/number/algorithmic | [v2][t07] | - | CLDR algorithmic (non-decimal) numbering systems |
| text/number/plurals | [v2][t08] | - | CLDR plural rules with a simple interface |
| text/number/rbnf | - | [v2][t09] | CLDR Rule-Based Number Formats |
| text/number/symbols | - | [v2][t10] | CLDR locale-appropriate Number Symbols |
expected for a Go package of v2 or higher. "Latest"
packages do not. See [MIGRATIONS.md](/MIGRATIONS.md).

### General Packages

**Note:** "Stable" packages have the
[normal stability guarantees](https://go.dev/doc/modules/version-numbers)
expected for a Go package of v2 or higher. "Latest" packages, or
"Latest *(unstable)*" packages do not. See [MIGRATIONS.md](/MIGRATIONS.md).
| Name | Stable | Latest | Description |
|:------------------------|:---------:|:---------:|:----------------------------------------------------|
| `css/tokenizer` | - | [v2][c01] | CSS tokenizer for [CSS Syntax Module Level 3][css1] |
| `dialog` | [v2][d01] | - | cross-platform message boxes & file pickers |
| `iter` | [v2][i01] | - | composable lazy iteration |
| `ks` | - | [v2][k01] | *(unstable)* "kitchen sink" of extras |
| `html/meta/opengraph` | [v2][h01] | - | HTML meta tags for Facebook's Open Graph protocol |
| `html/meta/twittercard` | [v2][h02] | - | HTML meta tags for Twitter Cards |
| `must` | [v2][m03] | - | assertions |
| `operator` | [v2][o01] | - | operators as functions |
| `tuple` | [v2][p01] | - | convert to/from tuples |
| `view` | [v2][v01] | - | dynamic views over collections |


### Data-Structures

| Name | Stable | Latest | Description |
|:----------|:---------:|:---------:|:----------------------------------------------|
| `bitseq` | [v2][b01] | - | compact sequence of bits |
| `digraph` | - | [v2][d02] | *(unstable)* directed graphs (including DAGs) |
| `garry` | - | [v2][g01] | generational array indices |



### Functional-style Packages

| Name | Stable | Latest | Description |
|:--------------|:---------:|:------:|:-------------------------------------------|
| `fun/either` | [v2][f01] | - | "Either" type |
| `fun/future` | [v2][f02] | - | synchronous and asynchronous future values |
| `fun/maybe` | [v2][f03] | - | "Maybe" type |
| `fun/partial` | [v2][f04] | - | partial function application |
| `fun/promise` | [v2][f05] | - | store computations to be performed later |
| `fun/result` | [v2][f06] | - | "Result" type |
| `fun/slices` | [v2][f07] | - | higher-order functions for slices |

### Text & Unicode Packages

| Name | Stable | Latest | Description |
|:--------------------------|:---------:|:---------:|:----------------------------------------------------------|
| `text/ccc` | - | [v2][t01] | Unicode Canonical Combining Class values |
| `text/dm` | - | [v2][t02] | Unicode decomposition mappings & selective decompositions |
| `text/fallback` | - | [v2][t03] | Unicode Character Fallback Substitutions |
| `text/fold` | - | [v2][t04] | Unicode text folding |
| `text/np` | - | [v2][t05] | Unicode numeric properties |
| `text/number/algorithmic` | [v2][t07] | - | CLDR algorithmic (non-decimal) numbering systems |
| `text/number/plurals` | [v2][t08] | - | CLDR plural rules with a simple interface |
| `text/number/rbnf` | - | [v2][t09] | CLDR Rule-Based Number Formats |
| `text/number/symbols` | - | [v2][t10] | CLDR locale-appropriate Number Symbols |

### TODO

| Name | Stable | Latest | Description |
|:-----------|:------:|:--------:|:--------------------------------------------|
| `drop` | - | _legacy_ | drop process privileges and inherit handles |
| `grace` | - | _legacy_ | start and gracefully shutdown processes |
| `humanize` | - | _legacy_ | locale-aware numbers & quantities |
| `loader` | - | _legacy_ | concurrent dependency graph solver |

[css1]: https://www.w3.org/TR/css-syntax-3/
[c01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/css/tokenizer
[d01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/dialog
[d02]: https://pkg.go.dev/github.com/tawesoft/golib/v2/digraph
[b01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/ds/bitseq
[d02]: https://pkg.go.dev/github.com/tawesoft/golib/v2/ds/digraph
[g01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/ds/genarray
[f01]: https://pkg.go.dev/github.com/tawesoft/golib/v2/fun/either
[f02]: https://pkg.go.dev/github.com/tawesoft/golib/v2/fun/future
[f03]: https://pkg.go.dev/github.com/tawesoft/golib/v2/fun/maybe
Expand Down
Loading

0 comments on commit 7972143

Please sign in to comment.