
andretshurotshka?❄️кде
13.09.2017
13:12:38
ждем

? animufag ?
13.09.2017
13:12:46
на самом деле там сильно не хватает констрейнтов на параметры темплейта
и концепты вроде про это
ну если как трейты то тоже норм

Google

andretshurotshka?❄️кде
13.09.2017
13:13:23

illiatshurotshka❄️
13.09.2017
13:13:30
не частая ситуация но бывает же

andretshurotshka?❄️кде
13.09.2017
13:13:32
ну значит мне показалось что это трейты

illiatshurotshka❄️
13.09.2017
13:13:37
нету никакого интереса писать на расте, ты просто постоянно решаешь проблемы с памятью

? animufag ?
13.09.2017
13:13:54
о еее подловил))

illiatshurotshka❄️
13.09.2017
13:14:32
из этих поинтеров все кроме box очень редко встречается
а с box все оч просто

? animufag ?
13.09.2017
13:14:50
хотел заюзать риторику) докопаться до частного случая и орать про него так как будто он является ботлнеком при разработке

illiatshurotshka❄️
13.09.2017
13:16:01
все ради не использования раста?

? animufag ?
13.09.2017
13:20:58
Не, так в чатиках я получаю самооценку
Неподходящее слово но смысл ты понял

illiatshurotshka❄️
13.09.2017
13:21:30
статус?

andretshurotshka?❄️кде
13.09.2017
13:21:45
лолд

Google

? animufag ?
13.09.2017
13:22:58
Не ну всё таки скорее для себя
Удовлетворение, но звучит как-то пошло

Дмитрий
13.09.2017
13:46:29
?

Kelin
13.09.2017
19:04:34
Гайс, а как на жсе в фп стиле лучше кидать эксепшны?

Дмитрий
13.09.2017
19:05:51
Either.Left

Kelin
13.09.2017
19:08:01
а есть в лодаше что-то на эту тему? не хочется лишнего тянуть

Дмитрий
13.09.2017
19:08:09
Лоол

Kelin
13.09.2017
19:08:14
знаю, что там есть attempt + isError
но это вложенность будет

Дмитрий
13.09.2017
19:08:21
Советую удалить лодаш изначально

Kelin
13.09.2017
19:08:29
ну блет, поздно уже

Дмитрий
13.09.2017
19:08:33
Потому что больше он тебе не пригодится, инфа сотка
Ну если такие выборы делать поздно, то монады втаскивать и подавно, не?

Kelin
13.09.2017
19:08:56
в смысле больше?


Дмитрий
13.09.2017
19:12:06
Ну как минимум он будет довольно неудобен
А either left / right работает так
const checkNumber = x => typeof x === 'number'
? Right( x )
: Left( new Error('Must be number') )
const checkNegative = x => x < 0
? Right( x )
: Left( new Error(x + ' must be negative') )
Right(0) // Right [ 0 ]
.map( x => x + 1 ) //Right [ 1 ]
.chain( checkNumber ) //Right [ 1 ]
.chain( checkNegative ) //Left [ Error('1 must be negative') ]
.map( x => x - 1 ) //Left [ Error('1 must be negative') ]
То есть, как видно, после того, как Right значение превращается в Left, .map на него больше не действует, что удобно — мы всегда знаем что ничего не сломаем вызовом map с невалидными данными
С рамдой кстати можно эти chained вызовы превратить в point free
const pipeline = pipe(
map( x => x + 1 ),
chain( checkNumber ),
chain( checkNegative ),
map( x => x - 1 ),
)
pipeline( Right(0) ) // => Left( Error('1 must be negative') )
В моей имплементации Either для такого стиля "Error — в Left" есть метод .promise() который закастует Right в resolve, а left в reject, удобно

Google

Дмитрий
13.09.2017
19:19:55
https://github.com/zerobias/apropos
Здесь стандартные типы данных Either и Maybe, на днях бэкпортирую из telegram-mtproto ещё Identity и These, будет полноценная либа для entry-level fp

illiatshurotshka❄️
13.09.2017
19:22:19
а как either в maybe превратить

Дмитрий
13.09.2017
19:22:43
А, и трансформеры ещё докину, да
Фолд — это метод, принимающий пару функций, которые применяются соответственно к левому и правому значению
Right( 0 ).fold( Nothing, Just ) // => Just( 0 )
Left( 0 ).fold( Nothing, Just ) // => Nothing( )

Kelin
13.09.2017
19:37:11
о, я че-то похожее видел, только наоборот fold(...).right(...).left(...)

Дмитрий
13.09.2017
19:37:32
Это немного другое
Можно делать map по R значению и map по L (по ошибке) — тоже, что оч круто
Вот у тебя наверное пример такого синтаксиса

Kelin
13.09.2017
20:04:59
то есть я правильно понял

Kelin
13.09.2017
20:05:03
что как только будет L
дальше будет прокидываться ошибка
а не вызываться функции
бля, если так, то годно

illiatshurotshka❄️
13.09.2017
20:06:10
а что значит ``prime cofactors''
@ZeroBias

Дмитрий
13.09.2017
20:06:46

Kelin
13.09.2017
20:06:54
сас

Google

Дмитрий
13.09.2017
20:06:57

illiatshurotshka❄️
13.09.2017
20:07:05
из доки мтпрото
по ауфентикации
гы

Дмитрий
13.09.2017
20:07:15
А где там

illiatshurotshka❄️
13.09.2017
20:07:28
3. Pq = 17ED48941A08F981 decomposed into 2 prime cofactors:
p = 494C553B q = 53911073

Kelin
13.09.2017
20:07:32
ну на самом деле, с лодашем много нюансов есть, которые заставляют писать какую-то хуйню и "проще императивно сделать"
в этом я согласен

Admin
ERROR: S client not available

Kelin
13.09.2017
20:07:52
но пока что мне надо добить такой вариант, а потом перепилить

Дмитрий
13.09.2017
20:09:09

illiatshurotshka❄️
13.09.2017
20:09:38
то есть нужно просто pq в два любых фактора разложить?

Дмитрий
13.09.2017
20:09:51
Ага
Это самая тяжёлая операция для клиента

illiatshurotshka❄️
13.09.2017
20:10:00
а че если выбрать 1 и само число

Дмитрий
13.09.2017
20:10:14
Ну у тебя вместо криптографии будет фига

illiatshurotshka❄️
13.09.2017
20:10:24
и сервер это разрешит?

Дмитрий
13.09.2017
20:10:28
На этом типа защита строится
Нет конечно)

illiatshurotshka❄️
13.09.2017
20:10:33
оо

Google

illiatshurotshka❄️
13.09.2017
20:10:53
то есть там захардкожено не давать клиенту отправлять 1?

Дмитрий
13.09.2017
20:12:00
Могу отметить, что довольно сложно делать сервер мтпрото не сделав ни разу клиент. Я точно представляю в каком месте кода у меня происходит работа с p q pq и что ему предшествует и если не хватает теоретической подготовки, то могу понять всё по практике
Нужная мне часть доки в виде упорядоченного дерева, когда задолбался ползать по офф доке

illiatshurotshka❄️
13.09.2017
20:17:14
лол это что

Дмитрий
13.09.2017
20:18:09
Ниже листай
Abstract — это я там оставил образцы оформления
И это не для телефона, к сожалению, но
Второй раз предлагать не буду))

illiatshurotshka❄️
13.09.2017
20:26:12
бля а почему это там не написано

Дмитрий
13.09.2017
20:26:30

illiatshurotshka❄️
13.09.2017
20:26:57
ну в доке написано пошагово как делать ауфентикацию
но почемуто этого там не написано

Дмитрий
13.09.2017
20:27:57
Я всё брал из офф доки
Просто она даже хуже чем можно себе представить

Kelin
13.09.2017
20:28:40
бля походу придется ооочень долго во все вникать