У меня есть функция типа in_channel -> out_channel -> unit, которая выводит что-то в out_channel. Теперь я хотел бы получить его вывод как строку. Создание временных файлов для записи и чтения обратно кажется уродливым, так как я могу это сделать? Существуют ли другие методы создания out_channel помимо семейства Pervasives.open_out?
Собственно, эта функция реализовала repl. Мне действительно нужно протестировать его программно, поэтому я хотел бы сначала перенести его на функцию типа string -> string. Для создания in_channel кажется, что я могу использовать Scanf.Scanning.from_string, но я не знаю, как создать параметр out_channel.