@frp_ru

Страница 58 из 420
Aleh
04.05.2017
11:38:54
f(a)

f($a)

Дмитрий
04.05.2017
11:39:03
Нет

Aleh
04.05.2017
11:39:23
:(

Google
Дмитрий
04.05.2017
11:39:25
Я говорю про гарантии У промиса в js нужно вызвать .then чтобы получить промис

.map у array чтобы получить array

Object.assign у объекта

А теперь представь что это всё делается единым способом, как и куча других вещей, основанных на этом свойстве)

То есть ничего из вышеперечисленного просто не существует за ненадобностью

Yumi
04.05.2017
11:41:02
В питоне наверное так, там все обьект.

Aleh
04.05.2017
11:41:15
все это, оборачивается в общем-то тоже просто

но тут еще такая штука, что в общем особо мне не нужно

Дмитрий
04.05.2017
11:42:20
И каждая вещь оборачивается по своему

Вместо того, чтобы не думать об этом вообще, мы тратим усилия на работу с зоопарком)

Aleh
04.05.2017
11:43:20
не думать о чем?

я итак про это не думаю

Google
Aleh
04.05.2017
11:44:32
не, я не спорю, что продуманная стандартная либа лучше непродуманной

тут как бы очевидно

sort меняющий массив говно

Дмитрий
04.05.2017
11:44:48
Я не про иммутабельность)

я итак про это не думаю
При этом ты не имеешь возможности взять функцию f1 и применить её по очереди к числу, хэш-мапу, промису, и двусвязному списку

Получив обратно число, хэш-мап, промис, и двусвязный список

Дмитрий
04.05.2017
11:45:55
А чуть более реальный пример?

Aleh
04.05.2017
11:45:58
вот именно

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

одним образом

с функторами(массив и промис например) еще понятно

но опять же, я несильно теряю по личным ощущениям от этого)

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

Дмитрий
04.05.2017
11:50:29
можешь дать мне пример работы с числом, двусвязным списком и промисом)
Могу, f1 = number => number + 1 Promise(1).map(f1) = Promise(2) HashMap({ 'hash': 1, 'hash2': 0 }).map(f1) = HashMap({ 'hash': 2, 'hash2': 1 })

Упрощенно

Aleh
04.05.2017
11:50:44
1.map(f1)

Google
Aleh
04.05.2017
11:50:48
чет не работает

Дмитрий
04.05.2017
11:50:51
Не надо спрашивать почему я уверен что там number

плиз

Смени язык

?

Aleh
04.05.2017
11:51:16
1.ьфз(f1)

тоже :(

Дмитрий
04.05.2017
11:51:37
Понимаешь, к чему я и клоню, можешь в это не верить, но есть языки где это работает)

andretshurotshka?❄️кде
04.05.2017
11:51:49
йцукен

Aleh
04.05.2017
11:51:53
ну я пишу на хаскеле немного, не в прод конечно

а петы всякие

Дмитрий
04.05.2017
11:51:58
И собственно ramda с sanctuary являются представителями этого подхода в js

Aleh
04.05.2017
11:52:01
я знаю как это работает

Дмитрий
04.05.2017
11:52:20
А теперь надо понять, почему))

Aleh
04.05.2017
11:52:36
почему?

Дмитрий
04.05.2017
11:54:07
Не знаю правда зачем может быть нужна такая кастомизация. Ибо любые потенциальные задачи, которые вижу решаются более элегантно (цепочками методов ramda)
Надеюсь, я ответил на твой вопрос, зачем в рамде диспатч для .map, .ap и прочего) Это - путь к универсальному подходу, что я описывал выше

Karen
04.05.2017
11:54:19
хрена вы настрочили

: )

Aleh
04.05.2017
11:54:32
это реализация тайпклассов, ты чет усложняешь про универсальный подход

для встроенных мы используем встроенную реализацию, все остальные должны по спеке реализовывать тайпклассы

Google
Aleh
04.05.2017
11:55:23
только там почему-то не символы используются, вот это странно

иначе можно было бы безопасно расширить и встроенные структуры

andretshurotshka?❄️кде
04.05.2017
11:57:14
1.map(f1)
в хаскелле тож не работает)

Aleh
04.05.2017
11:57:20
внезапно)

вообще числа такие себе функторы)

Дмитрий
04.05.2017
11:57:38
И тип я неправильный написал

Ваще всё не так

всё, ладно, мне надоело

Admin
ERROR: S client not available

andretshurotshka?❄️кде
04.05.2017
11:58:48
тут не функтор надо, а моноид наверн

Короче для тех кто любит вбросы и срачи есть теперь чат @it_holywars Если вам нужно послать человека, кидайте ему ссылку, будем холиварить

Максим
04.05.2017
15:08:25
Atom, Behavior, Observable, Stream, EventEmitter, Cell и Signal это ж фундаментально одно и то же?

Vladimir
04.05.2017
15:10:28
Observable & stream не уверен

Максим
04.05.2017
15:11:36
stream как в xstream имею в виду

andretshurotshka?❄️кде
04.05.2017
19:05:51
observable, stream, eventemitter это про sequence of events over time, а atom, behavior, cell, signal это вроде value changing over time.

поправьте если не так

Сергей
04.05.2017
20:30:28
Кто может напомнить как в ramda пропустить один параметр

суть: у меня есть нестандартный map где первым элементов index вторым element

у меня есть функция которая принимает элемент первым и единственным аргументом

Google
Сергей
04.05.2017
20:31:20
как её применить не описывая .map((i, el) => fn(el)) ???

Yumi
04.05.2017
20:45:45
Без обертки никак я думаю.

Сергей
04.05.2017
21:06:19
R.__ ?
не понял как применить

R.flip(R.curryN(2, fn))
хм а я запилил const getSecond = curry((first, second) => second)

R.flip(R.curryN(2, fn))
Спасибо. это мне больше нравится

Vladimir
04.05.2017
21:08:59
Сергей
04.05.2017
21:09:18


хотя вместо then лучше бы заюзать pipe

Vladimir
04.05.2017
21:09:46
pipeP

смотри

попробуй такое

mapOver('whatever', attr('href'))

так разве не работает

зачем тебе её флипать?

у тебя el и так последний аргумент

Сергей
04.05.2017
21:12:13
не работает

пустой массив в итоге

там именно в fn внутри el(path).map(fn) вторым аргументом идет элемент



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