Hello, Rust!

Don't look at the C code, please, it's quite... working, but, y' know.
Hello C, either I am stupid or you're double edged

Anyway, you make me feel kind of stupid.
A few thoughts on The Joy of Clojure.
shopping_list: What, where and how much.

This version has the basic grouping (category, initial, price, weight)
in place but the frontend, the sorting and a storage backend are
lacking.

Dedicated to my little sister, thus intended to eventually demonstrate
at least the concepts to here and an exercise in creating beautiful
abstractions in a functional language.

At least one criterion is partly fulfilled: it's a simple solution and
so far it works well. It's almost like an algebra which is quite
pleasing.

Well now, have fun, take care an' good night.
shopping_list: Rewrite, with better api & features

I explicitely spelled out the notion that you always have a grouping
method (for all articles) and a sorting method (within those groups).
You can now combine them as you wish with a nice combinator function.
Another features is that you can reverse both methods independently via
flags which is a nice thing.

Sorting/displaying prices and weights correctly is also handled, but I
am not yet sure whether I like the implementation. Another alternative
would be to keep all conversion out of the core api, but then the
rendering code would have to know about the current grouping method, so
there are advantages to it. This would be a great topic to talk about,
but then so many topics are when you're new to a language.

One thing that is missing as I am not sure whether I want that feature
is to sort groups individually. Technically it would be simple, but
would probably be confusing in a ui if the sorting method is not obvious.

All in all, it took me far longer than I expected, in part because I
realized so late that you would need two algorithms (group & sort). The
other part is that I hadn't really thought about handling units and how
to compare them. I solved it with a `defrecord` for now, but that is
probably going to change.