stack-network: A program for extending Stack to add distributed capabilities

[ bsd3, library, program, web ] [ Propose Tags ]


[Skip to Readme]
Versions [faq],
Dependencies ansi-terminal, async, base (>=4.7 && <5), binary, bytestring, Cabal, clock, configurator, directory, dirstream, distributed-process-lifted, distributed-process-simplelocalnet, exceptions, filepath, lifted-base, mtl, optparse-applicative, pipes, pipes-safe, process, system-fileio, system-filepath, temporary, text, transformers [details]
License BSD-3-Clause
Copyright 2018 Sean McGroarty
Author Sean McGroarty
Maintainer Sean McGroarty <>
Category Web
Home page
Bug tracker
Source repo head: git clone
Uploaded by mcgroas at Tue May 1 11:44:17 UTC 2018
Distributions NixOS:
Executables stack-network
Downloads 231 total (31 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-05-01 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for stack-network-

[back to package description]




This is a program I built as part of my Final Year Project in College. The project is titled An Exploration into the Distribution of Stack in which I designed and tested a few approaches for distributing Stack. stack-network uses Cloud Haskell and pipes to efficiently transmit files between nodes on a network and thus minimise build times.




Docker (installed and running)

docker pull mcgizzle/stack-network

stack test

This will run a number of scenarios created from docker-compose files embedded into the program using Quasi-Quotes.

Building & Running

stack build

Ensure you have a network.config file

    host = ""
    port = "5000"

Update the port and host as appropriate.

stack exec stack-network --help will list the options

To see the program in action it is suggested running it with Docker. I have provided an image that wil work with the tests and the docker-compose located in the project root.

Pull the image from Docker

docker pull mcgizzle/stack-network

Run this from the root of the project

docker-compose up