Описание тега function-composition
Применение одной функции к результату другой известно как композиция функций: `(fg)(x) = f(g(x))`
2
ответа
Состав функции Haskell, тип (.)(.) И способ ее представления.
Итак, я знаю, что: (.) = (f.g) x = f (g x) И это тип (B->C)->(A->B)->A->C Но как насчет: (.)(.) = _? = _? Как это представляется? Я думал о: (.)(.) = (f.g)(f.g)x = f(g(f(g x))) // this (.)(.) = (f.g.h)x = f(g(h x)) // or this Но насколько я пытался …
24 апр '13 в 21:12
1
ответ
Составляющая функция с большей арностью в Рамде
Я с нетерпением пытаюсь изучить функциональное программирование в js, но мне трудно. Я чувствую, что постоянно делаю что-то вроде этого, а это совсем не так: export const getParamFromUrl = R.curry((name, url) => R.compose( R.match(new RegExp(`[?&…
30 ноя '16 в 00:39
4
ответа
Что происходит с точкой (.) В Haskell?
У меня возникают проблемы с пониманием того, как работает оператор композиции функций в Haskell. Я понимаю это в простых случаях, когда вы используете только функции, которые принимают один аргумент, но я не понимаю, что происходит, когда вы использ…
04 дек '14 в 19:57
2
ответа
Применение функции к произвольно длинному списку аргументов
Я хочу создать функцию apply, которая принимает функцию с произвольным количеством аргументов, а также список целых чисел и возвращает результат функции (где каждое целое число в списке является аргументом по порядку. Я думал что-то вроде: apply :: …
10 май '10 в 03:50
1
ответ
Пожалуйста, объясните, как работает функция compose в приставке
compose Функция в Redux по большей части очень проста, и я понимаю, как ее использовать. export default function compose(...funcs) { if (funcs.length === 0) { return arg => arg } if (funcs.length === 1) { return funcs[0] } return funcs.reduce((a,…
16 апр '17 в 01:07
1
ответ
Не могу получить бессмысленную запись для компиляции в Haskell
Это работает unique :: (a -> Bool) -> [a] -> Bool unique p xs = 1 == length (filter p xs) Но теперь я хочу это в виде: unique = (== 1) . length . filter Сообщение об ошибке: Couldn't match expected type `[a] -> Bool' with actual type `Bo…
03 сен '14 в 15:07
2
ответа
Композиция функций - Haskell
Опять же, еще один вопрос, вызванный моими попытками ответить на вопросы проекта Эйлера ( следуйте из предыдущего вопроса). У меня проблемы с пониманием следующей строки: print (maximum (map (product . take 13) (tails number))) конкретно map (produc…
17 авг '14 в 13:17
2
ответа
Clojure фильтрующий состав с уменьшенным
У меня есть предикат высшего порядка (defn not-factor-of-x? [x] (fn [n] (cond (= n x) true (zero? (rem n x)) false :else true))) который возвращает предикат, который проверяет, не является ли данный аргумент n фактором x. Теперь я хочу отфильтровать…
10 янв '15 в 06:49
6
ответов
Что означает точка с запятой, точка или точка (.) В Haskell?
Я действительно хотел бы, чтобы Google был лучше в поиске синтаксиса: decades :: (RealFrac a) => a -> a -> [a] -> Array Int Int decades a b = hist (0,9) . map decade where decade x = floor ((x - a) * s) s = 10 / (b - a)
21 мар '10 в 09:42
1
ответ
Составление последовательности функций переменных типов в Scala
Я пытаюсь применить последовательность преобразований к набору данных, где каждая функция берет выходные данные предыдущего шага и преобразует их для следующего шага. Например val f1: Function1[Int, Double] = _ / 2d val f2: Function1[Double, BigDeci…
21 июн '18 в 08:27
1
ответ
Составление функций 'length' и 'elemIndices'
Я написал функцию count :: Char -> String -> Int который считает количество вхождений Char внутри String, Пример кода: module Main where import Data.List main :: IO () main = do print $ count 'a' "abcaaba" count :: Char -> String -> Int …
01 май '17 в 11:02
5
ответов
Что происходит, когда я пишу * с + в Haskell?
Я пытаюсь понять результат (*) . (+) в Хаскеле. Я знаю, что оператор композиции - это просто стандартная композиция математических функций, поэтому (f . g) = f (g x) Но: (*) . (+) :: (Num (a -> a), Num a) => a -> (a -> a) -> a -> a…
27 дек '14 в 04:02
2
ответа
Как составить список функций для вызова
У меня есть простой источник. def h(x): return x + 1 def m(x): return x + 2 def n(x): return x * 10 def function_aggregator(fun_list, num): return_fun = None for fun in fun_list[::-1]: if return_fun: return_fun = fun(return_fun) else: return_fun = f…
20 дек '17 в 13:24
1
ответ
Как fmap fmap применяется к функциям (в качестве аргументов)?
Я пытаюсь понять как fmap fmap относится к такой функции, как, скажем, (*3), Тип fmap fmap: (fmap fmap):: (Functor f1, Functor f) => f (a -> b) -> f (f1 a -> f1 b) Тип (*3): (*3) :: Num a => a -> a Что означает, что подпись a ->…
03 мар '15 в 06:21
4
ответа
Как "составить" функции, когда одна функция не дает 1 выходного параметра на 1 входной параметр?
Скажем, я хочу сочинять функции, такие как processResult а также sendResult, но я не могу просто связать их, потому что processResult может понадобиться позвонить sendResult 0,1,2 или n раз за каждый звонок processResult, Как правильно сделать это в…
05 июн '13 в 10:56
0
ответов
Как реализовать функцию pipe / compose?
Я пытаюсь написать функцию 'pipe', которая довольно проста в Javascript: const pipe = (...funcs) => val => ( funcs.reduce((acc, func) => func(acc), val) ) Пример использования: const sqrt = v => Math.sqrt(v); const half = v => v / 2; …
05 сен '18 в 12:06
3
ответа
Композиция монадических функций с цепочкой в Java 8
Каким-то образом я должен быть в состоянии указать цепочку, как это, в то время как значение передается через каждую функцию. a::create -> a::processing -> a::updating -> a:uploading В контексте следующих статей я хочу связать методы одним …
14 мар '17 в 08:05
0
ответов
Composing Action(BodyParser) с ActionFilter в игровой среде scala
У меня есть игровое приложение и проблемное действие. Я пытаюсь разобрать тело запроса с помощью parse.form а затем есть ActionFilter бежать против этого разобранного тела. Пока что у меня есть что-то вроде этого object ModelValidationAction extends…
09 май '17 в 02:19
1
ответ
Композиция родовых функций в Хаскеле
Я читал здесь и заметил, что, например, если у меня есть следующие определения функций: a :: Integer->Integer->Integer b :: Integer->Bool Следующее выражение недопустимо: (b . a) 2 3 Довольно странно, что функции композиции должны иметь тол…
29 дек '10 в 04:13
1
ответ
Используйте функцию a → b в качестве "монадической" функции a → m b
В настоящее время я играю с основами Haskell и наткнулся на следующий "вариант использования": ghci> let divideTenBy x | x == 0 = Nothing | otherwise = Just (10 / x) ghci> let composed = divideTenBy <=< return . (*10) <=< divideTen…
01 апр '12 в 03:08