~sircmpwn/hare

hare/strings d---------
all: overhaul switch/match syntax

This changes the syntax of switch and match expressions following
similar changes to harec et al.

match (x) {
	case type =>
		do_work();
		yield 10;
	case x: type =>
		process(x);
		yield 20;
	case =>
		abort();
};

Signed-off-by: Drew DeVault <sir@cmpwn.com>
Signed-off-by: Alexey Yerin <yyp@disroot.org>
Co-authored-by: Alexey Yerin <yyp@disroot.org>
strings: add ltrim, rtrim and trim

Signed-off-by: Sudipto Mallick <smlckz@disroot.org>
strings: add strings::join

Signed-off-by: Drew DeVault <sir@cmpwn.com>
Fix implicit casts from *void to nullable pointers

These were mistakenly allowed due to a harec bug

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
Revert match syntax changes

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
all: docs: change [ref] to [[ref]]

The following script:

	#!/bin/sh
	echo $1
	awk '/^\/\/.*/ { gsub(/\[[a-zA-Z0-9_:]+\]/, "[&]") } { print $0 }' < $1 > $1.2
	mv $1.2 $1

Was used like so:

git ls-tree -r HEAD | awk '{ print $4 }' | grep '.ha$' | xargs -n1 ./edit

And then the results were touched up by hand.
Update match statements according to spec update
all: fix append syntax
Remove str => *const char cast and nul terminator
strings::iter: add Unicode warning
strings: add warning about runewise operations
s/to_utf8/toutf8/g
all: update names to be consistent with style guide
strings::tokenize: fix docs
Merge remote-tracking branch 'stdlib/master'
strings: add strings::index
tokenizer: return zero tokens on empty slice
strings: add try_from_utf8
strings: add strings::to_c
strings: drop @init function for c_empty

We can directly reference the buffer now, after some harec improvements.
Next