@frp_ru

Страница 320 из 420
Denis
12.12.2017
07:14:39
@Gleber1 http://xgrommx.github.io/rx-book/content/guidelines/using/index.html#use-the-publish-operator-to-share-sideeffects

Gleb
12.12.2017
07:16:29
Observable .ajax(..) .flatMap(...) .retryWhen() .publish() И далее будет уже мой map из пайпа идти, таким образом разве будет паблишится что то при этом возвращая мне результат flatMap?

То есть по сути нужно вернуть два action

нет не так

Google
Gleb
12.12.2017
07:17:05
нужно запаблишить экшн а венуть результат запроса

Вот только там где мы запаблишем мы ведь должны быть полписаны на него а не на экшн который мы паблишим

Denis
12.12.2017
07:23:24
если publish без селектора то надо еще refCount или connect потом, или просто share

оу https://github.com/purescript/purescript-eff/issues/29#issuecomment-350956258

Gleb
12.12.2017
08:35:20
@xgrommx И все же оно ведь шарит именно сайд эфеект do/subscribe а не возвращаемое значение если я верно понял

То есть мне то нужно запаблишить action при этом возвращая не экшн а то чо было до паблиша

Denis
12.12.2017
09:21:54
https://github.com/safareli/purescript-fff

kana
12.12.2017
10:23:34
@ZeroBias поясни за флоу



че не так-то

чет у меня флоу не способен вообще ничего вывести

если сделать class Maybe<T> {} и отнаследоваться от него то все норм

illiatshurotshka❄️
12.12.2017
11:07:15
зачем nothing генерик

Google
kana
12.12.2017
11:07:55
чтобы map нормальный прописать

и chain потом

ну вообще я потыкал flow и он мне прямо сильно слабоватым показался, хз чего не так много чего и выводит (x => x нормально не выведет, даже если <T>(x: T) => x ), какие-то неясные баги с юнионом

то есть я не чувствую той прям надежности, что я за стеной типов и хуй что соберется, если я где-то что-то упущу

Maxim
12.12.2017
13:04:42
и ещё некоторые плюшки , но многого из тс не нахожу

kana
12.12.2017
13:05:40


Denis
12.12.2017
13:06:01
шото этот флоу не але

kana
12.12.2017
13:06:10
хде выводит?

может там флаги какие нужно подключить, вы скажите, я же хз



Дмитрий
12.12.2017
13:08:45
че не так-то
Просто посмотри на мою имплементацию

Не всегда изобретение велосипедов это правильный путь

kana
12.12.2017
13:09:46
да там был код для теста возможностей флоу

Дмитрий
12.12.2017
13:10:16
Я понимаю твой подход

kana
12.12.2017
13:10:22
мне бы понять, почему типы нормально не выводятся

Дмитрий
12.12.2017
13:10:23
Забудь его)

И конкретно с флоу я тебе серьёзно говорю, именно попытки разобраться "через имплементацию не глядя" приведут тебя в тотальное any

kana
12.12.2017
13:10:46
https://gist.github.com/kana-sama/e531b96adb87dfafb6f109161530a3b6 - вот такое сработало и это заебись

Дмитрий
12.12.2017
13:11:24
Из за редактора, потому что вс код по уебански работает

Google
Denis
12.12.2017
13:12:06
а что по твоему нормально работает?)

Дмитрий
12.12.2017
13:13:00
а что по твоему нормально работает?)
Ну не вставай так в позу, я могу бесконечно рассказывать о том, как всё отстойно в его имплементации)

https://gist.github.com/kana-sama/e531b96adb87dfafb6f109161530a3b6 - вот такое сработало и это заебись
Разница в том, что тут ты не пытаешься кастовать тип, а выводишь нормально)

const value: type это explicit cast, ето законно но не эффективно

kana
12.12.2017
13:15:26
да подожди

Юрий
12.12.2017
13:15:27
Из за редактора, потому что вс код по уебански работает
Вроде они обещали поработать над поддержкой флоу и дать возможность отключать проверки TS.

kana
12.12.2017
13:15:29
мы говорим про id

const id = x => x;

какой каст?

Дмитрий
12.12.2017
13:16:52
flow ide кстати на данный момент работает хуже стандартного

kana
12.12.2017
13:17:00
как узнать тип дефа через cli?

Maxim
12.12.2017
13:17:08
const id = x => x;
https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVBjOA7AzgFzAEsATMAXjAA8KA+a9LPQgQwuJIAoBWASlRYA6fHABiRKgFMuvIA

Если позвать методы стринги - ругнётся, пояснив что там намбер

Дмитрий
12.12.2017
13:17:51
как узнать тип дефа через cli?
Вбей в консоль flow help, там все команды будут

kana
12.12.2017
13:18:10


Дмитрий
12.12.2017
13:18:23
Ох

Ладно, сейчас встану

kana
12.12.2017
13:18:44
нет гарантий, что не будет number => string по типу

хорошо хоть не мономорфит по первому вызову

Google
Maxim
12.12.2017
13:21:18
нет гарантий, что не будет number => string по типу
он знает что там T => T. a и b разных типов

или что ты ожидал обобщить ?

kana
12.12.2017
13:21:51
я ожидал вывод буквально <T>T => T

как это ожидается

Maxim
12.12.2017
13:22:19
да у них и плейграунд - херня

без подсветки )

kana
12.12.2017
13:22:33
там внизу есть тип терма под курсором

Maxim
12.12.2017
13:22:36
и автокомплита

Дмитрий
12.12.2017
13:23:28
в случае тс плейграунда я бы постыдился выебываться

Admin
ERROR: S client not available

kana
12.12.2017
13:23:57
зачем тс вообще тут вспомнил?

Дмитрий
12.12.2017
13:24:40
Три сообщения выше

https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5sxCATAHgBUA+ACgA8AuMagSlerAG8wAnAKb5M-UozABfdLhIBnfGACGYALxly9AKztUs7ArAAjNRvoByLed1KAdPjgAxQo0Gb2QA

illiatshurotshka❄️
12.12.2017
13:41:02
тогда зачем вывод если самому приходиться указывать?

Дмитрий
12.12.2017
13:41:49
Чтобы ты спросил

illiatshurotshka❄️
12.12.2017
13:47:59
щас бы уходить от вопросов и указывать на нерелевантные системы на подобии софизма "а вы госдолг сша видели?"

Дмитрий
12.12.2017
13:50:11
Тебе я уже вообще давно не собираюсь ничего доказывать и пояснять

Дейли ремайндер

illiatshurotshka❄️
12.12.2017
13:50:34
меня не интересуют твои обидки

Google
Kelin
12.12.2017
13:57:17
kana
12.12.2017
14:01:01
чтобы флоу вывел полиморфный тип, нужно его вручную указать, после чего он его спокойно выводит из аннотации)

Denis
12.12.2017
14:05:02
чтобы флоу вывел полиморфный тип, нужно его вручную указать, после чего он его спокойно выводит из аннотации)
ну если честно то в хаскелл id :: forall a . a -> a id x = x просто в многих местах этот forall имплисити

kana
12.12.2017
14:05:28
да ты шо

не верю

какое это имеет отношение к текущей теме?

Дмитрий
12.12.2017
14:11:55
В флоу кстати тот же принцип, во многих местах аннотация не потребуется, но так как ты здесь описываешь инвариантную функцию в бивариантном виде (проще говоря, записываешь её в корне), то требуется добавить тот же forall

Нормальным для вывода типа является ковариантная последовательность изменения типов (что ожидаемо)

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

kana
12.12.2017
14:35:04
да дело не в этом, ты сейчас рассуждаешь со стороны правил вывода и какого-то порядка я рассуждаю со стороны юзера, который со всеми этими правилами вывода типов не знаком и для него АБСОЛЮТНО не понятно, почему λx.x имеет не ожидаемый тип ∀α. α → α, как видно из определения лямбды, а какие-то полумономорфные типы да и тип a|b -> a|b не гарантирует же, что для a вернется именно a (но это почему-то работает, полагают там какой-это имплиситный индекс или неявный анализ какой-то)

Дмитрий
12.12.2017
14:36:22
Да нифига у тебя тут не видно, в этом и прикол

Я именно про это и говорю

Твоё суждение о том, что здесь обязан быть a -> a по дефолту нарушит контрвариантное использование этой функции

Именно в этом смысл forall a

Ты явно задаёшь ограничения на сабтайпинг

И только после этого можешь юзать так как тебе хочется

kana
12.12.2017
14:38:08
ага, стопец, сабтайпинг, я понял

kana
12.12.2017
14:41:02
я все думал, какая тут вообще разница, бивариативность у нас или инвариативность

в хаскеле же нет сабтайпинга кроме специализации/обобщения, если это вообще можно назвать сабтайпингом, ведь мы сабим не типы, а уточняем переменные

хотя я погулил, existential quantification таки что-то меняет

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