
Дмитрий
19.07.2017
09:24:58
type Text = 'text'

illiatshurotshka❄️
19.07.2017
09:26:45

Дмитрий
19.07.2017
09:27:29
Бессмысленное выражение

Evgeny
19.07.2017
09:27:48
ты кложурное (:foo my-map) хочешь?

Google

illiatshurotshka❄️
19.07.2017
09:28:23
в эликсире ошибки обрабатываются с помощью tuples
{:ok, a} или {:err, a}
например

Дмитрий
19.07.2017
09:29:11
По прежнему не понимаю что ты хочешь от языка
Ну синтаксис, ок, и что?

illiatshurotshka❄️
19.07.2017
09:29:39
тип и паттерн матчинг для него
посмотри на редукс например
там для этого строки юзают

Дмитрий
19.07.2017
09:30:39
Я тут уже не раз показывал паттерн матчинг, например

illiatshurotshka❄️
19.07.2017
09:31:22
можно было бы просто написать :add_todo

Дмитрий
19.07.2017
09:33:08
const Point = Type`Point`({
x: Number,
y: Number,
})
const Shape = Union`Shape`({
Line: {
start: Point,
end : Point,
},
Circle: {
center: Point,
radius: Number,
}
})
const { Line, Circle } = Shape
const point1 = Point({ x: 0, y: 10 })
const shape1 = Shape({
start: { x: 0, y: 0 },
end : point1,
})
shape1.type // => Line
{ center: { x: 2, y: 2 }, radius: 1 } instanceof Shape // => true
{ center: { x: 2, y: 2 }, radius: 1 } instanceof Line // => false
const shape2 = Shape({ center: { x: 2, y: 2 }, radius: 1 })
shape2.type // => Circle
shape2.equals( Circle( { center: { x: 2, y: 2 }, radius: 1 } ) )
// => true
По конкретной строке так же можно матчиться

Google

andretshurotshka?❄️кде
19.07.2017
10:09:36

illiatshurotshka❄️
19.07.2017
10:19:37

Denis
19.07.2017
11:41:18
...

Yumi
19.07.2017
12:36:09
Символ в других языках не символ?

Denis
19.07.2017
13:04:18
паскаль через полиномы https://goo.gl/QynH4C
вообще это коэффициенты из бинома Ньютона

kana
19.07.2017
13:20:25
const Point = Type`Point`({
x: Number,
y: Number,
})
const Shape = Union`Shape`({
Line: {
start: Point,
end : Point,
},
Circle: {
center: Point,
radius: Number,
}
})
const { Line, Circle } = Shape
const point1 = Point({ x: 0, y: 10 })
const shape1 = Shape({
start: { x: 0, y: 0 },
end : point1,
})
shape1.type // => Line
{ center: { x: 2, y: 2 }, radius: 1 } instanceof Shape // => true
{ center: { x: 2, y: 2 }, radius: 1 } instanceof Line // => false
const shape2 = Shape({ center: { x: 2, y: 2 }, radius: 1 })
shape2.type // => Circle
shape2.equals( Circle( { center: { x: 2, y: 2 }, radius: 1 } ) )
// => true
Мне этот магический вывод типа шейпа по ключам не нравится

Дмитрий
19.07.2017
13:36:13

? animufag ?
19.07.2017
13:37:03
кажется это фраза про рекорды, а не юнион тайпы
кстати если будут лишние поля, то инстансОф всё равно сработает?

Дмитрий
19.07.2017
13:39:51
При желании можно отдельно сделать так, чтобы не срабатывал

andretshurotshka?❄️кде
20.07.2017
08:34:53
норм

Denis
20.07.2017
13:05:45
ну упоминай в суе тут го***

andretshurotshka?❄️кде
20.07.2017
13:09:37
тут бан за го, как в реакт чате за бэм
@gogolang
лол
это наверн из списка чатов идут
?
можно читать sicp, не делая задач оттуда?

Google

Yung
21.07.2017
00:17:13

andretshurotshka?❄️кде
21.07.2017
00:17:18
ну ок

Yung
21.07.2017
00:17:51
Я правда сейчас начал читать HtDP, потом SICP буду

andretshurotshka?❄️кде
21.07.2017
00:18:11
А потом TAOCP?

Yung
21.07.2017
00:18:12
вроде так все советуют
Не, его читать пока не буду
Оче сложно кмк

andretshurotshka?❄️кде
21.07.2017
00:19:21
рип
@ZeroBias ты sicp читал?

Yung
21.07.2017
00:21:04
рип
Я пока решил всякие алгоритмы шатать и задачки на литкоде решать, а то что-то во всяких клевых компаниях спрашивают, а я в этом силен был пока сессию не закрыл. ?

andretshurotshka?❄️кде
21.07.2017
00:22:11
литкод?

Yung
21.07.2017
00:24:14

Yung
21.07.2017
00:24:56
Оче популярный ресурс на западе среди тех, кто во всякие топ компании набигает, оттуда большинство задачек как раз. Но я так, больше ради спортивного интереса пока

Yumi
21.07.2017
02:05:04

andretshurotshka?❄️кде
21.07.2017
02:05:26
?

kana
21.07.2017
17:26:32
Пробовал кто-нибудь оборачивать монады в промис, чтобы do-нотацию использовать?
async/await там

andretshurotshka?❄️кде
21.07.2017
17:28:49
мне кажется тут генератор лучше подойдет

? animufag ?
21.07.2017
17:29:31
я думал Cont примерно про это

Google

Admin
ERROR: S client not available

kana
21.07.2017
17:31:02
Я недавно пробовал переопределить Promise и сделал вместо него свой иммутабельный монадечкский список с апи как у промиса. Но эвэит не завелся, потому что он вместо преобразования в цепочку then в генераторы траншпилит. Использовал другой бабель-плагин, все окей. Но сейчас пришла мысль, что вместо переопределения можно оборачивать, типа
const x = await wrap(get());
await wrap(put(x + 1));
Ну да, генераторы, точно

Дмитрий
21.07.2017
17:36:52

Даниил
21.07.2017
19:40:32
Промисы не нужны
ты не понел, он хотел зделоть просто список, но с методом then, чтобы работала do-нотация (async/await)

kana
21.07.2017
19:41:38
Не, там по ссылке таки годная реализация do-нотации через генераторы

Даниил
21.07.2017
19:51:34
а, ну ок

Сергей
21.07.2017
22:22:10
чет блядь подозрительно
зачем тебе столько акков?

andretshurotshka?❄️кде
21.07.2017
22:26:31
эт кто

Сергей
21.07.2017
22:28:04
хз

Vadim
22.07.2017
16:29:49
Народ, а как использовать линзы (например lensProp) на функторах?
В официальной справке сигнатура у lensProp такая: Lens s a = Functor f => (a → f a) → s → f s
А вот как это применить?
Что означает второй аргумент?

Denis
22.07.2017
16:30:32
а что ramda юзает Identity/Const функторы?

Vadim
22.07.2017
16:30:39
Попробовал написать так, но не пашет:
const xLens = lensProp(a => Maybe.Just(a), 'x')
R.view(xLens, Maybe.Just({x: 1, y: 2}));

Denis
22.07.2017
16:31:01
не верь рамдовским сигнатурам

Vadim
22.07.2017
16:31:07

andretshurotshka?❄️кде
22.07.2017
16:31:16

Denis
22.07.2017
16:32:07

Google

Denis
22.07.2017
16:32:29
https://www.stackage.org/haddock/lts-8.23/lens-4.15.1/Control-Lens-Prism.html#v:_Just

Vadim
22.07.2017
16:40:34
Я просто попытался понять как использовать в рамде линзы с функторами, и как понять то, что сказано в их сигнатуре )
Не понял что значит аргумент "s"

Denis
22.07.2017
16:42:46

Vadim
22.07.2017
16:43:10
Так в рамде вообще с функторами линзы работают или нет?

Denis
22.07.2017
16:45:31

Vadim
22.07.2017
16:46:41
Я сейчас просто хотел понять как выглядит использование этой сигнатуры на практике:
Lens s a = Functor f => (a → f a) → s → f s
Например для view

Denis
22.07.2017
16:48:58
ну по хорошему нужно понимать как ведут себя 2 функтора Identity и Const но в рамде такого нет, так что хз ( я не думаю что эта сигнатура правильная в случае рамды)

Vadim
22.07.2017
16:49:18
Ок, спасибо!