tvl-depot/users/glittershark/xanthous
sterni a01fe5c06f fix(gs/xanthous): fix build failures caused by dependency updates
The following changes in dependencies of xanthous broke the build and
have been fixed in this CL. Thus we can reenable CI for xanthous.

* random 1.2.0 removed the Read instance for StdGen, so we need use
  System.Random.Internal to un-newtype StdGen into an SMGen in the
  appropriate places as that type still has a Show and Read instance.
  Requires a new direct dependency on splitmix as well.

* witherable 4.0 renamed Data.Witherable into Witherable and no longer
  exports Filter.

* random 1.2.0 probably also broke the Function instance for GameState
  which contains a StdGen. I'm not exactly sure which change exactly
  triggered this, but the fix is easy enough: We implement a Function
  instance for SMGen using functionShow allowing us to write a Function
  instance for StdGen using functionMap. I've put these instances into
  Xanthous.Orphans.

* hgeometry 0.12.0.0 removes the triangulationEdges function (which is
  also not mentioned in the changelog, so I'm not sure if there's a
  replacement yet). Fix by pinning to 0.11.0.0 for now.

* hedgehog-classes: relax bounds on semirings

Change-Id: I3617d8916d753b386c9fa80062be6bcbdfee0131
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2607
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-19 16:49:44 +00:00
..
.github Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' 2020-06-16 01:05:44 +01:00
bench feat(xan): Add a benchmark suite 2020-06-28 23:38:48 +00:00
build Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' 2020-06-16 01:05:44 +01:00
src fix(gs/xanthous): fix build failures caused by dependency updates 2021-03-19 16:49:44 +00:00
test refactor(xan): Switch to V2 over tuples most places 2020-07-04 15:30:52 +00:00
.envrc Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' 2020-06-16 01:05:44 +01:00
.gitignore chore(xan): Gitignore data directory 2020-07-03 03:35:05 +00:00
default.nix fix(gs/xanthous): fix build failures caused by dependency updates 2021-03-19 16:49:44 +00:00
hie.yaml feat(xan): Use haskell-language-server 2020-07-03 23:23:03 +00:00
LICENSE Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' 2020-06-16 01:05:44 +01:00
nixpkgs.nix feat(3p/haskellPackages): port in patches from xanthous 2020-06-29 01:56:24 +00:00
package.yaml fix(gs/xanthous): fix build failures caused by dependency updates 2021-03-19 16:49:44 +00:00
pkg.nix refactor(xan): Simplify build infrastructure 2020-07-03 14:41:36 +00:00
README.org Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' 2020-06-16 01:05:44 +01:00
Setup.hs Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' 2020-06-16 01:05:44 +01:00
shell.nix feat(xan): Install hlint in shell 2020-07-04 15:30:52 +00:00
xanthous.cabal refactor(xan): Switch to V2 over tuples most places 2020-07-04 15:30:52 +00:00

Xanthous

Building

$ nix build

Running

$ ./result/bin/xanthous [--help]

Keyboard commands

Keyboard commands are currently undocumented, but can be found in [this file. Movement uses the nethack-esque hjklybnu.

Development

Use lorri, or run everything in a nix-shell

# Build (for dev)
$ cabal new-build

# Run the game
$ cabal new-run xanthous

# Run tests
$ cabal new-run test

# Run a repl
$ cabal new-repl