How To Install libghc-enumerator-prof on Ubuntu 18.04

In this tutorial we learn how to install libghc-enumerator-prof on Ubuntu 18.04. libghc-enumerator-prof is high-performance left-fold enumerators; profiling libraries

Introduction

In this tutorial we learn how to install libghc-enumerator-prof on Ubuntu 18.04.

What is libghc-enumerator-prof

libghc-enumerator-prof 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, compiled for profiling. See http://www.haskell.org/ for more information on Haskell.

There are three methods to install libghc-enumerator-prof 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-prof 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-prof using apt-get by running the following command:

sudo apt-get -y install libghc-enumerator-prof

Install libghc-enumerator-prof Using apt

Update apt database with apt using the following command.

sudo apt update

After updating apt database, We can install libghc-enumerator-prof using apt by running the following command:

sudo apt -y install libghc-enumerator-prof

Install libghc-enumerator-prof 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-prof using aptitude by running the following command:

sudo aptitude -y install libghc-enumerator-prof

How To Uninstall libghc-enumerator-prof on Ubuntu 18.04

To uninstall only the libghc-enumerator-prof package we can use the following command:

sudo apt-get remove libghc-enumerator-prof

Uninstall libghc-enumerator-prof And Its Dependencies

To uninstall libghc-enumerator-prof 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-prof

Remove libghc-enumerator-prof Configurations and Data

To remove libghc-enumerator-prof configuration and data from Ubuntu 18.04 we can use the following command:

sudo apt-get -y purge libghc-enumerator-prof

Remove libghc-enumerator-prof configuration, data, and all of its dependencies

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

sudo apt-get -y autoremove --purge libghc-enumerator-prof

References

Summary

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