
Дмитрий
25.09.2017
01:14:18

? animufag ?
25.09.2017
01:19:01
вообще хз как на этом языке диагностировать проблемы

Google

Дмитрий
25.09.2017
01:19:42
Требуется помощь опытного шамана

? animufag ?
25.09.2017
01:19:49
оно же просто в итоге скажет undefined is not a function

Дмитрий
25.09.2017
01:20:09

? animufag ?
25.09.2017
01:20:11
ну и сигнатурку в дебагере наверное не покажет

Дмитрий
25.09.2017
01:20:33
Там хуже, он упадёт но не оч понятно где, у рамды стек будет ого го

? animufag ?
25.09.2017
01:21:01
а ну да оно же всё закарировано

Дмитрий
25.09.2017
01:21:09
Естественно наличие ошибки в нормальном коде должно выводиться статически

? animufag ?
25.09.2017
01:22:35
вообще как-то гадко стало
корю себя за прошедшие полтора часа
пойду помоюсь

Дмитрий
25.09.2017
01:22:58
?
Ну не утрируй))

Google

? animufag ?
25.09.2017
01:23:50
вообще в тех трёх предложения нет вранья
даже без преувеличений

Дмитрий
25.09.2017
01:25:30
Ты полтора часа сидел в репле с fp-lodash? ?
Чудовищно(
Так, к главе Generative Testing я начал понимать
Что не понимаю ничего кроме предлогов
?

andretshurotshka?❄️кде
25.09.2017
03:12:51

Дмитрий
25.09.2017
03:13:49
ето уже удалили
Ну как удалили, просто по дефолту теперь используют более простой вариант
А вообще у них там такая глубокая взаимосвязь всего подряд, что эффекты из ядра удалить нельзя
Это типа сокращённый синтаксис для row эффектов, который так же используется и для объектов
fullName :: forall r. { firstName :: String, lastName :: String | r } -> String
fullName person = person.firstName <> " " <> person.lastName
fullName :: forall r. Record (firstName :: String, lastName :: String | r) -> String
> :kind Record
# Type -> Type
> :kind Eff
# Control.Monad.Eff.Effect -> Type -> Type
row polymorphism — один и тот же принцип для описания строки эффектов и для функции принимающий рекорд с определенными полями
Различается с тем, что имел ввиду gcanti в своём пресловутом Flow has Row Polymorphism примерно как детский грузовик в песочнице и размеры вселенной ??

andretshurotshka?❄️кде
25.09.2017
03:22:33
Эээ
Это же фантом обычный

Дмитрий
25.09.2017
03:22:44
Я кажется дочитал by example
Ничё не понял

andretshurotshka?❄️кде
25.09.2017
03:22:47
В Eff

Дмитрий
25.09.2017
03:22:54

andretshurotshka?❄️кде
25.09.2017
03:23:10
Да

Google

andretshurotshka?❄️кде
25.09.2017
03:23:18
Автор так и писал

Дмитрий
25.09.2017
03:23:19
Фантомы там кстати тоже есть в конце книги ?
Вообще, типы — это симулякр ?

andretshurotshka?❄️кде
25.09.2017
03:25:37

Дмитрий
25.09.2017
03:26:49

andretshurotshka?❄️кде
25.09.2017
03:28:51
ну конкретно в Eff он фантом
чтобы разные Eff ошибку давали
?
https://mobile.twitter.com/paf31/status/908760073303764993
Eff and MTL are two separate ways of managing effects in PureScript. They're not really related. Eff is like IO with an extra phantom type.

Дмитрий
25.09.2017
03:33:18
Интересно как они теперь будут все библиотеки переписывать

andretshurotshka?❄️кде
25.09.2017
03:37:20
Лол
Легко
Обновляем
И ждем пока перепишут
Если не переписали значит библиотека не нужна

Дмитрий
25.09.2017
03:39:50
Можно даже не предупреждать ?

Google

Дмитрий
25.09.2017
04:57:11
http://www.coloring-book.co
За навигацию автора хочется пристрелить примерно к третьей странице, но в целом интересно

da horsie
25.09.2017
05:05:36
Подскажите по rxjs, пожалуйста. У меня на странице таблица, у которой есть пагинация и сортировка. Пагинатор файрит ивенты со своим состоянием (размер и номер страницы). Сортировка тоже свои файрит (имя поля, направление сортировки). Я хочу эти два потока событий слить в одно состояние (пагинатор и сортировка) и отправить в некий источник данных, который мне отдаст нужную страницу для отображения.
вот собственно, чтобы слить два события в одно - это мне надо наверно какую-то трансформацию использовать? какую?
простите за тупизну вопроса, только начал въезжать в тему :(
combineLatest походу

andretshurotshka?❄️кде
25.09.2017
05:44:09
merge
https://www.learnrxjs.io/operators/combination/merge.html

Admin
ERROR: S client not available

da horsie
25.09.2017
05:48:36
merge
ммм. но мне же надо превращать их в пару (пагинатор+сортировка)
то есть при изменениии одного из двух генерить пару из актуальных состояний первого и второго

andretshurotshka?❄️кде
25.09.2017
05:49:47
Я уже продумал, если на первой строке модуля поставить коммент -- @flow то он скомпилируется в жс в //@flow и автоматически включит тайпчекинг ?
Лайфхаки

Дмитрий
25.09.2017
05:51:33
?
Ну да, я хочу компилировать пурскрипт в флоу, надеюсь это не слишком незаконно ?

Denis
25.09.2017
06:05:44
нафига?)
странное желание)
пурса уже делает конечный продукт

Дмитрий
25.09.2017
06:06:31
Ну вот именно что не оч)
В моём случае пурса делает один модуль из длинного ряда других

Google

Denis
25.09.2017
06:07:16
https://github.com/justinwoo/purescript-bundaegi

Дмитрий
25.09.2017
06:07:29
И было бы ок если бы при использовании пурскрипта остальным модулям не приходилось верить ему на слово
Проще говоря, жс код тоже тайпчекается, и при изменении внешнего api модуля на purescript это не должно проходить незамеченным
Имхо, непонимание необходимости такого вот обратного кейса и играет против авторов

Denis
25.09.2017
06:10:12
+ у пурсы dсe вроде появился

Дмитрий
25.09.2017
06:10:20
Это что? ?

Denis
25.09.2017
06:10:56
https://github.com/coot/zephyr

Дмитрий
25.09.2017
06:12:02
Норм) Но пока возможностей rollup-purs думаю хватит

Denis
25.09.2017
06:12:02
https://github.com/purescript/purescript/pull/3039

Дмитрий
25.09.2017
06:13:16
План-капкан: purescript —> rollup —> "eslint —fix" —> lebab -> flow
??

Denis
25.09.2017
06:14:20
что еще за лебаб?

Дмитрий
25.09.2017
06:16:14
Прочитай бабель наоборот)
lebab конвертит es5 код в es6, в случае пурсы это заменяет function на fat arrow и олдскульные классы-функции на нормальные (удобнее в тайпчекинге и в подсказках редакторов)

Denis
25.09.2017
06:17:29
страдаешь херней)
у тебя работы нет?) могу подкинуть)

Дмитрий
25.09.2017
06:17:50
Давай ?

andretshurotshka?❄️кде
25.09.2017
06:32:01
?
ща себе в идрис заберу
Что за Proxy?
Так это костыли для тс