
Дмитрий
14.09.2017
11:10:35
Допустим есть какой-то Box, содержащий объект T
class Box<T> {
value: T
constructor(value: T){ this.value = value }
}
Тогда
class CanAp<I, O> extends Box<I => O> {
}
Вот инстансы второго класса можно будет отправлять в ap
То есть ap рассматривает переданный объект, как содержащий функцию, а не как функцию саму по себе

? animufag ?
14.09.2017
11:32:52
map для функции можно

Aleh
14.09.2017
11:35:08
фу, extends

Google

andretshurotshka?❄️кде
14.09.2017
11:35:18
лол

illiatshurotshka❄️
14.09.2017
11:35:28
фуу тс

Aleh
14.09.2017
11:35:43
я когда вижу extends у меня сразу агрессия какая-то и зубы скрипят
(c) Alan Kay
в ts тип функции нельзя задать как Type1 => Type2, только как (t: Type1) => Type2

illiatshurotshka❄️
14.09.2017
11:38:24
я не про код пожара

Aleh
14.09.2017
11:38:56
а, так-то абсолютно согласен)

andretshurotshka?❄️кде
14.09.2017
11:47:28

Maxim
14.09.2017
12:48:04
CallIf - вижу как моноид, есть ассоциативность, есть нулевой элемент _ => true
есть ли каноничный способ наращивать его добавлением функций предикатов ?

Дмитрий
14.09.2017
12:50:10
Validation

Google

Дмитрий
14.09.2017
12:50:43
Или через either или maybe .chain

Maxim
14.09.2017
12:51:24
окей, вижу инфу про Validation monad - спасибо

Дмитрий
14.09.2017
12:51:39
Я вообще для этого кейса впилил метод .cond

Maxim
14.09.2017
12:56:43
cond вместо ap
и всё путём

Дмитрий
14.09.2017
13:02:14
Ой, точнее не cond, а слегка другой)
const checkPositive = {
cond: x => x > 0,
pass: x => 'Positive value: ' + x,
fail: x => new Error( `Must be positive ` + x )
}
Either
.of( 0 )
.logic( checkPositive )
// => Left( Error( Must be positive 0 ) )
`

Maxim
14.09.2017
13:03:04
мне вообще не нужен лефт

Дмитрий
14.09.2017
13:04:08
Такой же метод есть у Maybe, там без left

? animufag ?
14.09.2017
13:04:54

Дмитрий
14.09.2017
13:35:46

Ilya
14.09.2017
15:57:11
Товарищи, пытаюсь использовать рамду с тсом, не понимаю мотивации за этим дефинишеном
В доках рамды написано что isNil возвращает булеан.
Я понимаю конечно что имели ввиду за этим дефинишеном, но в итоге я не могу сделать из функции Boolean потому что типы не совпадают.
Хотя наверное за этим надо лучше иди в ТС конфу, но я такой не знаю. :V

andretshurotshka?❄️кде
14.09.2017
15:59:14
@typescript_ru

Ilya
14.09.2017
15:59:29
Спасибо.
nvm, сыграл в утоку и разрезолвил проблему.

Google

andretshurotshka?❄️кде
14.09.2017
18:53:03
?

Maxim
14.09.2017
19:20:13
Чего лучше придерживаться по началу, для неискушённого: fantasy-land or static-land?

andretshurotshka?❄️кде
14.09.2017
19:20:55
fantasy

Maxim
14.09.2017
19:31:17
Static выглядит понятнее
Особенно ts-static-land
После тс)

Kelin
14.09.2017
19:32:18
Ребята

Maxim
14.09.2017
19:33:09
Что такое flow?

Kelin
14.09.2017
19:33:20
типа pipe

Maxim
14.09.2017
19:35:46
Неочевидно имхо, может стоит посмотреть на ramda.applySpec

Kelin
14.09.2017
19:35:57
У меня объект {a: [ { name: ... , ... }, ... ] ...}

Kelin
14.09.2017
19:36:27
и мне нужно по {type: 'a', name: 'lol'} взять из a все с name=='lol'
соответственно, если нет одного из параметров, фильтровать не нужно

Maxim
14.09.2017
19:37:31
Фильтр массива

Aleh
14.09.2017
19:38:52
тебе и команде легко такое читать?

Maxim
14.09.2017
19:38:59
Непонятна полностью структура на входе

Kelin
14.09.2017
19:39:47
это не в команде, это свои поделки

Aleh
14.09.2017
19:40:06

Google

Maxim
14.09.2017
19:40:32
Херово компоуз юзать для сложных выражений

andretshurotshka?❄️кде
14.09.2017
19:40:32
лодаш

Aleh
14.09.2017
19:40:46
лично мне такое не нравится, но это сугубо личное

Kelin
14.09.2017
19:41:03
вот есть такой специфичный кейс, как бы вы реализовали

Maxim
14.09.2017
19:42:13
Ну хотя бы на две части разбей, оно вроде бьётся у тебя, и засунь в компоуз две части

Admin
ERROR: S client not available

Maxim
14.09.2017
19:42:36
flow(a, b)
Ну и дальше разбивай их, одно выражение городить сложно

Kelin
14.09.2017
19:44:12

Maxim
14.09.2017
19:44:34
Проще будет
Стопицот не будет, много тождественных выявится

kana
14.09.2017
19:46:16
Если ты пишешь коммент, то может проще вынести трансформацию в отдельную переменную?
В отдельную функцию в данном случае. Имя функции - естественный комментарий

Kelin
14.09.2017
19:49:49

Maxim
14.09.2017
19:51:19
намного лучше же )

kana
14.09.2017
19:51:20
Но этот код можно так красиво и читаемо переписать без поинтфри. Тут его просто пытаются впихнуть, потому что можно

Maxim
14.09.2017
19:51:56
он переписал с поинт фри - норм

andretshurotshka?❄️кде
14.09.2017
19:52:32
спамер?

kana
14.09.2017
19:52:55
Эм, было поинтфри, поинтфри и осталось

Google

Kelin
14.09.2017
19:53:09
там ребята в чатике по эликсиру хотят бота запилить
чтобы новички в чате капчу вводили
типо антиспам

andretshurotshka?❄️кде
14.09.2017
19:53:44

Kelin
14.09.2017
19:53:45
только какой алгоритм будет - не очень понятно
если бот будет срать в чат, то это тупо
а если в лс писать, еще тупее

Antony
14.09.2017
19:53:59
Сам спамер

andretshurotshka?❄️кде
14.09.2017
19:54:06
В лс нельзя написать
Хотя если бот юзер

Kelin
14.09.2017
19:54:13
А пожар все пишет и пишет

andretshurotshka?❄️кде
14.09.2017
19:54:18

Antony
14.09.2017
19:54:37
Нот эт ол

Kelin
14.09.2017
19:54:38

Дмитрий
14.09.2017
19:55:23

Kelin
14.09.2017
19:56:13
а что делает assoc
а, это типа как set