definition module ReadLine
+:: HistoryItem = {line :: String, timestamp :: String}
+
+:: HistoryState = {entries :: [HistoryItem], offset :: Int, flags :: Int}
+
//Readline
readLine :: !String !Bool !*env -> (!String, !*env)
setReadLineName :: !String !*env -> !*env
//Note that this HAS to be executed when you want to add entries when the
//history has not been used
usingHistory :: !*env -> !*env
+historyGetHistoryState :: !*env -> (!HistoryState, !*env)
+historySetHistoryState :: !HistoryState !*env -> !*env
//History List Management
addHistory :: !String !*env -> !*env