@frp_ru

Страница 273 из 420
? animufag ?
26.11.2017
21:41:38
тебе интересно где использовать мап

или где его реализовывать

Denis
26.11.2017
21:41:46
это фундаментальное понятие что ложится на любую категорию

illiatshurotshka❄️
26.11.2017
21:42:28
с использованием js такие понятия невозможно выразить

Google
illiatshurotshka❄️
26.11.2017
21:43:05
чой-та
ну попробуй

Hitomi's
26.11.2017
21:43:15
я знаю что можно использовать любую функцию на любом значение, функтор мне дает тоже самое - в чем соль

illiatshurotshka❄️
26.11.2017
21:43:30
не дает

Hitomi's
26.11.2017
21:43:30
только это значение у нас в котейнере

? animufag ?
26.11.2017
21:43:33
на списке используй

ну

Kelin
26.11.2017
21:43:50
ну попробуй
arr.map(i => i +1) ?

Default
26.11.2017
21:44:51
ЛОЛ

Kelin
26.11.2017
21:45:16
щас меня хуями закидают

Ы

Denis
26.11.2017
21:45:22
F a -> a F (Fix F) -> Fix F

illiatshurotshka❄️
26.11.2017
21:45:31
Google
illiatshurotshka❄️
26.11.2017
21:45:40
нам нужен тайпкласс и его реализация

Kelin
26.11.2017
21:45:53
не вижу
ты просто ?

illiatshurotshka❄️
26.11.2017
21:45:55
а здесь ты вызываешь Array.prototype.map

? animufag ?
26.11.2017
21:46:27
ну на самом деле редко выпадает необходимость обобщать мап. но человек видимо спрашивает про другое

illiatshurotshka❄️
26.11.2017
21:47:34
Denis
26.11.2017
21:47:51
как только у тебя появляются упакованные данные и тебе их надо трансформировать то тут помогут функторы. Чтобы ты сам не занимался распаковкой, запаковкой

? animufag ?
26.11.2017
21:48:21
здесь я бы посоветовал изучить хаскель, но боюсь это делать
да я же вроде не агрюсь. хотя совет странный

illiatshurotshka❄️
26.11.2017
21:48:38
не про тебя говорю же

Kelin
26.11.2017
21:48:56
нам нужен тайпкласс и его реализация
f = val => ({ val, map: cb => f(cb(val)) }) ты это имеешь в виду?

Denis
26.11.2017
21:49:01
ну вот это уже чуть прояснило
все функторы должны поддаваться их законам и тогда результат будет ожидаем

illiatshurotshka❄️
26.11.2017
21:49:20
? animufag ?
26.11.2017
21:49:30
а. просто редко тебе приходит прям функтор. обычно приходит конкретный контейнер и можно без полиморфизма, как в элме

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

illiatshurotshka❄️
26.11.2017
21:54:55
нужно сначала разобраться в том, что такое алгебраический тип данных и полиморфизм

и даже строгая типизация возможно

Denis
26.11.2017
21:56:37
адт это полукольцо на типах где присущи все свойства полукольца (определены умножение и сложение) а также рекурсивные типы решаются алгебраически (зачастую индуктивно)

? animufag ?
26.11.2017
22:05:39
блин, совсем не понятно на чём чел встрял

Paruyr
26.11.2017
22:10:11
ну вот это уже чуть прояснило
fmap m f = m » (return . f) и все

illiatshurotshka❄️
26.11.2017
22:32:22
о типах можно почитать в https://g.co/kgs/XJVgV7 об основах хаскеля в https://g.co/kgs/VTaM9m о функторах и других структурах с точки зрения теории категорий: https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/

Google
illiatshurotshka❄️
26.11.2017
22:34:09
ну или перейти на посты на медиуме и quora (вставьте expanding brain meme)

kana
26.11.2017
22:52:17
функтор это тайпкласс
я сейчас понимаю функтор несколько иначе

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

нужно как-нибудь сесть помедитировать и осмыслить эти концепции

или курнуть

? animufag ?
27.11.2017
01:29:39
или курнуть
никогда не помогает. поможет разве что смириться с текущим положением дел например с тем что можно перестать задавать вопрос - что такое %штука из теорката%

kana
27.11.2017
01:48:01
никогда не помогает. поможет разве что смириться с текущим положением дел например с тем что можно перестать задавать вопрос - что такое %штука из теорката%
О нет, я обычно не задаю себе этот вопрос, так как думаю, что я понимаю. А потом однажды в какой-нибудь неожиданный момент я понимаю, что монада это решение вложенности (вложенность ифов, колбеков, летов), или не решение, а описание решение, которое нужно отдельно реализовывать

Cenator
27.11.2017
01:49:45
теоркат это мастхэв для фпшника?

kana
27.11.2017
01:50:24
не

? animufag ?
27.11.2017
01:50:54
> Реальная? В диалоге с самим собой да. Посмотреть список туториалов про монады помогло мне понять что это бесполезная трата времени на начальном этапе

kana
27.11.2017
01:51:51
в моем случае я не объясняю монаду как что-то из программирования или математики даже

теоркат это мастхэв для фпшника?
но будем честными - в фп часто идут тупо чтобы окунуться в чистоту и красоту решений

kana
27.11.2017
01:52:12
и чтобы мозги поломать

теоркат тут заходит классно на начальном этапе

а дальше никто обычно не лезет

? animufag ?
27.11.2017
01:55:36
теоркат это мастхэв для фпшника?
Если сложно то забудь. Наверное даже можно какую-нибудь лёгкую проверку устроить. Типа посмотреть аксиомы для какой-нибудь логики и проверить себя ищешь ли ты аналогии из программирования чтобы понять зачем оно и как оно работает. Если да, то не стоит

kana
27.11.2017
01:57:44
мне кстати все время кажется, что концепция монад очень плохая, хоть она вроде как и простая и примитивная (в смысле не в понимании, а сама операция атомарная), да и за столько лет могли бы найти более правильную абстракцию, если бы она была

? animufag ?
27.11.2017
01:58:15
Не стоит продолжать

kana
27.11.2017
01:58:47
да, тут важно как-то вклинить себе в голову определения и аксиомы и оперировать тупо ими, без всяких аналогий

Google
Admin
ERROR: S client not available

kana
27.11.2017
01:59:21
запускать процессы анализа в контейнере

Cenator
27.11.2017
01:59:59
бля а я сразу логические операторы из жс начал вспоминать как на аксиомы посмотрел

? animufag ?
27.11.2017
02:00:57
Ну речь не про булеву логику

Cenator
27.11.2017
02:01:14
а где чекнуть эти аксиомы?

kana
27.11.2017
02:01:22
исчисление секвенций мне пока тяжело дается, хоть я пока особо и не пытался

? animufag ?
27.11.2017
02:02:03
Ну завтра мб поищу что-нибудь. А лучше зигозистоморф

kana
27.11.2017
02:03:22
http://llwiki.ens-lyon.fr/mediawiki/index.php/Sequent_calculus

Дмитрий
27.11.2017
05:52:52
https://github.com/briancavalier/most-fluent
Сейчас да, но это для @most/core, вторая версия most довольно радикально отличается от текущей

Kelin
27.11.2017
06:32:59
http://llwiki.ens-lyon.fr/mediawiki/index.php/Sequent_calculus
Окей, и как это помогает при написании кода в фп стиле?

kana
27.11.2017
07:35:50
Окей, и как это помогает при написании кода в фп стиле?
исчисление секвенций используется для формализации линейных типов. Это сейчас довольно хайповая тема в фп-языках, из реализут в хаскеле, идрисе, подвид (аффинные типы) реализованы в расте.

Дмитрий
27.11.2017
07:39:00
Мне регулярно требуется подобная конструкция

Вот всё думаю, как её идею можно выразить

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

kana
27.11.2017
07:40:23
Можно реальный пример применения? Не в виде формул/типов
исправил сообщение, только проснулся и перепутал хаскель и раст, ебана

Дмитрий
27.11.2017
07:40:57
ДА ЗИГА Я ЗНАЮ ЧТО В ЖС ЭТО НЕЛЬЗЯ И НЕ ТРУ

kana
27.11.2017
07:41:09
ахаххахахахахаха

Denis
27.11.2017
07:41:38
ну линейные типы - подобно бесконечному стриму, к каждому можно доступиться только раз, как ща что в многих местах можно юзать так не будет

Google
Дмитрий
27.11.2017
07:42:01
Не оч понял аналогию, если честно

На мой взляд это скорее антоним Конечное исчислимое vs бесконечное неисчислимое

Дмитрий
27.11.2017
07:43:39
Можно реальный пример применения? Не в виде формул/типов
Покупка, которую можно оплатить только раз

Denis
27.11.2017
07:44:17
я тоже написал) в стриме же можно только раз получить доступ)

Дмитрий
27.11.2017
07:45:00
Разве? Это же не обязательное условие

multicast в most и rx

Denis
27.11.2017
07:46:47
я говорю про классический стрим

кодата с коалгебрами

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