`elf`` is a helper app for several programming practice sites that attempts to reduce the overhead needed to test and solve puzzles.
Currently supporting:
- Advent of Code
- WIP Project Euler
- WIP Exercism
Download
challenge information with local cachingSolve
challenge with multiple language implementationsTest
solution with implementation-agnostic test cases- Show debug output inline with solution output
- Write
visualization
for solutions to disk Benchmark
with graphs to compare implementations
TBD
See site-specific sections for details on unique requirements.
- Toolchain must be maintained separately (compiler installation, etc.)
- Site-specific authorization may need to be set in config file or ENV
Manually download and unpack the elf binary into your preferred location.
The default location for this data may vary based on OS and personal settings.
- Windows:
%AppData%/elf
- Unix:
$XDG_CONFIG_HOME/elf
(if non-empty), else$HOME/.config/elf
- Darwin:
$HOME/Library/Application Support/elf
.
└─ exercises
└─ <year>
└─ <day>-<title>
├─ go
│ └─ exercise.go
├─ info.json
├─ input.txt
├─ README.md
└─ benchmark.json
Elf caches downloaded information from source sites to reduce load on their servers. The default location for this data may vary based on OS and personal settings.
- Windows:
%AppData%/elf
- *nix:
$XDG_CONFIG_HOME/elf
(if non-empty), else$HOME/.config/elf
- Darwin:
$HOME/Library/Application Support/elf
Build scripts use Task. There is a Makefile and justfile with similar arguments. These may be removed at some point though.
Install the necessary dependencies with task install
. This should only be necessary to do once.
task snapshot
will create a local build for your OS in ./dist/elf-<OS name>/
.