Size: a a a

Clojure — русскоговорящее сообщество

2020 November 06

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
А еще у нас есть проблема с многопоточностью в нечистых функциях. Например, джавовский Matcher (матчит регулярки) нельзя использовать в многопоточном контексте, потому что у него есть внутреннее мутируемое состояние
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну в общем мне так и не стало понятно, что для меня меняется практически, что деление не является строго чистой
и плюс может приводить к переполнению
алгоритмически на практике я их отношу к чистым и каноническое определение мне мало что даёт
Ну я попытался объяснить. Мой тезис был в том, что следить за корректностью программ, написанных преимущественно на чистых функциях, проще
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну в общем мне так и не стало понятно, что для меня меняется практически, что деление не является строго чистой
и плюс может приводить к переполнению
алгоритмически на практике я их отношу к чистым и каноническое определение мне мало что даёт
Да это дело твоё куда относить. Можно считать ее чистой и на этом предположении строить код
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Возможно в твоём случае это сойдёт
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Ну я попытался объяснить. Мой тезис был в том, что следить за корректностью программ, написанных преимущественно на чистых функциях, проще
тезис отличный
и хорошо работает, если чистоту функций не трактовать буквально
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
тезис отличный
и хорошо работает, если чистоту функций не трактовать буквально
по крайней мере в кложе
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Да нет, мне кложа как раз нравится тем, что она гораздо ближе к программированию на чистых функциях, чем большинство других языков программирования, при этом не ставит слишком суровые палки в колеса, когда хочется сделать что-то "нечистое"
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Возможно в твоём случае это сойдёт
ну хотел увидеть примеры обратного подхода
когда даже деление рассматривается как нечистая функция и строить код не так, как если бы она была чистая
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Все просто, мы обрабатываем все случаи
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну хотел увидеть примеры обратного подхода
когда даже деление рассматривается как нечистая функция и строить код не так, как если бы она была чистая
Наверняка такое есть где-то в специфичном софте
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
В каком-нибудь там кардиостимуляторе
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну хотел увидеть примеры обратного подхода
когда даже деление рассматривается как нечистая функция и строить код не так, как если бы она была чистая
Разница примерно та же, как в одном случае забить на то, что где-то может быть null, а в другом случае не забить и обработать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Сидят люди и тупо каждое деление обкладывают ифами
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Наверняка такое есть где-то в специфичном софте
Наверняка где-то что-то есть
Вопрос был поделиться собственным опытом
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
можно ведь и из словаря доставать по ключу и надеяться, что там всегда будет то, что нужно
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
Наверняка где-то что-то есть
Вопрос был поделиться собственным опытом
Я как все - делаю разумные ассаспшены и допускаю некоторый процент ошибок
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
В каком-нибудь там кардиостимуляторе
тесты, тесты, тесты
неважно, чистая функции или нет, всё важное нужно тестировать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
В играх есть такое - ты заходишь в какой-то угол и бац все распидорасило
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
В общем, / считать нечистым это наверное радикализм (хотя конкретно в случае деления мне так не кажется, не так уж сложно обработать эту ситуацию), но общий смысл от этого не меняется
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ну, давайте не будем давать пользователю ходить в тот угол
источник