@frp_ru

Страница 396 из 420
Denis
16.02.2018
00:55:10
import Data.Functor.Kan.Ran newtype ConstT r f a = ConstT { runConstT :: f r } type Observer a = a -> IO () type Observable a = Ran (ConstT () IO) (ConstT () IO) a makeObservable :: (Observer a -> IO ()) -> Observable a makeObservable f = Ran $ \k -> ConstT (f (runConstT . k)) subscribe :: Observable a -> Observer a -> IO () subscribe r f = runConstT (runRan r (ConstT . f)) obs = makeObservable $ \observer -> do observer 1 observer 2 main :: IO () main = subscribe obs print

andretshurotshka?❄️кде
16.02.2018
00:55:17
kan ran

Denis
16.02.2018
00:55:59
а все потому, что правое расширение Кана есть обобщение всех возможных continuations

andretshurotshka?❄️кде
16.02.2018
00:56:35
так ето любую монаду можно сделать?

Google
Denis
16.02.2018
00:56:53
только ту, что continuation

kana
16.02.2018
00:57:12
ххм

Denis
16.02.2018
00:57:15
ContT, Cont, Yoneda, и тд

andretshurotshka?❄️кде
16.02.2018
00:57:36
Denis
16.02.2018
00:57:59
type Cont r a = Ran (Const r) (Const r) a

type Yoneda f a = Ran Identity f a

type Codensity m a = Ran m m a

type State s a = Ran ((->)s) ((->)s) a

andretshurotshka?❄️кде
16.02.2018
00:59:14
куда бежишь

Дмитрий
16.02.2018
01:03:27
Как я и предполагал изначально, push и pull стримы имеют между собой фундаментальные различия



Denis
16.02.2018
01:04:23
ну идея a -> IO () это одинаково и для пул и для пуш вроде) это я про конзюмер

Google
Дмитрий
16.02.2018
01:04:55
Я просто думаю вот это — не совпадение)

Denis
16.02.2018
01:05:37
все в фп не совпадение)

andretshurotshka?❄️кде
16.02.2018
01:10:22
о ноу

а два раза вперед это назад?)

Denis
16.02.2018
01:12:37


andretshurotshka?❄️кде
16.02.2018
01:16:33
/pidor@SublimeBot

Sublime Bot
16.02.2018
01:16:34
Согласно моей информации, по результатам сегодняшнего розыгрыша пидор дня - Ilia!

Дмитрий
16.02.2018
01:19:53
?

andretshurotshka?❄️кде
16.02.2018
01:20:46
когда пишешь фп в жс

Дмитрий
16.02.2018
01:22:24
фрп

andretshurotshka?❄️кде
16.02.2018
01:22:56
point free

Дмитрий
16.02.2018
01:23:25
pointless

andretshurotshka?❄️кде
16.02.2018
01:23:39
pointsass

Denis
16.02.2018
01:24:00
стаканомвглаз

andretshurotshka?❄️кде
16.02.2018
01:24:07
pointjss

Дмитрий
16.02.2018
01:24:16
стаканомвглаз
Это тоже расширение кана?

andretshurotshka?❄️кде
16.02.2018
01:24:24
ста кана

Denis
16.02.2018
01:25:25
интересно если итератор дуален обзервабл то можно как-то через левое расширение кана выразить итератор

andretshurotshka?❄️кде
16.02.2018
01:25:45
ДУАЛЬНОСТЬ

опять

Google
Denis
16.02.2018
01:26:04
ДУАЛЬНОСТЬ
без нее никак)

andretshurotshka?❄️кде
16.02.2018
01:26:05
коитератор

Denis
16.02.2018
01:26:19
ну это да

я про выражение через обобщения расширений кана

andretshurotshka?❄️кде
16.02.2018
01:28:24
обзерваблы это просто расширения стакана

kana
16.02.2018
01:28:27
блять

хуйней занимаетесь

нужны пропсы прокидывать

и пиксели двигать

Ҫѐҏӗѫӑ
16.02.2018
01:28:41
стакан наполовину полон

kana
16.02.2018
01:28:45
а не выражать одну хуйню через другую

Дмитрий
16.02.2018
01:29:21
стакан наполовину полон
Получается стакан дуален пустоте

Denis
16.02.2018
01:29:32
и пиксели двигать
давно не двигался пикселями

Denis
16.02.2018
01:30:54
Ҫѐҏӗѫӑ
16.02.2018
01:31:18
и ты тут?)
с начала времён примерно)

Denis
16.02.2018
01:32:27
13 млрд лет?

kana
16.02.2018
01:32:41
чат настолько изменился, что некоторые могли решить, что это новый чат

Google
Ҫѐҏӗѫӑ
16.02.2018
01:32:50
вроде из-за меня в том чиле скобки добавились)

andretshurotshka?❄️кде
16.02.2018
01:33:05
рекурсивные расширения схем кана

Ҫѐҏӗѫӑ
16.02.2018
01:33:11
FRP и джаваскрипт тут продвигали

это еще про штальца либу было

Denis
16.02.2018
01:33:24
правое расширение глаза

andretshurotshka?❄️кде
16.02.2018
01:33:33
cycle.js чат это

Ҫѐҏӗѫӑ
16.02.2018
01:33:39
дада

Денис, сайклжс

ФРП!

такие дела

им повезло что тебя тут не было)

andretshurotshka?❄️кде
16.02.2018
01:35:37
кому?)

Ҫѐҏӗѫӑ
16.02.2018
01:35:42
вам

пришлось бы переименовать в недофункциональное сборище гуманитариев)

Denis
16.02.2018
01:37:32
а ты в вебасембли переметнулся?)

Ҫѐҏӗѫӑ
16.02.2018
01:38:01
ну как переметнулся. в него нельзя переметнуться

kana
16.02.2018
01:38:27
если способ указать генерики для функции?

Дмитрий
16.02.2018
01:38:29
Угораздило?)

kana
16.02.2018
01:38:36
f<number>() ?

Дмитрий
16.02.2018
01:38:44
???

Google
kana
16.02.2018
01:39:33
type F<A> = () => A; (f: F<number>)()?

Дмитрий
16.02.2018
01:40:02
Типа того по ходу

andretshurotshka?❄️кде
16.02.2018
01:40:35
так флоу ВЫВЕДЕТ ТИП

зачем вам генерики вообще

Ҫѐҏӗѫӑ
16.02.2018
01:40:59
потому что можно

Дмитрий
16.02.2018
01:41:24
Это как с котом?

Ҫѐҏӗѫӑ
16.02.2018
01:41:35
а как с ним?

kana
16.02.2018
01:41:49
так флоу ВЫВЕДЕТ ТИП
выведет из чего?

Ҫѐҏӗѫӑ
16.02.2018
01:42:08
из ничего. инь янь

kana
16.02.2018
01:42:08
аргументов нет, по контексту не ясно

Дмитрий
16.02.2018
01:42:22
а как с ним?
— Почему кот лижет яйцв? — Потому что может

Ҫѐҏӗѫӑ
16.02.2018
01:42:31
а, да

Denis
16.02.2018
01:42:38
из ничего. инь янь
чистое сознание

Дмитрий
16.02.2018
01:43:28
без побочных сайд-эффектов ™️

Ҫѐҏӗѫӑ
16.02.2018
01:43:41
сайд-эффекты <3

Denis
16.02.2018
01:44:35
едвард-кметты

andretshurotshka?❄️кде
16.02.2018
01:44:46
declare function f<A>(): A const a: number = f()

Дмитрий
16.02.2018
01:45:14

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