commit beeee1ffbc94a626efaafaf8975a93c05e8ecf76
parent 32a9b9884d571e71c8068212ad9ae7fa630c58eb
Author: Drew DeVault <sir@cmpwn.com>
Date: Mon, 15 Feb 2021 13:14:28 -0500
README.md: start conventions list
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/README.md b/README.md
@@ -58,3 +58,14 @@ Some examples of on-topic features include:
- JSON, XML, INI, HTML
- tar, zip, cpio
- MIME, RFC 2822
+
+## Conventions
+
+See also the [Hare style guide](https://harelang.org/style/)
+
+1. Tagged unions should be written from most to least common case, which
+ generally puts the error cases last.
+2. Prefer to design APIs which avoid allocation if it can be done without being
+ at the expense of good API design.
+3. Whatever the semantics, document the allocation and lifetime behaviors and
+ expectations of each function to which they apply.