DPella

The course uses a programming framework called DPella, which stands for Differential Privacy in Haskell with Accuracy. To use DPella, you need to download and install a Docker image.

Downloading

We have prepared a Docker image which consists on the Haskell Interpreter and Compiler 8.2.2 together with DPella. So far, we have only an image for those using Linux.

Installing

To install the downloaded image in your machine, you should run the following command:

docker import --change "ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/2.2/bin:/opt/ghc/8.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" --change "ENV LANG C.UTF-8" --change "CMD [\"ghci\"]" - dpella:install < dpella.tar.gz

Launching DPella

Programming

You can use your favorite editor to create your DPella programs in the directory rio2020local (recall the previous point). Once you finish editing your files, you can try them by accessing the rio2020 directory in the docker image---which points to your rio2020local directory---and load them!

  Prelude>:cd rio2020
  Prelude>:l <YourDPellaCode.hs>

There are a couple of Haskell's interpreter commands very useful to learn, e.g., how to list all the files in a directory.

  Prelude>:!ls

Haskell Documentation

If you want to explore the Haskell programming language, we have provided some useful links below.