Size: a a a

2019 June 03

k

kolay` in javascript_ru
Там про чистоту
источник

DE

Denis Efremov in javascript_ru
kolay`
Там про чистоту
Не нашел. Покажи
источник

k

kolay` in javascript_ru
Если результат чистой функции не используется, её вызов может быть удален без вреда для других выражений.

Результат вызова чистой функции может быть мемоизирован, то есть сохранен в таблице значений вместе с аргументами вызова. Если в дальнейшем функция вызывается с этими же аргументами, её результат может быть взят прямо из таблицы, не вычисляясь (иногда это называется принципом прозрачности ссылок). Мемоизация, ценой небольшого расхода памяти, позволяет существенно увеличить производительность и уменьшить порядок роста некоторых рекурсивных алгоритмов.

Если нет никакой зависимости по данным между двумя чистыми функциями, то порядок их вычисления можно поменять или распараллелить (говоря иначе вычисление чистых функций удовлетворяет принципам thread-safe)

Если весь язык не допускает побочных эффектов, то можно использовать любую политику вычисления. Это предоставляет свободу компилятору комбинировать и реорганизовывать вычисление выражений в программе (например, исключить древовидные структуры).
источник

DE

Denis Efremov in javascript_ru
Где там про явные и неявные аргументы?
источник

DE

Denis Efremov in javascript_ru
Yuri Katkov
this - это и есть неявный аргумент. Но определение чистой функции говорит нам только о явных аргументах. Один и тот же вовзращаемый результат при одних и тех же явных аргументах. Плюс никакого подглядывая за окружающим миром и никакого изменения окружающего мира.
В итоге этого определения не существует
источник

DE

Denis Efremov in javascript_ru
И нигде не сказано что это не чистая функция:
источник

DE

Denis Efremov in javascript_ru
function f() {
  return this.a;
}
источник

T

Th0r in javascript_ru
Denis Efremov
В итоге этого определения не существует
источник

DE

Denis Efremov in javascript_ru
источник

PC

Pavel Chebotarev in javascript_ru
Denis Efremov
function f() {
  return this.a;
}
Ну кстати, есть ЯП, в котором чистые методы класса могут обращаться к свойствам этого объекта и все еще оставаться чистыми, компилятор такое разрешает
источник

S

Sergey Bedritsky in javascript_ru
это кто такое сказал?
источник

S

Sergey Bedritsky in javascript_ru
так это норма. я часто вижу 16-летних арт-директоров и 18 летних тим лидов.
источник

S

Sergey Bedritsky in javascript_ru
ну в целом его можно было пропустить) я не думаю что по его примеру последовали бы другие с упоротыми опросами)
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
И уведомил естественно Саню, потому что первый раз его опросы возмутили
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
Sergey Bedritsky
ну в целом его можно было пропустить) я не думаю что по его примеру последовали бы другие с упоротыми опросами)
Так один раз пропустил
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
Кек
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
гг вп
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
Sergey Bedritsky
так это норма. я часто вижу 16-летних арт-директоров и 18 летних тим лидов.
Продолжим по теме
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
Так-то это норм, потому что сейчас реально достаточно много инфы проходит через человека
источник

IK

Ilya 🇧🇾 Karpuk in javascript_ru
Только вопрос встаёт, какая инфа, некоторые пропускают через себя говно всякое, некоторые пропускают через себя полезные материалы для работы и жизни
источник