common-lisp
rlwrap is a 'readline wrapper' that uses the GNU Readline library to
allow the editing of keyboard input for any other command. Input
history is remembered across invocations, separately for each command;
history completion and search work as in bash and completion word
lists can be specified on the command line.