Ввод-вывод и чистые функции
От: AlexRK  
Дата: 23.01.17 19:44
Оценка:
Приветствую, уважаемые форумчане.

Есть два подхода к реализации ИО: как в большинстве мейнстримовых языков (в любой функции может быть чтение файла), или как в меньшинстве функциональных — сигнатура грязных функций "заражена" чем-то, например уникальным типом "мир" или чем-то в этом роде.

Вот возник дурацкий вопрос. Засорение стека вызовов грязных функций специальным параметром — хорошая штука или не очень? Если программа делает сплошной ввод-вывод, то это наверное не очень круто, а если ввода-вывода мало — то наоборот. Вроде как в основном в программах ввода-вывода много. Но мне все равно почему-то не нравится вариант, когда в функции вычисления суммы двух чисел может стоять форматирование жесткого диска, как-то неправильно это...

Вы за какой вариант, с явно видимым в сигнатуре функции вводом-выводом, а-ля Хаскель, или с неявным, а-ля Ц++? Почему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.