An introductory talk to practical use linear and substructural type systems through Linear Haskell and Rust.
All of the Linear Haskell commentary is describing the work by Tweag (more inforation can be found [here](https://github.com/tweag/ghc-proposals/blob/linear-types/proposals/00 00-linear-types.rst)). Tweag also has documentation about how to play around with their extension , including how to use it simply with docker.
The code in this presentation is
-
Set up docker on your local machine
-
Get the linear Haskell from the tweag docker repository:
docker pull tweag/linear-types:0.1.8This code is only tested against this specific version of linear Haskell.
-
All the normal stack commands can be used. For example, to drop down into a linear Haskell REPL, use
stack ghci. Note that the linear extension is always on in this branch of GHC.
lhs2texinstalled on the system path. Runstack install lhs2texoutside of this directory.- A system copy of LaTex with
xelatex.
To compile the presentation, simply use make. This will make two versions
of the presentation: the normal presentations with slide breaks (\pause in
beamer) and a handout version with no slide breaks.
- Watertight 3D models that are correct by construction, with the help of Linear Haskell.
- Tweag's Linear Haskell GHC branch.
- Tweag's linear base library.
- Linear Haskell GHC proposal
- A more in-depth proposal from Tweag.
- Everything listed in the
bib.bibfile.