How To Install libghc-enumerator-dev on Ubuntu 18.04
Introduction
In this tutorial we learn how to install libghc-enumerator-dev
on Ubuntu 18.04.
What is libghc-enumerator-dev
libghc-enumerator-dev is:
Typical buffer–based incremental I/O is based around a single loop, which reads data from some source (such as a socket or file), transforms it, and generates one or more outputs (such as a line count, HTTP responses, or modified file). Although efficient and safe, these loops are all single–purpose; it is difficult or impossible to compose buffer–based processing loops.
Haskell’s concept of “lazy I/O” allows pure code to operate on data from an external source. However, lazy I/O has several shortcomings. Most notably, resources such as memory and file handles can be retained for arbitrarily long periods of time, causing unpredictable performance and error conditions.
Enumerators are an efficient, predictable, and safe alternative to lazy I/O. Discovered by Oleg Kiselyov, they allow large datasets to be processed in near–constant space by pure code. Although somewhat more complex to write, using enumerators instead of lazy I/O produces more correct programs.
This library contains an enumerator implementation for Haskell, designed to be both simple and efficient. Three core types are defined, along with numerous helper functions:
Iteratee: Data sinks, analogous to left folds. Iteratees consume a sequence of input values, and generate a single output value. Many iteratees are designed to perform side effects (such as printing to stdout), so they can also be used as monad transformers.
Enumerator: Data sources, which generate input sequences. Typical enumerators read from a file handle, socket, random number generator, or other external stream. To operate, enumerators are passed an iteratee, and provide that iteratee with input until either the iteratee has completed its computation, or EOF.
Enumeratee: Data transformers, which operate as both enumerators and iteratees. Enumeratees read from an outer enumerator, and provide the transformed data to an inner iteratee.
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-enumerator-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-enumerator-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-enumerator-dev
using apt-get
by running the following command:
sudo apt-get -y install libghc-enumerator-dev
Install libghc-enumerator-dev Using apt
Update apt database with apt
using the following command.
sudo apt update
After updating apt database, We can install libghc-enumerator-dev
using apt
by running the following command:
sudo apt -y install libghc-enumerator-dev
Install libghc-enumerator-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-enumerator-dev
using aptitude
by running the following command:
sudo aptitude -y install libghc-enumerator-dev
How To Uninstall libghc-enumerator-dev on Ubuntu 18.04
To uninstall only the libghc-enumerator-dev
package we can use the following command:
sudo apt-get remove libghc-enumerator-dev
Uninstall libghc-enumerator-dev And Its Dependencies
To uninstall libghc-enumerator-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-enumerator-dev
Remove libghc-enumerator-dev Configurations and Data
To remove libghc-enumerator-dev
configuration and data from Ubuntu 18.04 we can use the following command:
sudo apt-get -y purge libghc-enumerator-dev
Remove libghc-enumerator-dev configuration, data, and all of its dependencies
We can use the following command to remove libghc-enumerator-dev
configurations, data and all of its dependencies, we can use the following command:
sudo apt-get -y autoremove --purge libghc-enumerator-dev
References
Summary
In this tutorial we learn how to install libghc-enumerator-dev
package on Ubuntu 18.04 using different package management tools: apt
, apt-get
and aptitude
.