2024-08-19 20:06:34 -04:00
|
|
|
# abacus
|
2024-08-20 18:58:05 -04:00
|
|
|
|
|
|
|
Copyright (C) Jonathan Lamothe <jonathan@jlamothe.net>
|
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Affero General Public License as
|
|
|
|
published by the Free Software Foundation, either version 3 of the
|
|
|
|
License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful, but
|
|
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Affero General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Affero General Public
|
|
|
|
License along with this program. If not, see
|
|
|
|
<https://www.gnu.org/licenses/>.
|
|
|
|
|
2024-08-22 19:32:04 -04:00
|
|
|
## Executive Summary
|
2024-08-20 18:58:05 -04:00
|
|
|
|
2024-08-22 19:32:04 -04:00
|
|
|
This is a TUI abacus simulator. It is a completely pointless program. I
|
|
|
|
made it solely for the sake of the absurdity.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
This program is written in [Haskell](https://haskell.org) using the
|
|
|
|
Stack package manager. The easiest way to install it is by first
|
|
|
|
installing [GHCup](https://www.haskell.org/ghcup/), and then from
|
|
|
|
within the project directory, run the command: `stack install`
|
|
|
|
|
|
|
|
You should then be able to run it by simply typing `abacus` on the
|
|
|
|
command line. There are currently no command-line options.
|
|
|
|
|
|
|
|
## Keys
|
|
|
|
|
|
|
|
- C-c/q: Quit the program
|
|
|
|
- up/k: move the rung selector up
|
|
|
|
- down/j: move the rung selector down
|
|
|
|
- PgUp/K/S-up: select the top rung
|
|
|
|
- PgDn/J/S-down: select the bottom rung
|
2024-08-22 19:54:38 -04:00
|
|
|
- 0..9: select a rung by number
|
2024-08-22 19:32:04 -04:00
|
|
|
- left/h: slide a bead to the left
|
|
|
|
- right/l: slide a bead to the right
|
|
|
|
- Home/H/S-left: move the entire rung to the left
|
|
|
|
- End/L/S-right: move the entire rung to the right
|
|
|
|
- r: reset the abacus
|