TapTempo: Haskell Version
Haskell implementation of https://github.com/moleculext/taptempo. It started as a joke on LinuxFR where everybody implements its own TapTempo using its favorite language.
Run it, press the <Enter>
key, and see the beat per minute.
- Build using nix:
$ nix-build
$ ./result/bin/TapTempo --help
$ ./result/bin/TapTempo
- Run a
nix shell
+cabal
:
$ nix-shell
$ cabal run
- Build using stack: install a recent version of stack, then
$ stack setup
$ stack build
$ stack exec TapTempo
The current localisation includes English and French, however some items are not correctly localised:
- Most content generated by optparse-applicative, such as "Usage", "Available options", "Default" in help menu
- Error messages from refined
- Using
optparse-applicative
andrefined
, the command line interface cannot accept an invalid input. TheConfig
type, representing runtime configuration of the application, is full of refined types. - I had never localised an application before, and found Text.Shakespeare.I18N. It's doing the job really well.
- The
--version
command line flags gives a version number usinggit describe
, computed at compile time using template haskell. This is overkill and fun.