Size: a a a

2021 January 12

ЗП

Зигохистоморфный Пре... in ФП
atcq (Алексей)
ок

интересуют js/ts библиотеки, которые можно применять в роли хелперов и которые не тащат в рантайм слишком многого, в идеальном случае импорт функции должен добавлять примерно столько же байт, сколько бы добавилось при реализации своими руками

цель - применение в ситуациях, когда итоговый объем скрипта критичен
большинство можно из стандартных жсных сделать
источник

P

Purple in ФП
Jerzy Syrowiecki
я вот что имею в виду

func replicate(n: Int, x: a) -> [a] {
   map(1..n, _ -> x)
}

func replicateM(n: Int, f: () -> a) -> [a] {
   map(1..n, _ -> f())
}
Возник вопрос — для того чтобы это был “настоящий” replicateM не следует использовать flatMap вместо map?
источник

AG

Alex Gryzlov in ФП
если не лень скейт-манатку костылить
источник

AG

Alex Gryzlov in ФП
и иммутабельный рнг впридачу
источник

P

Purple in ФП
Alex Gryzlov
если не лень скейт-манатку костылить
скейт?
источник

AG

Alex Gryzlov in ФП
state
источник

P

Purple in ФП
Не до конца понял смысл этих двух сообщений
источник

JS

Jerzy Syrowiecki in ФП
Purple
Возник вопрос — для того чтобы это был “настоящий” replicateM не следует использовать flatMap вместо map?
"настоящий" будет в чистом языке, а здесь подойдёт и map, и цикл. flatMap вроде не нужен
источник

P

Purple in ФП
Jerzy Syrowiecki
"настоящий" будет в чистом языке, а здесь подойдёт и map, и цикл. flatMap вроде не нужен
Логично, спасибо :)
источник

P

Purple in ФП
Jerzy Syrowiecki
я вот что имею в виду

func replicate(n: Int, x: a) -> [a] {
   map(1..n, _ -> x)
}

func replicateM(n: Int, f: () -> a) -> [a] {
   map(1..n, _ -> f())
}
Какая-то черная магия, но через replicateM разница примерно в 7 раз в пользу функционального подхода по времени. Спасибо еще раз!
источник

JS

Jerzy Syrowiecki in ФП
Purple
Какая-то черная магия, но через replicateM разница примерно в 7 раз в пользу функционального подхода по времени. Спасибо еще раз!
а там точно случайные данные получаются?
источник

P

Purple in ФП
Jerzy Syrowiecki
а там точно случайные данные получаются?
Да, точно, видимо компилятор как-то оптимизирует
источник

JS

Jerzy Syrowiecki in ФП
в Swift встроен автоматический параллелизатор map?
источник

P

Purple in ФП
Да, вроде
источник

SA

Sergey Alaev in ФП
atcq (Алексей)
ок

интересуют js/ts библиотеки, которые можно применять в роли хелперов и которые не тащат в рантайм слишком многого, в идеальном случае импорт функции должен добавлять примерно столько же байт, сколько бы добавилось при реализации своими руками

цель - применение в ситуациях, когда итоговый объем скрипта критичен
Это не так просто,  библиотеки реализуют апи на базе какого-то набора повторно используемых функций. Это уменьшает общий размер библиотеки, но увеличивает кол-во зависимостей для каждой функции в апи.
источник