Description
You will find the following in this archive - The linear-smc/ directory contains the source for the linear-smc
library, which defines the port API described in the paper. The library can also be found on Hackage - The examples/ directory contains fully worked out examples - The docker-image.tar.gz
file contains a prepackaged Ubuntu-based Docker image with an appropriate version of GHC as well as a compiled version of the library.
Assets
Instructions
General Installation
Software Dependencies:
To run the Docker image you need to have Docker installed. Docker can be installed following these instructions.
Experimental Installation
Work Flows:
Load the image
Load the image into docker with
$ docker load -i docker-image.tar.gz
Check that the load was successful
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tweag/linear-smc latest bfdde015f156 51 years ago 2.31GB
Ghci session
The simplest way to use the Docker image is to run a ghci session
$ docker run -it linear-smc
You can then browse the interface
> :browse Control.Category.Linear
Or import the interface to start implementing with (see the documentation on Hackage):
> import Control.Category.Linear
Use an Ubuntu session
Alternatively you can use an Ubuntu session by running
$ docker run -it linear-smc bash
You will find ghc
and cabal
installed to build files.
You may want to mount a directory from your file system to edit files more easily. The following command mounts the current directory as /mnt
when starting the Docker container
$ docker run -it --volume "$(pwd):/mnt/" linear-smc bash
Provenance
https://hackage.haskell.org/package/linear-smc-1.0.0