@jvmchat

Страница 760 из 2890
Andrey
02.12.2016
20:15:05
Даже более. Исключения можно разрешить, они не особо влияют.

Marat
02.12.2016
20:15:08
И там серьезно оптоволокно в квартиру?
Нет, у меня оптоволокно в подвал, а там уже с коммутатора до квартир 4-жильный провод (8p4c) 100мбит

Andrey
02.12.2016
20:15:46
В процедурном или ООП языке нужно придумывать собственное определение чистой функции. Чистую функцию в функциональном смысле там не построить.

Oleksandr
02.12.2016
20:16:10
чистая функция == для одних аргументов вернет всегда одно например, функция с мемоизацией (первый вызов 1000с, остальные 0.1с) — "чистая" независимо от ООП или прочей фигни

Google
Oleksandr
02.12.2016
20:17:30
ага

guga
02.12.2016
20:18:37
А если она будет логировать еще?

Мне кажется нужно определить какие сайд эффекты допустимы.

Oleksandr
02.12.2016
20:19:06
тогда не труъ

James Tiberius Kirk ?
02.12.2016
20:19:21
логированние не дает заменить функцию на значение

Oleksandr
02.12.2016
20:19:23
но лично я на такое забиваю и согласен с "допустимыми" сайд эеффектами

сделать "чистое" деление можно десятком способов — div(a, b, whatToDoIfBIsZero); div(a, v): Optional[...], ...

guga
02.12.2016
20:21:11
А какой профит это дает в работе?

Andrey
02.12.2016
20:21:16
но лично я на такое забиваю и согласен с "допустимыми" сайд эеффектами
И как твоя функция ведет себя в многопоточном режме?)

Oleksandr
02.12.2016
20:22:16
И как твоя функция ведет себя в многопоточном режме?)
нормально ведет, почему бы нет надо логгировать — логгируй

James Tiberius Kirk ?
02.12.2016
20:22:16
Google
Andrey
02.12.2016
20:22:57
нормально ведет, почему бы нет надо логгировать — логгируй
Серьезно? Вот логгирование в многопоточном режиме ок отрабатывает?

guga
02.12.2016
20:23:06
кеширование же
Что-то не представляю как.

Oleksandr
02.12.2016
20:23:23
Marat
02.12.2016
20:23:26
guga
02.12.2016
20:23:37
Серьезно? Вот логгирование в многопоточном режиме ок отрабатывает?
Ну конечно, захватил монитор, записал, отпустил ?

James Tiberius Kirk ?
02.12.2016
20:23:37
Ну чистая функция позволяет типа заменить свой вызов и расчет на значение

если она с такими же параметрами уже вызывалась

guga
02.12.2016
20:24:04
Ох вейт, захват монитора ?

James Tiberius Kirk ?
02.12.2016
20:24:05
но тапками не кидайте, я тока первый раз по вене ФП ширнулся

Andrey
02.12.2016
20:24:24
Очи хаскель)

Хаскель рулез.

guga
02.12.2016
20:24:48
Чому не лісп?

Andrey
02.12.2016
20:24:59
Помню как в питоновском чатике была хаскель-эпопея около года назад)

Oleksandr
02.12.2016
20:25:24
хаскель никем серьезным не юзается из-за ленивости по умолчанию это делает невозможным анализ алгоритмов на нем

Oleksandr
02.12.2016
20:26:20
ну про невозможность я загнул, но конкретно так усложняет жизнь — точно

А какой профит это дает в работе?
основное — меньше напряга мозгу меньше вариантов "а чего ещё эта функция может сделать" — проще вьехать в код

Google
guga
02.12.2016
20:30:58
А представить приложение без io как-то не могу

Oleksandr
02.12.2016
20:31:00
Хм, но ведь любой io не может быть чистый по дефолту
а здесь самое время сломать мозг про монаду IO

Andrey
02.12.2016
20:31:06
ну про невозможность я загнул, но конкретно так усложняет жизнь — точно
Нет. Ленивость вообще никаким боком здесь. Алгоритмы как раз на функциональных языках и анализируют.

Oleksandr
02.12.2016
20:31:12
та ну?

James Tiberius Kirk ?
02.12.2016
20:31:19
чистые функции в обычном ооп есть смысл использовать?

guga
02.12.2016
20:31:28
Luger
02.12.2016
20:31:55
А представить приложение без io как-то не могу
Оттого и лепят в фп вокруг ио костыли

Andrey
02.12.2016
20:32:01
та ну?
Да. А какую модель для алгоритмов ты бы выбрал? Процедурную? Ну удачи.

guga
02.12.2016
20:32:11
Мне проще как-то жить с тем io что устоялось

Руслан
02.12.2016
20:32:12
Ленивость-бай-дефолт уже год как выпилили из хаскеля. Или одним ключиком отключается.

Oleksandr
02.12.2016
20:32:39
Нет. Ленивость вообще никаким боком здесь. Алгоритмы как раз на функциональных языках и анализируют.
"функциональность" перпендикулярна "ленивости", вообще и алгоритмы как раз на джавах-питонах-сях обычно показывают

Andrey
02.12.2016
20:32:45
чистые функции в обычном ооп есть смысл использовать?
Да, если есть возможнось, то делай их чистыми. Читать удобно.

James Tiberius Kirk ?
02.12.2016
20:33:05
а то я так подумал у меня в коде каждый третий метод может эксепшон выкинуть

Andrey
02.12.2016
20:33:17
"функциональность" перпендикулярна "ленивости", вообще и алгоритмы как раз на джавах-питонах-сях обычно показывают
Да. А ты прав. Ты сам утверждаешь, что ленивость мешает анализировать алгоритмы.

James Tiberius Kirk ?
02.12.2016
20:33:38
я пытался обернуть все в подобие монады, но тимлид перекрестился и сказал почитать о фп побольше

Andrey
02.12.2016
20:33:39
Oleksandr
02.12.2016
20:33:41
Мне проще как-то жить с тем io что устоялось
ну вот это как раз тот случай, когда удобнее считать этот метод чистым — оберткой <Result, Error>

Andrey
02.12.2016
20:34:11
James Tiberius Kirk ?
02.12.2016
20:34:37
Что посоветуешь?
я могу посоветовать, но в инете ее можно ток купить

Google
James Tiberius Kirk ?
02.12.2016
20:34:43
свежак

https://www.manning.com/books/functional-programming-in-java

а, вы уже не про фп(

Andrey
02.12.2016
20:35:15
Или давай проще. Вот дан алгоритм быстрой сортировки. Докажи его завершаемость и то, что он именно сортирует массив, а не делает что-либо другое.

Oleksandr
02.12.2016
20:35:15
ну вот это как раз тот случай, когда удобнее считать этот метод чистым — оберткой <Result, Error>
что, в общем, можно считать сопоставимым с обычным исключением

guga
02.12.2016
20:35:20
Andrey
02.12.2016
20:35:28
Алгоритм написан на Сях.

James Tiberius Kirk ?
02.12.2016
20:35:36
Твой лид ее дочитал?
не знаю, но отзывается хорошо

guga
02.12.2016
20:35:58
Чет жаба душит покупать.

Oleksandr
02.12.2016
20:38:11
Ленивость-бай-дефолт уже год как выпилили из хаскеля. Или одним ключиком отключается.
я слышал, что юзают специальный компилятор (не ghc) для энергичных вычислений, и вообще далеко не достаточно "одного ключа"

Admin
ERROR: S client not available

Andrey
02.12.2016
20:38:21
Ладно, быстрая сортировка - глупый вариант. Она по индукции доказывается.

Надо взять что-либо по экхотичнее.

Oleksandr
02.12.2016
20:38:57
Надо взять что-либо по экхотичнее.
глянь того же кормана или кнута, лол, если на экзотику тянет

Andrey
02.12.2016
20:40:10
глянь того же кормана или кнута, лол, если на экзотику тянет
И что я там увижу? Перечисление алгоритмов?

Отлично. Давай самое простое. Вот дан код на сях. Докажи его завершаемость.

Oleksandr
02.12.2016
20:40:30
анализ алгоритмов, оценки сложности, памяти

Andrey
02.12.2016
20:40:30
В общем случае.

Oleksandr
02.12.2016
20:40:42
ты сейчас совсем другое просишь

я говорю, что, исторически, большинство алгоритмов и структур данных описываются в императивном стиле

Google
Oleksandr
02.12.2016
20:41:26
а ты мне про проблему остановки

Oleksandr
02.12.2016
20:42:17
вполне

Andrey
02.12.2016
20:42:20
Думаю, что нет.

Oleksandr
02.12.2016
20:42:35
ну окей, тогда зачем спрашивать

Andrey
02.12.2016
20:43:03
Хотя да, я не прав.

Руслан
02.12.2016
20:43:26
Вроде оно, я с телефона, на ходу, не очень удобно ?

Oleksandr
02.12.2016
20:45:02
https://ghc.haskell.org/trac/ghc/wiki/StrictPragma
может, так и есть, я хаскель активно изучал года два назад

https://www.manning.com/books/functional-programming-in-java
https://www.manning.com/books/functional-programming-in-scala (trollface) у меня где-то есть бумажная, в инете есть бесплатные

James Tiberius Kirk ?
02.12.2016
20:55:38
мне в жабе больше хочется почитаь

не потому что жаба больше подходит, а потому что мне сложно одновременно ширяться скалой и фп-понятиями

public Try div(int a, int b){ if(b==0) return Try.setError("cant div on zero); else return Try.setResult(a/b); }

это является чистой функицей?

с монадой Try условной

Oleksandr
02.12.2016
20:59:21
угу

James Tiberius Kirk ?
02.12.2016
20:59:43
каеф

Oleksandr
02.12.2016
20:59:45
правда, Try тут совершенно не обязательно быть монадой (и она ею быть не может)

James Tiberius Kirk ?
02.12.2016
21:00:19
чому не может?

guga
02.12.2016
21:00:25
А что делать с out of memory?

James Tiberius Kirk ?
02.12.2016
21:00:35
смириться

Andrey
02.12.2016
21:01:13
мне в жабе больше хочется почитаь
Тебе чистые функции для чего? Глупо их городить в ООП языке)

James Tiberius Kirk ?
02.12.2016
21:01:26
я в процессе изучения фп

Страница 760 из 2890