Мне было интересно ... почему запоминание изначально не предоставляется как языковая функция ни на одном из известных мне языков?
Редактировать : чтобы уточнить, я имею в виду, что язык предоставляет ключевое слово для указания данной функции как запоминаемой, а не то, что каждая функция автоматически запоминается «по умолчанию», если не указано иное. Например, fortran предоставляет ключевое слово PURE, чтобы указать конкретную функцию как таковую. Я предполагаю, что компилятор может воспользоваться этой информацией для запоминания вызова, но я игнорирую, что произойдет, если вы объявите PURE функцию с побочными эффектами.