TUI abacus simulator
Go to file
Jonathan Lamothe ca6d8f27f5 added details to README.md 2024-08-22 19:32:04 -04:00
app added brick framework 2024-08-21 16:56:36 -04:00
src added reset key 2024-08-22 19:23:30 -04:00
test implemented moving to top and bottom rungs 2024-08-22 19:17:44 -04:00
.gitignore initial commit 2024-08-19 20:06:34 -04:00
abacus.cabal implemented row selection 2024-08-22 16:14:23 -04:00
CHANGELOG.md initial commit 2024-08-19 20:06:34 -04:00
LICENSE initial commit 2024-08-19 20:06:34 -04:00
package.yaml implemented row selection 2024-08-22 16:14:23 -04:00
README.md added details to README.md 2024-08-22 19:32:04 -04:00
Setup.hs initial commit 2024-08-19 20:06:34 -04:00
stack.yaml initial commit 2024-08-19 20:06:34 -04:00
stack.yaml.lock initial commit 2024-08-19 20:06:34 -04:00

abacus

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/.

Executive Summary

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 using the Stack package manager. The easiest way to install it is by first installing 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
  • 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