How To Install libghc-monad-control-dev on Ubuntu 18.04

In this tutorial we learn how to install libghc-monad-control-dev on Ubuntu 18.04. libghc-monad-control-dev is Monad transformers to lift control operations

Introduction

In this tutorial we learn how to install libghc-monad-control-dev on Ubuntu 18.04.

What is libghc-monad-control-dev

libghc-monad-control-dev is:

It defines the type class MonadControlIO, a subset of MonadIO into which generic control operations such as catch can be lifted from IO. Instances are based on monad transformers in MonadTransControl, which includes all standard monad transformers in the transformers library except ContT. For convenience, it provides a wrapped version of Control.Exception with types generalized from IO to all monads in MonadControlIO.

Note that this package is a rewrite of Anders Kaseorg’s monad-peel library. The main difference is that this package provides CPS style operators and exploits the RankNTypes language extension to simplify most definitions.

The package includes a copy of the monad-peel testsuite written by Anders Kaseorg. The tests can be performed by using cabal test.

The following critertion based benchmark shows that monad-control is on average about 2.5 times faster than monad-peel:

http://code.haskell.org/~basvandijk/code/bench-monad-peel-control

This package provides a library for the Haskell programming language. See http://www.haskell.org/ for more information on Haskell.

There are three methods to install libghc-monad-control-dev on Ubuntu 18.04. We can use apt-get, apt and aptitude. In the following sections we will describe each method. You can choose one of them.

Install libghc-monad-control-dev Using apt-get

Update apt database with apt-get using the following command.

sudo apt-get update

After updating apt database, We can install libghc-monad-control-dev using apt-get by running the following command:

sudo apt-get -y install libghc-monad-control-dev

Install libghc-monad-control-dev Using apt

Update apt database with apt using the following command.

sudo apt update

After updating apt database, We can install libghc-monad-control-dev using apt by running the following command:

sudo apt -y install libghc-monad-control-dev

Install libghc-monad-control-dev Using aptitude

If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude using the following command.

sudo aptitude update

After updating apt database, We can install libghc-monad-control-dev using aptitude by running the following command:

sudo aptitude -y install libghc-monad-control-dev

How To Uninstall libghc-monad-control-dev on Ubuntu 18.04

To uninstall only the libghc-monad-control-dev package we can use the following command:

sudo apt-get remove libghc-monad-control-dev

Uninstall libghc-monad-control-dev And Its Dependencies

To uninstall libghc-monad-control-dev and its dependencies that are no longer needed by Ubuntu 18.04, we can use the command below:

sudo apt-get -y autoremove libghc-monad-control-dev

Remove libghc-monad-control-dev Configurations and Data

To remove libghc-monad-control-dev configuration and data from Ubuntu 18.04 we can use the following command:

sudo apt-get -y purge libghc-monad-control-dev

Remove libghc-monad-control-dev configuration, data, and all of its dependencies

We can use the following command to remove libghc-monad-control-dev configurations, data and all of its dependencies, we can use the following command:

sudo apt-get -y autoremove --purge libghc-monad-control-dev

References

Summary

In this tutorial we learn how to install libghc-monad-control-dev package on Ubuntu 18.04 using different package management tools: apt, apt-get and aptitude.