camp/machine: Patch up a few instructions and improve the binding stack.
camp/expression: Make repeats work again.
fix matcher rule
Add a thing that makes lexer errors "better".
camp: Improve binding stack operations and show them off.

The digit formulation in parse.mt is equivalent to this Parsley rule:
digits = digit:head digit*:tail -> atoi([head] + tail)
runtime/guards/tables: Fix tuple+list error.
chips: Add (incorrect) attempt at SHA-1.

Hey, somebody had to start doing it at some point. Super-slow and generally
not good.
chips/sha1: Clean up the number of spots where mistakes might be.

Strangely, none of this changes the (incorrect) results; I think the problem
might reside in the endianness of the packing and unpacking operations.
struct: Add ubint32 and ubint64 and some tests.
chips/sha1: Replace a couple open-coded functions with the struct module.

Still incorrect and still in the same way. At least I'm consistently wrong.
chips/sha1: Remove the final typos.

And now it works! Whoo~
Check more things off the todo list.
docs: Write some stuff.
docs: Start really fleshing out MfW.
Add a simple Bloom filter implementation.

And test.
runtime/data: Add .log() to floats.

Computes the natural logarithm.
bloom: Add a .size() method.

Estimates the size of the filter. Very rough but surprisingly accurate.
examples: Add a quicksort example.

I read a Haskell article and it made me mad, so I wrote some code.
bin: Add -c flag for compiling without execution.
ast: KernelTry has three nodes, not two.