Если языки функционального программирования не могут сохранить какое-либо состояние, как они делают простые вещи, такие как чтение ввода от пользователя? Как они "хранят" входные данные (или сохраняют какие-либо данные?)
Например: как эта простая вещь C переводится на функциональный язык программирования, такой как Haskell?
#include<stdio.h>
int main() {
int no;
scanf("%d",&no);
return 0;
}
(Мой вопрос был вдохновлен этим превосходным сообщением: "Исполнение в Королевстве существительных" . Чтение дало мне некоторое понимание того, что точно объектно-ориентированное программирование - это то, как Java реализует его одним экстремальным образом и как языки программирования программирования являются контрастными.)