hare

The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit 416928a28b771f2bad0cbf27eb4cdf77a32b587b
parent 654679e1b767535f1a77cb03ccc83cd91a6e6268
Author: Drew DeVault <sir@cmpwn.com>
Date:   Fri,  5 Feb 2021 14:26:49 -0500

Flesh out README.md

Diffstat:
MREADME.md | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -2,3 +2,59 @@ This is the standard library for the [Hare](https://harelang.org) programming language. + +## Hare stdlib mandate + +The Hare standard library shall provide: + +1. Useful features to compliment Hare language features +2. An interface to the host operating system +3. Implementations of broadly useful algorithms +4. Implementations of broadly useful formats and protocols +5. Introspective meta-features for Hare-aware programs + +Each of these services shall: + +1. Have a concise and straightforward interface +2. Correctly and completely implement the useful subset of the required behavior* +3. Provide complete documentation for each exported symbol +4. Be sufficiently tested to provide confidence in the implementation + +\* This means read the RFC before you start writing the code + +Some examples of on-topic features include: + +### Language features + +- Memory allocation +- High-level string manipulation (e.g. concat, replace, split) +- High-level slice manipulation (e.g. sort) +- Test harness and testing support code + +### Introspection + +- Hare lexing, parsing (and unparsing), and type checking +- ELF, DWARF +- Stack unwinding + +### Operating system interface + +- I/O support +- Filesystem access +- Sockets + +### Useful algorithms + +- Sorting, searching +- Cryptography +- Hashing +- Compression +- Date & time support +- Regex + +### Useful formats & protocols + +- Internet protocol suite +- JSON, XML, INI, HTML +- tar, zip, cpio +- MIME, RFC 2822