Чистота функций
Всё же считаю следует рассказать об этом. Частично буду рассказывать на примере хаскелля
Сама по себе чистая функция - это функция без побочных эффектов. То есть, фактически, это отсутствие каких-либо мутаций объектов. Например, в хаскелле это возведено в абсолют, и (практически) любая функция в нём есть чистая. Даже добавление элемента в список создаёт новый изменённый список
* Практически любая - потому что мир неидеален, и любое взаимодействие с ОС является грязным; подобные функции там обозначаются специальным типом IO
Естественно, не одним лишь хаскеллем едины. Писать чистые функции можно на практически любом (исключая всеразличные экзотические языки, кто их там знает) языке, вопрос лишь в том, что с этим могут происходить нюансы.
Продолжение идеи в посте ниже 👇
Post #104
48