A Haskell Battlesnake starter.
See README at https://github.com/ccntrq/starter-snake-haskell
starter-snake-haskell - A Haskell Battlesnake starter
This repository contains a Haskell Battlesnake starter project. It implements v1
of the Battlesnake API and can be deployed to Heroku.
Usage
This starter repo can be used in two different ways
- As a fork that is subsequently modified to your needs
- Installed as a hackage library in your haskell project
As a fork
First clone this repo or create a fork by pushing the fork button and clone your fork.
You can then start implementing your game logic in app/Main.hs
.
This template uses Stack to build and run the project.
To start the server locally run stack run
which will start a development webserver on port 3000. (The port can be changed by setting the PORT
environment variable)
As hackage dependency
With cabal
Add the dependency to your-app.cabal
executable myfirstapp
main-is: Main.hs
build-depends:
...
starter-snake-haskell ^>=1.1.0
With stack
Add the dependency as extra-dep
in your stack.yaml
resolver: lts-20.26
packages:
- .
extra-deps:
- starter-snake-haskell-1.1.0
Implementation
You can now start implementing your battlesnake logic in your project. You can use the Main from this repo as a starting point.
Deploy to Heroku
When using the repo as a fork you can use the provided Procfile
to deploy it to heroku. Otherwise you will need to provide your own.
Afterwards you can use the Heroku CLI to deploy your project.
First, login to your account:
heroku login -i
Afterwards you can create a new deployment in heroku using the heroku-buildpack-stack.
heroku create your-battlesnake-name --buildpack https://github.com/mfine/heroku-buildpack-stack
You can then push your code to heroku with git where it will be build and deployed:
git push heroku master