Skip to content

Latest commit

 

History

History
162 lines (148 loc) · 9.05 KB

README.md

File metadata and controls

162 lines (148 loc) · 9.05 KB

Don't show me Your code - show me Your data!

Software License Go Report Card Build Status GoDoc

Any container is either

  • safe for concurrent processing (short: ccsafe)
  • or not.

Note: Not being safe for concurrent processing has been normal for a looong time. Just: normal is not a good, meaningful name. Neither is oldway - another discarded idea.

Thus: we came up with oneway - as there is only one way to use it safely: single threaded - not concurrent.


only ccsafe/ implementation

  • das - a Dictionary for Any String | GoDoc | lint |
  • dot - a tree of named anythings | GoDoc | lint
  • dotpath - a parser for user-provided strings to be understood as a (list of) path with special awareness of triple dots (to recourse) and of trailing double dots (to inspect) | GoDoc | lint
  • fs - a type safe alternative to direct use of path/filepath | GoDoc | lint
  • fscache - a cache for file data for any *fs.FsFile | GoDoc | lint
  • lru - a concurrency-safe LRU cache - as found in "golang.org\x\build\internal\lru" | GoDoc | lint
  • svp - a String Value Pair (aka Named Constant) | GoDoc | lint
  • tag - a Tag (= a String Value Pair (aka Named Constant)) | GoDoc | lint
  • tag/ami - a drop-in enhancement for a tag: adding introspective methods from do/ami | GoDoc | lint
  • tagmap - a Tag Map (= a dictionary of String Value Pair s (as map) | GoDoc | lint

only oneway/ implementation

both ccsafe/ & oneway/ implementations


Remarks

Note: Some kinds may deserve to be implemented both ways, as the ccsafe version is usually less performant.

Note: Some kinds are safe for concurrent processing by construction. Notably immutable things.


Your suggestions, remarks, questions and/or contributions are welcome ;-)


Think deep - code happy - be simple - see clear :-)


Support on Beerpay

Hey dude! Help me out for a couple of 🍻!

Beerpay Beerpay