Size: a a a

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

2020 November 06

ST

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

MB

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
:)
источник

ST

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

MB

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Да нет же, ничего такого не может произойти, если все подумали и написали чистые функции
так что, clojure.core// чистая или нет, если она бомбит при делении?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
так что, clojure.core// чистая или нет, если она бомбит при делении?
Нечистая
источник

MB

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Есть сайд эффект, эксепшн при делении на 0
источник

MB

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я вот думаю, что лучше бы nil возвращала
источник

ST

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
если бы я теоретиком программирования был, то может было бы по другому
источник

MB

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

ST

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ну нам яву за стандарт качества брать что ли? :)
источник

ST

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

MB

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ну или в котлине том же
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Вот в яве почему-то отказались от checked exceptions, а ведь это был хороший способ хотя бы предупредить, что может бомбануть
источник