docs: articulate core functionality
CI / Check PR Title (pull_request) Successful in 43s
CI / Makefile Lint (pull_request) Successful in 1m17s
CI / Markdown Lint (pull_request) Successful in 48s
CI / Go Lint (pull_request) Successful in 1m29s
CI / Unit Tests (pull_request) Successful in 1m19s
CI / Fuzz Tests (pull_request) Successful in 1m45s
CI / Mutation Tests (pull_request) Successful in 1m25s

This commit is contained in:
2026-07-04 20:01:34 -04:00
parent 9b5545bf52
commit 0b3223b916
+3 -2
View File
@@ -16,10 +16,11 @@ While the implementation does work, it lacks direction.
To resolve this, I'm enforcing two new principles onto the contract of `go-cuckoo`: To resolve this, I'm enforcing two new principles onto the contract of `go-cuckoo`:
- **Congruency**: - **Congruency**:
A `go-cuckoo` table should have the same core functionality as Go's built-in map. A `go-cuckoo` table should have the same core functionality as `map`.
By 'core', I mean `map`'s built-in syntax and functions (e.g. `range`, `m[k]`), and the `maps` package.
- **Familiarity**: - **Familiarity**:
A `go-cuckoo` table should behave similarly to Go's standard map, so users will intuitively know how to use it. A `go-cuckoo` table should behave similarly to `map`, so users will intuitively know how to use it.
In effect, its users will carry less cognitive load. In effect, its users will carry less cognitive load.
These principles should _guide_ the public interface of `go-cuckoo`. These principles should _guide_ the public interface of `go-cuckoo`.