@frp_ru

Страница 27 из 420
Quet
19.01.2017
18:39:39
и это боль

jar собрать? сиди 5 минут

Vasiliy
19.01.2017
18:46:09
там трамполин вроде ускоряет (LEIN_FAST_TRAMPOLINE вроде, давно было), есть плюс еще какие-то тулзы

да и репл не закрывают обычно

Google
Nikita
19.01.2017
19:04:41
jar собрать? сиди 5 минут
Да как-то быстрее было

Quet
19.01.2017
19:21:42
Repl driven development
это да. но говорю ж — есть всякие линтеры, сборки jar и тд

в репле как-то не очень

Vasiliy
19.01.2017
19:44:57
т.е. да, сидишь постоянно в репле, собрать жарник, например, нужно не так уж часто я сначала сам этого не понимал, как так жить можно, все ж медленно

Quet
19.01.2017
19:45:53
да я тоже так жил но чет задолбало потом ( и типов хочется

Vasiliy
19.01.2017
19:46:54
а это юзал? https://github.com/clojure/core.typed http://typedclojure.org/ я сам не пробовал если что ну и пишу на ts пока что) просто интересно мнение

Quet
19.01.2017
19:52:50
да мы выше обсуждали это если коротко, то идея втащить типы в язык который изначально задумывался как очень динамический не то чтоб обречена на успех

Aldar
19.01.2017
22:05:16
http://mutanatum.com/posts/2017-01-12-Browser-FP-Head-to-Head.html

Vasiliy
19.01.2017
22:16:52
странный пост "Flow types are optional, so you can not gain a guarantee of safety." интересно, что вообще он имеет ввиду хотя, много всего затронуто, как минимум стоит внимания

Nikita
19.01.2017
22:31:01
да, прогон какой-то

возможно за этим стоит какая-то разумная мысль, но выразить ее автор не смог

Filipp
19.01.2017
22:32:58
Ну типа на тебя ничто не ругается, когда где-то что-то не type-safe

Google
Nikita
19.01.2017
22:34:46
это как так? в чем тогда смысл flow?

Filipp
19.01.2017
22:36:31
ну ты можешь сделать что-то type-safe, но никогда не уверен, что сделал всё

Nikita
19.01.2017
22:38:55
почему? ну то есть в существующем проекте такая проблема может быть, да и то должна решаться добавлением // @flow во все существующие файлы если проект пишется с нуля, но вообще такой проблемы нет

Filipp
19.01.2017
22:41:30
если ты не напишешь где-то тип, это не ошибка с точки зрения flow

Nikita
19.01.2017
22:42:14
да, но если эта часть кода как-то связана с уже аннотированным, то будет работать type inference

Vasiliy
19.01.2017
22:42:23
"Flow types are optional, so you can not gain a guarantee of safety" – просто с тз логики это странное утверждение

Nikita
19.01.2017
22:42:51
да

Filipp
19.01.2017
22:44:02
в данном случае под guarantee имеется в виду ситуация "если бы где-то не было safety, я бы об этом узнал"

всё в порядке с точки зрения логики

Nikita
19.01.2017
22:44:53
ладно, я не использовал толком, так что хз если читать документацию, то в статье какой-то бред

Filipp
19.01.2017
22:45:02
в ts это решается включением noImplicitAny

Vasiliy
19.01.2017
22:46:21
я это понял так "если можно не писать типы, то нельзя гарантировать типобезопасность", но это же не так, такой вывод нельзя сделать правильно было бы сказать "если можно не использовать типы и их не использовать, то нельзя гарантировать типобезопасность"

Filipp
19.01.2017
22:46:25
ишуе почти 2 года https://github.com/facebook/flow/issues/298

Nikita
19.01.2017
22:48:06
да, я это прямо сейчас читаю

как-то печально это

Filipp
19.01.2017
22:48:14
если можно не использовать типы, нельзя гарантировать что ты их не (не (используешь))

Vasiliy
19.01.2017
22:48:39
вот это корректно, да, тут не поспоришь) а у него – нет

Filipp
19.01.2017
22:49:12
но из этого и второго твоего утверждения следует авторское

Vasiliy
19.01.2017
22:50:00
хотя да, ты прав это я дурак

Nikita
19.01.2017
22:50:03
это и называется плохо выразить свою мысль )

Google
Filipp
19.01.2017
22:50:07
)

Nikita
19.01.2017
22:50:35
он перепрыгнул часть рассуждений

стало непонятно

Adel
19.01.2017
23:45:32
Когда там котлинджс выползет?
фанаты прогрессивных систем типизации поговаривают, что из компилируемых в джс f# очень приятен и котлин на его фоне не нужен

Alex
20.01.2017
08:45:13
Привет Игорь

Aleh
20.01.2017
09:03:58
Так можно просто кавередж типами чекать у флоу

Выставить 100% и ронять билд, если не 100

Igor
20.01.2017
11:55:41
Vasiliy
20.01.2017
14:34:38
а зачем вообще curryN? зачем сознательно ограничивать "кол-во каррируемых аргументов"? почему просто не юзать постоянно curry? хотя..

Дмитрий
20.01.2017
14:36:42
Разные кейсы бывают

Vasiliy
20.01.2017
14:38:30
я в общем-то как-то вроде уяснил, но пример не могу себе придумать, а в доках такие примеры, типа сложить 4 числа) ну, т.е. хорошие для понимания что делается

Quet
20.01.2017
14:39:15
наверное просто оптимизация типа там случай для 2-3-4 аргументов написан руками и быстрее чем общий

Vasiliy
20.01.2017
14:39:34
вот тоже думал об этом, ну и + еще чтобы наложить ограничение там, где это мб нужно явно

Дмитрий
20.01.2017
14:40:27
Не быстрый, они почти одинаково медленные)

Vasiliy
20.01.2017
14:41:00
я пока не могу постичь исходники рамды, даже не пытался) заглянул пару раз и все

Дмитрий
20.01.2017
14:41:18
Ну там ничего особо сложного)

Владимир
20.01.2017
14:42:20
Не быстрый, они почти одинаково медленные)
если были бы почти одинаково медленные не было 4 функций каррирования

Vasiliy
20.01.2017
14:42:49
хотяяя

ща

Google
Vasiliy
20.01.2017
14:42:57
https://github.com/ramda/ramda/blob/v0.23.0/src/internal/_curry1.js

https://github.com/ramda/ramda/blob/v0.23.0/src/internal/_arity.js#L4

https://github.com/ramda/ramda/blob/v0.23.0/src/internal/_curryN.js

в _arity.js я не понял зачем так делается UPD: понял, все просто

Дмитрий
20.01.2017
14:44:17
если были бы почти одинаково медленные не было 4 функций каррирования
Ну я забенчмаркал рамду немного, результаты меня не очень впечатлили)

Quet
20.01.2017
14:44:52
а ты ждал что будет как js-лапша по скорости? )

Дмитрий
20.01.2017
14:46:03
а ты ждал что будет как js-лапша по скорости? )
В лодаше например compose почти в два раза быстрее

Quet
20.01.2017
14:46:37
В лодаше например compose почти в два раза быстрее
лодаш не настолько упорото-функционален ) ну и лодаш вылизать успели за эти годы прилично так

Vasiliy
20.01.2017
14:54:00
а почему просто не использовать для каррируемых функций с плавающей арити обычный curry все время?

Vladimir
20.01.2017
14:54:09
эм

ну

чтобы каррировать арити должен быть фиксированным, например

Vasiliy
20.01.2017
14:54:59
пока не понимаю, а можно пример? если не сложно

понял, все

Vladimir
20.01.2017
14:56:46
ну ты попробуй сам реализовать карри

Vasiliy
20.01.2017
14:56:50
да, пробовал

Vladimir
20.01.2017
14:56:52
=)

Vasiliy
20.01.2017
14:56:56
я видел у тебя еще https://github.com/iamstarkov/fp-js-workshop/blob/master/02-practical-intro.md#curry-from-the-inside ок, ну я понял R.curryN(4, (...args) => R.sum(args))(1, 2)(3)(4); — curry: https://goo.gl/gsUFyG но curryN: https://goo.gl/o18lH5, https://goo.gl/1L2zDL

Google
Vladimir
20.01.2017
14:59:17
тип того

Yumi
20.01.2017
20:59:24
Скидывали статью на днях, что в МИТ перестали преподавать по сицп. Имеет смысл её все еще изучать или стоит что-то другое искать?

Nikita
20.01.2017
21:02:58
если устраивает programming by poking, то не надо

а так же надо пользоваться питоном

и из этого чата выйти :)

http://www.posteriorscience.net/?p=206

на самом деле SICP там все еще используют, но в другом курсе

Vasiliy
20.01.2017
21:04:48
надо пропускать некоторые задачки

имхо

иначе невозможно осилить

Nikita
20.01.2017
21:04:58
почему?

Vasiliy
20.01.2017
21:05:10
сложна)

Nikita
20.01.2017
21:05:13
да ну )

хотя я не знаю

читаю вторую главу

но задачи не пропускаю

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

Vasiliy
20.01.2017
21:06:27
ну круто, я так не смог сначала решал все подряд тоже, потом стал пропускать, потом просто стал читать

Nikita
20.01.2017
21:07:12
может спешил слишком? там если отложить задачу и дать мозгу отвлечься, через пару дней становится понятнее

Vasiliy
20.01.2017
21:07:36
да, спешил

Nikita
20.01.2017
21:07:44
ясно

Страница 27 из 420