Skip to content

mikesperber/icfp2020

Repository files navigation

Preparation

If you have a working Haskell/Cabal setup, things might just work. There's also a working Nix configuration, which at this point requires a recent nix-unstable channel, however.

Otherwise:

  • install Docker
  • give Docker at least 6GB RAM where relevant
  • in the docker-ghcide directory, say do docker build -t ghcide . (this might take a while)
  • install Visual Studio Code
  • install VS Code Extension "Remote - Containers"
  • select "View" -> "Command Palette" (some modifiers + P), type "containers", select"Remote - Containers: Open Folder in Container"
  • open the hearts directory

VS Code will then construct a container to do its business. That might also take while.

Starting the Game

Console

The Sync module has two functions gameAlong and gameInteractive. (Very rudimentary.)

UI version

  • in the hearts directory, run ./docker-shell.sh to start a suitable shell in a Docker container

  • inside the Docker container, do cabal build to build the server

  • inside the Docker container, do ./run-server-inside-docker.sh to start the server

  • outside the Docker container:

  • install Elm

  • cd to hearts-frontend, do:

elm reactor

About

Material for ICFP 2020 tutorial on functional software architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages