
Filipp
17.08.2016
12:53:21
но это и не фп код

Ҫѐҏӗѫӑ
17.08.2016
12:53:38
в рамде по фп все да
дата-ласт, можно композицию

Ilya
17.08.2016
12:54:50
А что за data-last, простите неофита.

Google

Ҫѐҏӗѫӑ
17.08.2016
12:55:23
когда данные последним аргументом, а трансформации сначала

Filipp
17.08.2016
12:55:28
это когда первым аргументом идёт обработчик (потому что он обычно известен зарание), а последним данные
чтоб удобнее каррировать

Ҫѐҏӗѫӑ
17.08.2016
12:55:45
частичное применение и вот это все

Ilya
17.08.2016
12:55:51
Map(fn)(myArray)?

Ҫѐҏӗѫӑ
17.08.2016
12:55:55
трансдюсеры
да. типа того

Filipp
17.08.2016
12:56:18

Ҫѐҏӗѫӑ
17.08.2016
12:56:26
только map все же)
если мы о js

Ilya
17.08.2016
12:56:33
Ну автокоррект.
Привык все мессаджи с большой начинать.

Ҫѐҏӗѫӑ
17.08.2016
12:57:11
меня удивляет что ф-ии как фёст класс для многих уже равно фп

Google

Алексей
17.08.2016
12:57:13
In functional programming, side effects are rarely used. The lack of side effects makes it easier to do formal verifications of a program. Functional languages such as Standard ML, Scheme and Scala do not restrict side effects, but it is customary for programmers to avoid them.[3] The functional language Haskell expresses side effects such as I/O and other stateful computations using monadic actions.[4][5]
Наличие SideEffects - не означает что это не FP.. даже в Haskell они есть

Ҫѐҏӗѫӑ
17.08.2016
12:57:39
ml и scala мультипарадигменнные
эээ

Ilya
17.08.2016
12:57:55
Они спрятаны же.

Ҫѐҏӗѫӑ
17.08.2016
12:58:09
если бы сайд-эффектов не было, то ничего нельзя было бы сделать

Ilya
17.08.2016
12:58:10
За монады и data-tree.

Ҫѐҏӗѫӑ
17.08.2016
12:58:14
полезного
Алексей, ты просто из тех, для кого noop() — это фп. но это ничего. в js это норма ;)

Алексей
17.08.2016
13:00:57
Вот этот чувак с тобой не согласен

Ҫѐҏӗѫӑ
17.08.2016
13:01:09
лол!
как раз этот чувак согласен)
и он по фрп кстати много написал
почитай ;)
и все же канал надо переименовать
https://twitter.com/headinthebox/status/513799924798865408
^ этот самый чувак

Алексей
17.08.2016
13:03:49
Это про FRP - не путай FRP и FP

Alex
17.08.2016
13:04:10
что вы к этим буквам привязались

Ҫѐҏӗѫӑ
17.08.2016
13:04:18
дая понял что у тебя процедурное программирование === фп

Google

Ҫѐҏӗѫӑ
17.08.2016
13:04:47
и все, где есть про подпрограммы тоже
а не фп — это goto

Alex
17.08.2016
13:06:07
FP программирование с помощью функций) где любой атомарный объект - функция, любое действие - это вызов функции

Ҫѐҏӗѫӑ
17.08.2016
13:06:24
это не так
примитивные данные и другие типы могут быть в чисто-фп языке
и обычно есть

Ilya
17.08.2016
13:06:49
А что же тогда тру-фп?

Ҫѐҏӗѫӑ
17.08.2016
13:07:24
более того, в фп языках обычно очень развитая система типов

Алексей
17.08.2016
13:07:36
это не так
Ты просто Fundamentalist
https://www.youtube.com/watch?v=UuamC0T3hv8
Просто не нужно бояться SideEffects - они так-же поддаються анализу и расчету как и sideEffectLess код

Ilya
17.08.2016
13:48:30
Так все таки, что же такое тру-фп, и чего я должен придерживаться, чтобы погрузиться в это?

Ярослав
17.08.2016
13:49:28
тру фп это когда одна математика, сплошные лямбды и декларативный стиль
короче, в жабаскрипте такого нет

Alex
17.08.2016
13:49:49
чтобы не было внутри комманд которые означают логически - СДЕЛАЙ ЭТО

Ilya
17.08.2016
13:50:09
И все?

Alex
17.08.2016
13:50:10
do it, just do it! - Это не про ФП
это императивный код
ну пальцах все

Ярослав
17.08.2016
13:50:41
а фп — это give me it

Ilya
17.08.2016
13:51:11
"Вторая степень 2" это имп
А "втораяСтепень(2)" это фп?

Google

Ilya
17.08.2016
13:51:41
Хотя вейт, плохой пример.

Alex
17.08.2016
13:51:43
декларативный подход - это this should be done )

Ilya
17.08.2016
13:52:29
А фп - do something to give me the result? Когда сообщаешь желаемый результат, нежели способ его получения?

Alex
17.08.2016
13:52:43
вроде того

Ilya
17.08.2016
13:53:05
Сложна, немогу обернуть это в голове после годов императивщины.

Alex
17.08.2016
13:53:06
ты описываешь то что тебе нужно, а не объясняешь как получить это, разница тонкая
а шо делать, получится в конце концов
возьми cycle)
и у тебя не будет выхода)

Ilya
17.08.2016
13:53:43
Ну я вот думаю.

Alex
17.08.2016
13:53:43
кроме как писать функционально

Ilya
17.08.2016
13:54:12
Над попробовать сегодня.

Alex
17.08.2016
13:58:22
надо пробовать да

Filipp
17.08.2016
13:58:54

Дмитрий
17.08.2016
13:59:23

Filipp
17.08.2016
13:59:25
устанавливаешь связи между входными и выходными данными

Alex
17.08.2016
13:59:57
и тестироание соотвественно - область значений, область определения)
в общем вспоминаешь математику)

Алексей
17.08.2016
14:02:00

Google

Sergey
17.08.2016
14:03:13
Ничем хорошим пока чистые fp не заканчивались, поэтому все этот весь срачик не имеет значения.

Ilya
17.08.2016
14:05:02
Если честно, чейнинг мне ооп напоминает.
Тебе функция возвращает объект, и ты у него сразу метод дергает, который тебе еще один объект, а ты еще раз метод дергаешь, и так далее.

Alex
17.08.2016
14:05:42
поэтому это не чистое фп, и все закончится хорошо)

Ilya
17.08.2016
14:06:15
То, что эти методы условно чистые, не делает объект не объектом.

Sergey
17.08.2016
14:06:24
Слава тебе господи, что можно писать как удобно по задаче

Alex
17.08.2016
14:06:51
ну JS позволяет это делать, одно из приемуществ

Sergey
17.08.2016
14:07:12
Очень хорошее преимущество.

Алексей
17.08.2016
14:07:24
Кстати а что плохово в Chaining?
map возвращает польностью новый массив ( без мутации )

Ilya
17.08.2016
14:07:41
Да ничего. Собственно.

Алексей
17.08.2016
14:11:18
Обожаю кстати F# за Pipe оператор
let foo input =
input
|> Array.map (fun a -> a) // Takes array and returns array (more efficient)
|> Seq.windowed 2 // Create lazy sliding window
|> Seq.take 10 // Take sequence of first 10 elements
|> Array.ofSeq // Convert back to array

Дмитрий
17.08.2016
14:14:54

Ҫѐҏӗѫӑ
17.08.2016
14:24:42
+1)

Aldar
17.08.2016
14:31:10

Алексей
17.08.2016
14:35:05

Aldar
17.08.2016
14:35:20