"readline" (или "haskeline") для карри?
Какой самый практичный способ написать программу на языке программирования Curry, которая бы имела консольный интерфейс с достойным редактированием строк?
На самом деле, мне нужно передать строку в качестве предложения для ввода пользователя, затем позволить пользователю отредактировать ее в консоли и получить отредактированный вариант обратно, обработать ее (относительно текущего состояния процесса), а затем выполнить цикл.
Мне нравится редактирование в стиле readline/haskeline. (И BTW haskeline в своей последней версии (0.6.4.0) имеет именно тот API, что я хочу: прочитать строку с предлагаемым начальным значением -getInputLineWithInitial
:
Эта функция ведет себя точно так же, как
getInputLine
за исключением того, что он предварительно заполняет область ввода. Текст, который находится в области ввода, представлен как кортеж из двух строк. Строка слева от кортежа - это то, что появится слева от курсора, а строка справа - это то, что появится справа от курсора.
)
Как получить желаемую функциональность для программы Curry наиболее практичным способом (я имею в виду, я бы не хотел писать новый код на Curry для операций редактирования консоли, а скорее использовать библиотеку, или оболочку, или FFI)?