@frp_ru

Страница 123 из 420
Vadim
30.07.2017
12:06:25
Один аргумент вполне компактен
Vadim N.: Перед передачей в каждую функцию (которая является, например, стандартным методом ramda) этот аргумент необходимо преобразовать в подходящую форму. И результат выполнения каждой функции в цепочке так же необходимо преобразовать в этот объект для передачи следующей функции в цепочке. Довольно сложный набор шагов.

Хотя да, проще все-равно не сделать )

Google
? animufag ?
30.07.2017
12:23:46
Вот например 2 аргумента передаются первой функции, она возвышает что-либо, что должна принять вторая функция?

Vadim
30.07.2017
12:40:51
reduce обычный
Согласен. Для большинства таких случаев он вполне ок

skips([1,2,3,4,5,6,7,8,9,10]) // => [[1,2,3,4,5,6,7,8,9,10],[2,4,6,8,10],[3,6,9],[4,8],[5,10],[6],[7],[8],[9],[10]]
const skips = o(tail, addIndex(scan)((acc, val, idx, arr) => addIndex(filter)((el, i) => o(not, modulo(inc(i)))(inc(idx)), arr), [] )) skips([1,2,3,4,5,6,7,8,9,10]); //=> [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [2, 4, 6, 8, 10], [3, 6, 9], [4, 8], [5, 10], [6], [7], [8], [9], [10]]

Ну или что б функции не создавались в каждой итерации, то вот: const indexedFilter = addIndex(filter); const getModuloRes = compose(not, apply(modulo), map(inc)); const skips = o(tail, addIndex(scan)((acc, val, idx, arr) => indexedFilter((el, i) => getModuloRes([i, idx]), arr), [] ))

Дмитрий
30.07.2017
16:08:36
const f = list =>into([], map(i => filter(v => v % i === 0, list)), list)

andretshurotshka?❄️кде
30.07.2017
16:11:12
Дмитрий
30.07.2017
16:11:54
Почему?))

andretshurotshka?❄️кде
30.07.2017
16:14:14
into )

Дмитрий
30.07.2017
16:14:43
Это ещё не самая жесть))

Ему можно скармливать значения попарно, и он будет собирать их в объект

Но юзаю редко, с трудом представляю как такое вообще типизировать)

The accumulator can be an array, string, object or a transformer. Iterated items will be appended to arrays and concatenated to strings. Objects will be merged directly or 2-item arrays will be merged as key, value pairs.

Google
Дмитрий
30.07.2017
16:18:26
Ещё и строки теперь собирает, омг)

andretshurotshka?❄️кде
30.07.2017
17:30:47
лол

Vadim
30.07.2017
17:37:04
const f = list =>into([], map(i => filter(v => v % i === 0, list)), list)
Она у тебя не работает с другими данными в массиве. Потому что ты учитываешь не индексы, а значения

а почать срезы по номеру
Это описание задачи

"каждый 1, каждый 2, каждый 3 и тд"

Дмитрий
30.07.2017
17:41:17
Vadim
30.07.2017
17:41:26
))

Я не думал что условие не известно )

Дмитрий
30.07.2017
17:43:03
Эээ, стоп, бред какой-то

Я учитываю значения, а не индексы, и поэтому моё решение будет работать с другими данными, не?

Vadim
30.07.2017
17:44:40
f([2,3,4,5,6,7,8,9,10]); //=> [[2, 4, 6, 8, 10], [3, 6, 9], [4, 8], [5, 10], [6], [7], [8], [9], [10]]

А должно быть так: skips([2,3,4,5,6,7,8,9,10]); //=> [[2, 3, 4, 5, 6, 7, 8, 9, 10], [3, 5, 7, 9], [4, 7, 10], [5, 9], [6], [7], [8], [9], [10]]

В первом списке вставлен каждый первый элемент. Вто втором - каждый второй. И так далее

Дмитрий
30.07.2017
17:46:32
Наркоманская задачка

Vadim
30.07.2017
17:46:52
Ну так кто автор )

Но я рад таким задачкам. Без них в рамде сложно набить руку

Ибо реальность задает лишь тривиальные задачи

Дмитрий
30.07.2017
17:49:22
Ох, если бы

Vadim
30.07.2017
17:51:12
Ну значит у меня жизнь скучнее )

Google
Denis
30.07.2017
19:38:23
параморфизм это фолд но есть доступ ко всей структуре?
к хвосту структуры (не ко всей, а той что еще не проитерирована)

Vadim
30.07.2017
20:56:17
к хвосту структуры (не ко всей, а той что еще не проитерирована)
Странное ограничение. Не понимаю пока в каких задачах это может быть необходимо

Понимаю смысл необходимости видеть всю структуру (что и реализовано в стандартном reduce). Но зачем надо ограничивать видимость?

kana
30.07.2017
21:21:23
Это не совсем ограничение видимости, это единственное, что мы видим при свертке

Принцип свертки же в индукции

Будет странно, если при шаге от общего к частному мы будем сохранять какие-то данные

Даже не знаю, как это выразить правильно, нарушение концепта)

Дмитрий
30.07.2017
21:23:15
Нужен график зависимости понятности объяснений от уровня осознания теорката

kana
30.07.2017
21:23:25
Но суть в том, что параморфизм надструткуры будет включать в себя те же редукции, что и подструктура

Дмитрий
30.07.2017
21:23:38
Гиперболический, причём

Vadim
30.07.2017
21:43:56


В шапку бы чата эту картинку )

Vadim
30.07.2017
21:53:21
Vadim
Пытаюсь понять, По какому принципу формируются группы? Как бы выглядела последовательность, если бы в первом тапле было не четыре единицы, а пять, например?

Denis
30.07.2017
21:53:48
так эта задача я кидал ссылку еа вики выше

Дмитрий
30.07.2017
21:54:13
А, я понял

Denis
30.07.2017
21:54:31
https://wiki2.org/ru/%D0%A0%D0%B0%D0%B7%D0%B1%D0%B8%D0%B5%D0%BD%D0%B8%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0

andretshurotshka?❄️кде
31.07.2017
01:02:27
достали

Google
Denis
31.07.2017
01:04:04
?

andretshurotshka?❄️кде
31.07.2017
01:06:48


illiatshurotshka❄️
31.07.2017
01:08:10
нах тебе projs

andretshurotshka?❄️кде
31.07.2017
01:08:41
там пишут люди

Denis
31.07.2017
01:12:46
шо за прожс?

andretshurotshka?❄️кде
31.07.2017
01:13:00
чат жс

Denis
31.07.2017
01:13:06
и киньте канал про ts

andretshurotshka?❄️кде
31.07.2017
01:13:12
@typescript_ru

Admin
ERROR: S client not available

andretshurotshka?❄️кде
31.07.2017
01:16:39
будешь пропагандировать пурсу?

Denis
31.07.2017
01:17:16
не

мне нравится ts

illiatshurotshka❄️
31.07.2017
01:18:15
а как же ризон

Denis
31.07.2017
01:18:35
говно окамлевское

illiatshurotshka❄️
31.07.2017
01:18:55
че

почему

Denis
31.07.2017
01:19:30
потому что у окамля нет экосистемы вообще

хе-хе https://github.com/tomhoule/purescript-waterslide-rs

andretshurotshka?❄️кде
31.07.2017
01:21:19
ого

illiatshurotshka❄️
31.07.2017
01:21:33
а че такого

Google
illiatshurotshka❄️
31.07.2017
01:21:38
в расте очень простые типы

даже хкт нету

((9

andretshurotshka?❄️кде
31.07.2017
03:53:06
https://github.com/cyclejs/cyclejs/issues/620

? animufag ?
31.07.2017
10:56:38
Вообще в начале думал что классно всё будет. Тип сделают что-то вроде елм. Но это именно окамл. Архаичный по мелочам несуразный

крч запоздалое дополнение добавился как-то к ним в чатик посмотреть что происходит. то что запомнилось 1. дискорд как чатик топ. (ну хоть не irc как у раста) 2. чел спросил почему конструкторы передавать как функцию – ему сказали что так было в окамле, что это в принципе редкий кейз и если так уж хочется то можешь let constructor a b c = Constructor a b c Но зато без проблем можно добавить в язык угловые скобочки (в этом чате тоже любят хтмл теги в коде?) 3. immutable.re вместо инфраструктуры окамла. зачем вообще было воспроизводить старый язык и потом отказываться от его либ?

Denis
31.07.2017
12:15:21
пусть в жопу себе засунут такое качество кода на экране, да и в теме человек нухуя не разобрался (фрп ануса у него) https://www.youtube.com/watch?v=BiTu-ykKTG4&list=PLUF1zRLAgrPHB0mxa7aGy2dLeonR0dXmU&index=2

? animufag ?
31.07.2017
12:20:19
ну флоу жи джиэс(

Алексей
31.07.2017
12:20:37
Denis
31.07.2017
12:20:54
js и fp это нонсенс

Алексей
31.07.2017
12:21:43
js и fp это нонсенс
... может не так удобно как у других, но не нонсенс

Дмитрий
31.07.2017
12:21:50
Why?
Из за модели вывода типов, не предполагающей функционального программирования вообще

Denis
31.07.2017
12:22:27
любое дерьмо можно закодить на Тьюринг полном языке, но вопрос насколько это будет удобно и все такое

Дмитрий
31.07.2017
12:23:01
Где в тс контрварианты, где opaque type, позволяющий усиливать отношения типов?

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