Skip to content

Commit

Permalink
docs: add to README
Browse files Browse the repository at this point in the history
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
  • Loading branch information
henryiii committed Dec 14, 2023
1 parent ef815e5 commit 3181f7a
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
I'm trying the [advent of code](https://adventofcode.com/2023) in Rust this
year to learn Rust. I'm not trying to be fast and place on the leaderboards
(which also require working at midnight, which I'm mostly not interested in
doing), I'm trying to be somewhat elegant and learn new things.
doing), I'm trying to be somewhat elegant and learn new things in Rust.

## Formatting and linting

Expand Down Expand Up @@ -44,4 +44,21 @@ feature in the nightlies (`01` supports it), but I wanted `cargo fmt` and
approach.

Features used in each vary. For example, `05` has an optional progress bar
(opt-out). `08` uses a crate.
(opt-out). Over time, I've been cleaning up the older problems based on what
I've learned in newer problems, so looking at the history for a file might be
instructive. I started using external crates like `itertools` & `derive_more`
around 10-12 or so, but backported a lot of the cleanups later.

A few of the crates I'm using or have used:

- `cached`: Python's `itertools.cache` basically
- `derive-new`: Powerful `new` creation (supports default, unlike `derive_more`'s `Constructor`.
- `derive_more`: Adds useful derives not part of the stdlib (like Add)
- `grid`: A simple 2D array library
- `indicatif`: Progress bars
- `log`, `env_logger`, `test-log`: logging facilities
- `num`: Needed `lcm` in a problem.
- `rayon` (not actively used): Easy multithreading
- `strum`: Powerful enum tools like conversion with strings & iteration over enums

I added some documentation to 13 to try `cargo doc`.

0 comments on commit 3181f7a

Please sign in to comment.