
Дмитрий
12.09.2017
14:12:08
Ну было бы неплохо)

? animufag ?
12.09.2017
14:13:44
кстати раст наверное единственный язык где рады контрибьюторам-новичкам. обычно у всех всё оче закрытое хоть и хранится в опен-сорсе
мб ещё котлин, хотя сомневаюсь
// A *simplified* version of the trait, without error-handling
trait Future {
// The type of value produced on success
type Item;
// Polls the future, resolving to a value if possible
fn poll(&mut self) -> Async<Self::Item>;
}

Google

? animufag ?
12.09.2017
14:14:42
почему там тогда до сих пор HKT нету раз можно тип в типе хранить
бамп

illiatshurotshka❄️
12.09.2017
14:15:05
бамп
https://github.com/rust-lang/rfcs/pull/1598
но даже с этим нельзя монады сделать лол

andretshurotshka?❄️кде
12.09.2017
14:23:10
в раст чате зато раст не обсуждают

? animufag ?
12.09.2017
14:42:36
swift еще
ненене. постил туда баг (регистровался в их внутренней системе чтобы запостить баг) и короче очень лениво обрабатывают
при этом есть проблема как и у любой внутренней скрытой хуйне: ты не ззнаешь запостил ли кто-то ещё такой баг
ну и в целом их развитие языка я так понимаю привязано к маркетингу эпла. нужна новая версия к указанной дате

illiatshurotshka❄️
12.09.2017
14:44:02
я думал у них на гитхабе

? animufag ?
12.09.2017
14:44:35
гитхаб это так. чтобы можно было всем в лицо тыкать - смотрите мы на гитхабе
наверное самые охуевшие в этом плане - телеграм

Google

andretshurotshka?❄️кде
12.09.2017
14:45:57

Дмитрий
12.09.2017
14:47:00
Эт точно ?

illiatshurotshka❄️
12.09.2017
14:47:36
даже issues закрыты

? animufag ?
12.09.2017
14:54:15
https://github.com/facebook/flow/issues/4511 мб кому интересно

Дмитрий
12.09.2017
14:57:17
В декларазиях правда уже неудобно, это да

? animufag ?
12.09.2017
14:57:59
если кто-то не умеет выводить типы в уме...

Дмитрий
12.09.2017
14:59:46
Так себе аналогия, потому что eslint с этим справляется сам
И если у кого-то он не установлен, то в флоу ему точно рановато)

? animufag ?
12.09.2017
15:00:27
наверное включен в поставку флоу?
бля и вообще разговор такой как будто я наехал на флоу а ты теперь его защищаешь

Дмитрий
12.09.2017
15:01:42

? animufag ?
12.09.2017
15:02:09
хорошо
очередная победа

Дмитрий
12.09.2017
15:02:36
?
Ладно, я буду корректнее общаться ?

? animufag ?
12.09.2017
15:04:13
кстати я там выше говорил про то что есть какая-то проблема строить монаду из стримов - по сути это монада списка, которую реально нельзя извлечь как фьючер

Дмитрий
12.09.2017
15:04:48
Почему? ?

? animufag ?
12.09.2017
15:05:32

Google

Дмитрий
12.09.2017
15:05:47
.observe в most изначально возвращает промис, то бишь в нём стрим — это список во времени

? animufag ?
12.09.2017
15:05:48
ладно ок не очень выразился
стримы можно выразить как монаду (скорей всего)

Дмитрий
12.09.2017
15:07:03
Ну most соответствует fantasy-land
implement Fantasy Land and Static Land Semigroup, Monoid, Functor, Apply, Applicative, Chain and Monad
rx тоже скорее всего, по большей части
Ну и плюс можно глянуть чем являются behaviors из purescript

andretshurotshka?❄️кде
12.09.2017
15:09:55

Дмитрий
12.09.2017
15:10:15
Ну лан
Хорошо у меня не rx ?

? animufag ?
12.09.2017
15:11:03
rx наверное просто не обращают внимания на всю эту движуху (ещё бы ребята с ангуляром начали манатки вкатывать)

Дмитрий
12.09.2017
15:11:34
Лол, ну да))

Дмитрий
12.09.2017
15:12:09
Но вообще с либами по FL реально проще работать, сразу понятно что и как можно делать

Gleb
12.09.2017
15:12:52
А вот и не с ангуляром

Дмитрий
12.09.2017
15:14:21

Gleb
12.09.2017
15:15:43
Я про
(ещё бы ребята с ангуляром начали манатки вкатывать)
Я же просто вбросил про RX

? animufag ?
12.09.2017
15:16:48

Arcady
12.09.2017
15:20:07
Одна теория. Лучше бы написали какой нибудь реакт и Редух на всех этих рамде и фэнтэзилэнде с примерами. или вообще и бэкенд бы добавили какой нибудь ФП-шный. а то пишу вот сайт на реакте, как будто латынь какая-то с кучей исключений. import {path} from 'ramda' не спасает.

Gleb
12.09.2017
15:20:30
я то как раз про redux-observable

Google

? animufag ?
12.09.2017
15:24:40

Дмитрий
12.09.2017
15:25:34
Редьюсер в redux имеет сигнатуру State -> Payload -> State
Что намекает нам на его chain свойства

? animufag ?
12.09.2017
15:25:45
ой

Дмитрий
12.09.2017
15:26:19

Arcady
12.09.2017
15:26:23

Дмитрий
12.09.2017
15:26:31
Но похвастаться клёвым фп кодом я пока всё равно не могу))

Arcady
12.09.2017
15:26:45
А, ага тады не надо.

Admin
ERROR: S client not available

? animufag ?
12.09.2017
15:27:21

Дмитрий
12.09.2017
15:28:20
Ну точнее как, так как фичи > код, то у меня императивщина с эффективными преобразованиями через фп когда это нее мешает фичам

Arcady
12.09.2017
15:28:50
Если кто увидит пример хорошего ФПшного стэка, поделитесь плиз. А то ФП для меня какая-то математика

Дмитрий
12.09.2017
15:29:47
https://github.com/zerobias/telegram-mtproto/blob/feature/mtproto3/packages/telegram-mtproto/src/state/query/index.js
Вот например запросы данных из стейта, где по пути множество раз значение может просто отсутствовать
То есть client[ID] может быть null, client[ID].auth может не быть и так далее, всё это сводится к обычному типу результата Maybe<T>
А внутри чейнов с кодом можно работать так будто никаких null в принципе не существует, удобно, не забиваешь себе голову этим
То, зачем нужен .chain — эти функции можно комбинировать друг с другом, возвращая внутри одного chain другой maybe, получая общий результат в удобной и надёжной форме
Я пока этот код не написал — ведне всё было забито тоннами if (в других модулях — по прежнему)

Arcady
12.09.2017
15:33:16
maybе сила. Это круто

Дмитрий
12.09.2017
15:36:35
Последнее препятствие перед тем, чтобы развернуться с монадами по полной — я не могу придумать как удобно типизировать Free monad :(

Google

Дмитрий
12.09.2017
15:37:10
А она нужна чтобы прятать в неё стеки монад, вообще не вспоминая про их существование, работать напрямую с данными)
Проблема по сути сводится к удобному описанию тайпклассов, и если это сделать, то можно сразу бахнуть интероп с purescript в обе стороны со всеми вытекающими последствиями и бонусами)

andretshurotshka?❄️кде
12.09.2017
16:49:09
?

Kelin
12.09.2017
18:01:51
вы до сих пор тут об этой фигне пишете

Дмитрий
12.09.2017
18:03:11
Действительно, что тут вообще обсуждать? Это же не прокидывание пропсов в реакте

Arcady
12.09.2017
18:15:34
Свой язык надо писать

Mikhail
12.09.2017
18:16:49
Не над

Дмитрий
12.09.2017
18:17:54
Надо, чтобы понимать как это работает
И не иметь фанатизма перед системой типов или каким либо семейством языков

andretshurotshka?❄️кде
12.09.2017
18:22:28
Как это не иметь!

Arcady
12.09.2017
18:24:43
Пока нет бойлера для написания пусть только фронта для сайта чисто на фп, не вижу другого выхода. Где применить знание то. Не 19ый век, чтобы трактаты писать. Я хочу тяп ляп и в продакшн но шоб только фп

Дмитрий
12.09.2017
18:25:05

Aleh
12.09.2017
18:26:20

andretshurotshka?❄️кде
12.09.2017
18:27:24
>тяп ляп, но фп
?
рамду подключи и фигачь

Aleh
12.09.2017
18:28:13
рамда еще более страшная штука, чем редакс

Дмитрий
12.09.2017
18:28:28
Редакс можно уместить в один твит

Aleh
12.09.2017
18:28:30
представь себе легаси проект через годик с рамдой
вот уж чего бы я не хотел получить в поддержку)

Дмитрий
12.09.2017
18:28:52
Просто ей неправильно пользуются

andretshurotshka?❄️кде
12.09.2017
18:28:55
Представил, вижу into через into

Дмитрий
12.09.2017
18:29:06
Открыл — вроде норм