Я хотел бы иметь что-то вроде bash 2>&1
redirect в Haskell, который объединяет stdout
и stderr
из процесса в один Handle
. Было бы неплохо сделать это непосредственно с помощью System.Process.createProcess
или аналогичной библиотечной функции, особенно если она использовала ту же семантику, что и bash redirect w.r.t. перемежающий ввод из ручек.
Гибкость, предлагаемая createProcess
, кажется перспективной вначале: можно указать Handle
для стандартных дескрипторов файлов, поэтому для stdout
и stderr
можно указать тот же Handle
. Однако аргументы Handle
должны существовать до вызова. Без возможности создания Handle
из тонкого воздуха перед вызовом функции я не уверен, что проблема может быть решена таким образом.
Изменить: Решение должно работать независимо от платформы.