summary refs log tree commit diff stats
path: root/HACKING.md
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING.md')
-rw-r--r--HACKING.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/HACKING.md b/HACKING.md
new file mode 100644
index 0000000..3d3b52e
--- /dev/null
+++ b/HACKING.md
@@ -0,0 +1,22 @@
+Developer notes
+===============
+
+This file documents some potentially-unfamiliar patterns contained within this
+codebase.
+
+`boolinator`
+------------
+
+This crate makes use of `boolinator` in places. Make sure you're familiar with
+it.
+
+`bool?` (or close enough)
+-------------------------
+
+Rust doesn't have `?` on `bool`. This crate uses an `&& { side_effects; true }`
+pattern sometimes. The PEG-like parser uses a `bry!` macro (`try!` for bools).
+
+`proptest`
+----------
+
+This crate makes extensive use of proptests, because they are awesome!