
Сергей
03.05.2017
15:38:07

Дмитрий
03.05.2017
15:38:27

Aleh
03.05.2017
15:38:42
спека с тобой несогласна

Google

Aleh
03.05.2017
15:38:47
да и классы особо не нужны

Дмитрий
03.05.2017
15:39:03
Только прототипы и isNaN спасут js сообщество

Aleh
03.05.2017
15:39:54

Karen
03.05.2017
15:39:56
Number.isNaN

Aleh
03.05.2017
15:41:06
и там, и там значение в контейнере и напрямую обращаться к нему нельзя. И там, и там легко пишется функция(fmap), которая применяет функцию к значению в контейнере

Дмитрий
03.05.2017
15:42:34
Так в чём же отличие классов и нормального реального объявления классов через прототипы? И там и там получаются объекты создаваемые через new

Aleh
03.05.2017
15:42:55
через прототипы чуть больше писать надо
а так разницы нет, если мы про жс

Дмитрий
03.05.2017
15:43:34
Вот ты и сам ответил на свой вопрос)

Aleh
03.05.2017
15:43:46
я ответил на твой вопрос, не?)

Дмитрий
03.05.2017
15:43:52
не

Aleh
03.05.2017
15:44:10
тогда можешь чуть подробнее?(

Yumi
03.05.2017
15:44:37
Я понял ваши ответы друг другу, все нормально.

Google

Aleh
03.05.2017
15:45:33

Yumi
03.05.2017
15:45:57
Разницы нет, значит без разницы что использовать и разницы нет, значит не нужно ничего нового придумывать.

Сергей
03.05.2017
15:46:32
https://gist.github.com/LestaD/5292fa7dd96c44c69c7e6ba91e3309b1

andretshurotshka?❄️кде
03.05.2017
16:19:10

Aleh
03.05.2017
16:26:42
да, класс короч набрали)

Yumi
03.05.2017
20:16:08
Почему три одинаковых?:)

Aleh
03.05.2017
20:32:21
https://habrahabr.ru/post/327913/

andretshurotshka?❄️кде
04.05.2017
02:28:34

Vadim
04.05.2017
08:42:11
Скажите, а что означает "dispatches to a method..." в ramda?
Вот например из описания метода clone:
Creates a deep copy of the value which may contain (nested) Arrays and Objects, Numbers, Strings, Booleans and Dates. Functions are assigned by reference rather than copied
Dispatches to a clone method if present.
Что означает этот "Dispatches to a clone method if present"?
Вообще подобная штука (dispatches) указана для очень многих методов ramda
И как я могу это использовать?

Karen
04.05.2017
08:46:12
https://github.com/ramda/ramda/blob/v0.23.0/src/clone.js#L28
если передаешь объект и у объекта есть метод clone()
то используется эта функция
насколько я понимаю это надо для случаев когда ты хочешь гибридный клон
какие то пропы клонировать какие-то не клонировать
а передавать по референсу
внутри клонируемого объекта

Vadim
04.05.2017
08:52:04
Ух! Спасибо! Странно что примеров такого использования нигде не встречается )

Google

Vadim
04.05.2017
08:56:40
Да, так оно и работает на всех методах что проверил
Не знаю правда зачем может быть нужна такая кастомизация. Ибо любые потенциальные задачи, которые вижу решаются более элегантно (цепочками методов ramda)

Karen
04.05.2017
08:58:38
хз
плюшка от рамды

Vadim
04.05.2017
09:37:49
Встречал ли кто более полный справочник чем этот? https://github.com/ramda/ramda/wiki/What-Function-Should-I-Use%3F
Просто там представлены ДАЛЕКО не все методы

Karen
04.05.2017
09:38:27
о спс
я даже не удосужился в вики заглянуть разок : DD
молодцы сделали как у Rx

Алексей
04.05.2017
09:45:12

Vadim
04.05.2017
09:45:38
https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/which-static.md
https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/which-instance.md

Karen
04.05.2017
09:47:44
http://reactivex.io/rxjs/ вот тут еще в низу страницу

Vadim
04.05.2017
10:01:27
Еще вопрос по рамда. Есть в там метод pipeK, который отличается (если я правильно понял) от обычного pipe только тем, что каждая используемая в нем функция должна возвращать один и тот же тип. Короче, это строго "однотипный" pipe. Вопрос: когда это вообще бывает нужно?

Karen
04.05.2017
10:02:23
легче всего нагуглить на gist.github.com

Vadim
04.05.2017
10:05:37
Либо не понял как там это искать, либо просто ничего нет :/

Karen
04.05.2017
10:06:35
https://gist.github.com/search?l=JavaScript&q=pipeK%28&ref=searchresults&utf8=%E2%9C%93
справа теги юзай чтоб скоуп поиска сжать
да действительно ничего адекватного

Vadim
04.05.2017
10:08:46
К тому же у меня вопрос по предназначению метода (то-есть, ЗАЧЕМ его использовать), а не по тому КАК его использовать.
Если чисто логически, то нафиг может быть нужен строго типизированный пайп или компоуз?

Google

Алексей
04.05.2017
10:13:36

Vadim
04.05.2017
10:14:45
Судя по всему, да :/

Karen
04.05.2017
10:15:36
вот же
http://reactivex.io/rxjs/ вот тут еще в низу страницу
внизу страницы селекторы
вот гитхаб 5ой
https://github.com/ReactiveX/RxJS
только что обнаружил sanctuary js
: D
походу оно в мейнстриме юзать рамду с санкчуари

Алексей
04.05.2017
10:23:04

Vadim
04.05.2017
10:23:36
Для таблицы тогда может помочь это https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md
Я тоже предпочитаю видеть все сразу )
У меня вообще создается впечатление что ramda частично состоит из методов, которые не просто редко кем используются, а которые вообще практически никогда ни кем не применялись в деле )

Дмитрий
04.05.2017
10:45:59
не понимаю !== не используют

Aleh
04.05.2017
10:50:52
чет не уловил почему полная типобезопасность следует из возврата того же типа, что и на входе

Дмитрий
04.05.2017
10:51:13
Ну вот так вот
Фп типы имеют такое свойство

Google

Aleh
04.05.2017
10:51:40
что такое "фп типы"?
а типизация нужна, чтобы отлавливать ошибки в compile-time // ваш КО

andretshurotshka?❄️кде
04.05.2017
10:53:04
хз)

Aleh
04.05.2017
10:54:40
ну все равно не понимаю, чем a -> a безопаснее какого-нибудь a -> f a
и что значит безопасность вообще в этом ключе

Дмитрий
04.05.2017
10:57:33
Если сложить вместе два числа, то каким типом будет обладать результат?

Aleh
04.05.2017
10:58:08
результат сложения? Вероятно тоже число

Дмитрий
04.05.2017
10:58:30
А почему ты в этом уверен?

Aleh
04.05.2017
10:58:32
Num a => a -> a -> a

Дмитрий
04.05.2017
10:58:37
Воот

Aleh
04.05.2017
10:58:42
так что?

Дмитрий
04.05.2017
10:58:56
Только не а, а конкретно Number -> Number -> Number

Aleh
04.05.2017
10:59:03
нет
не конкретно Number -> Number -> Number
в этом ж смысл