MarcelineVQ / idris2-bytes

ByteStrings for Idris2!
Other
7 stars 0 forks source link
bytes bytestring idris idris-ecosystem idris2 idris2-ecosystem lib library

Bytes

This package was going to feature Lazy Bytes but work was done on a streaming lib instead. There's no reason to repeat the mistakes of Lazy IO and streaming does the job of having Lazy Bytes anyway.

This is a ByteString-style library for the Idris2 dependent programming language.

Its name is due to how overused, and thus misleading, the term String is.
Bytes are an immutable chunk of 0 or more bytes, nothing more is implied.

A standard interface is provided that should cover starting cases and more useful things are on the way such as Builders for efficient creation of more complicated/interesting Bytes.

PR's are very welcome, please mind that the intent of this library is to provide a solid base for people to build libraries/software off of. We should be lean, powerful, and especially compatible.
Idris2 is intended to be used with many possible backends so we need to have a library here that is maximally portable.

Expect many changes to what is exported/exposed as Idris2's module system improves. That will be reflected in the package version, though package versions in general don't mean a lot just yet.

Version

This package follows Haskell PVP which is distinct from SEMVER in that when examining 1.2.3, 1.2 is the Major Version rather than 1.