skip to main content
Aug 2021 software

Artefact for _Evaluating Linear Functions to Symmetric Monoidal Categories_

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

Read Me (icfpws21haskellmain-p33-p-Artifact-independent-readme.txt)
Artifact (icfpws21haskellmain-p33-p-Artifact-independent.zip)

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


License


Comments