/Haskell 7


Safe Haskell None
Language Haskell98


This module provides a low-level API to the line history stored in the InputT monad transformer.

For most application, it should suffice to instead use the following Settings flags:

  • autoAddHistory: add nonblank lines to the command history (True by default).
  • historyFile: read/write the history to a file before and after the line input session.

If you do want custom history behavior, you may need to disable the above default setting(s).

data History Source


emptyHistory :: History Source

addHistory :: String -> History -> History Source

addHistoryUnlessConsecutiveDupe :: String -> History -> History Source

Add a line to the history unless it matches the previously recorded line.

addHistoryRemovingAllDupes :: String -> History -> History Source

Add a line to the history, and remove all previous entries which are the same as it.

historyLines :: History -> [String] Source

The input lines stored in the history (newest first)

readHistory :: FilePath -> IO History Source

Reads the line input history from the given file. Returns emptyHistory if the file does not exist or could not be read.

writeHistory :: FilePath -> History -> IO () Source

Writes the line history to the given file. If there is an error when writing the file, it will be ignored.

stifleHistory :: Maybe Int -> History -> History Source

Limit the number of lines stored in the history.

stifleAmount :: History -> Maybe Int Source

The maximum number of lines stored in the history. If Nothing, the history storage is unlimited.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).