Prefer snake-shift instead of a row-by-row shift

Per the assignment's instructions, the `Shift n` operation should treat
the *entire keyboard* like a cycle and shift that. I was erroneously
treating *each row* like a cycle and shifting those one-by-one.

This change fixes that. In addition, it also:
- Updates README.md with expected inputs and outputs
- Updates test suite
- Adds `split` dependency to {default,shell}.nix
This commit is contained in:
William Carroll 2020-08-12 12:03:35 +01:00
parent f11b91c985
commit bba3f16c43
5 changed files with 57 additions and 37 deletions

View file

@ -5,9 +5,10 @@ let
rev = "afa9ca61924f05aacfe495a7ad0fd84709d236cc";
}) {};
ghc = pkgs.haskellPackages.ghcWithPackages (hpkgs: [
hpkgs.optparse-applicative
hpkgs.unordered-containers
ghc = pkgs.haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [
optparse-applicative
unordered-containers
split
]);
in pkgs.stdenv.mkDerivation {
name = "transform-keyboard";