Массивы, списки и строки существуют только в воображении программиста и как термин в некоторых языках.
Файл - это последовательность байтов, поэтому, когда вы хотите что-то записать в него, вы должны кодировать эту воображаемую строку/ List / Массив в последовательность байтов (show
или чем-то из Storable
и т. Д.).
Также терминал - это последовательность байтов, которая представляет собой закодированное представление действий, необходимых для показа чего-либо пользователю.
У вас есть много способов кодирования.Вы можете сделать CSV представление массива с помощью foldr (\a b -> a (',' : b)) "\n" (map shows [1,2,3])
или вы можете распечатать его show [1,2,3]