Вопросы по теме 'function-composition'
Идиомы композиции функций (.) И приложения функции ($) в Haskell: правильное использование
Я читал Real World Haskell и близок к концу, но вопрос стиля не давал мне покончить с операторами (.) и ($) .
Когда вы пишете функцию, которая является композицией других функций, вы пишете ее так:
f = g . h
Но когда вы применяете...
21421 просмотров
schedule
05.05.2022
Ошибка типа Haskell от функционального приложения к функциональной композиции
Этот вопрос связан с этим приложением функции VS Function Composition , на которое ответил antal s-z.
Как это получить?
map has type (a -> b) -> [a] -> [b]
head has type [a] -> a
map head has type [[a]] -> [a]
Почему...
295 просмотров
schedule
13.10.2023
Что мне не хватает: возможна ли композиция функции с несколькими аргументами?
Я понимаю основы композиции функций в F #, как, например, описано здесь .
Возможно, я что-то упускаю. Операторы >> и << , похоже, были определены с предположением, что каждая функция принимает только один аргумент:
>...
1136 просмотров
schedule
09.03.2022
Свертывание, композиция функций, монады и лень, боже мой?
Я озадачен. Я могу написать это:
import Control.Monad
main = print $ head $ (foldr (.) id [f, g]) [3]
where f = (1:)
g = undefined
и выход 1 . Это имеет смысл, потому что это сводится к:
main = print $ head $ ((1:) ....
926 просмотров
schedule
01.06.2022
Haskell: скомпоновать функцию определенного типа с функцией общего типа?
Я быстро написал однострочник в GHCI и попытался составить сумму с картой. Я решил, что причина, по которой это не удалось, заключается в том, что карта дает вывод общего типа [b], тогда как сумма принимает конкретный ввод Num a => [a]. Однако в...
220 просмотров
schedule
10.02.2023
Как объединить два процесса в один?
Просто интересно, есть ли синтаксический ярлык для двух процессов и их объединения, чтобы вывод одного передавался другому, что эквивалентно:
a = ->(x) { x + 1 }
b = ->(x) { x * 10 }
c = ->(x) { b.( a.( x ) ) }
Это может пригодиться...
1971 просмотров
schedule
18.01.2023
Функциональная композиция с многозначными функциями в haskell?
Мне было интересно, можно ли сделать функциональную композицию с функциями, которые принимают более одного аргумента. Я хочу иметь возможность сделать что-то вроде этого
x = (+3).(*)
установив x равным функции, которая прибавляет три к...
3618 просмотров
schedule
22.12.2022
Понимание операторов композиции F#
Я хорошо разбираюсь в использовании операторов >> и << в F#. Однако после просмотра исходного кода F # для более глубокого понимания я запутался с этим:
let inline (>>) f g x = g(f x)
let inline (<<) f g x = f(g x)...
218 просмотров
schedule
09.02.2023
Начало работы с Haskell — создание функции с конструктором данных и монадой ввода-вывода
У меня есть следующее:
import Data.List
data Content
= TaggedContent (String, [String]) String
| Null
processContent :: Content -> IO Content
processContent c@(TaggedContent (id, attrs) text) =
case stripPrefix "include=" a of...
148 просмотров
schedule
12.02.2023
Проблемы с композицией функций в Haskell
Итак... Я написал это, чтобы получить 5 прямоугольников от пользователя:
rectangles <- sequence . take 5 . cycle [getRect]
Но это не работает. Затем я реорганизовал его так, что это сокращение для записи фигурных скобок:
rectangles...
86 просмотров
schedule
27.07.2022
Не функция и композиция функций в F#
Возможно ли, чтобы в F# была композиция функций между Operators.Not и какой-либо стандартной функцией .NET, например String.IsNullOrEmpty ?
Другими словами, почему следующее лямбда-выражение неприемлемо:
(fun x -> not >>...
292 просмотров
schedule
16.03.2022
Как умножить функции в Python?
def sub3(n):
return n - 3
def square(n):
return n * n
Составлять функции на python очень просто:
>>> my_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [square(sub3(n)) for n in my_list]
[9, 4, 1, 0, 1, 4, 9, 16, 25, 36]...
2369 просмотров
schedule
21.08.2022
Clojure: составлять функции с арностью 2 (или выше)
Я обрабатываю данные с переменным количеством функций в зависимости от параметров. Каждая из функций обработки будет получать данные от своего предшественника, обрабатывать их и передавать следующей функции.
(defn example [data]
(do-things-to...
701 просмотров
schedule
21.10.2022
Несколько команд в одной, Matlab
Иногда желательно сделать несколько вызовов в одной команде. Простым примером может быть strrep. Предположим, вы хотите заменить все круглые скобки скобками, все запятые точками, а затем удалить все двойные кавычки. Тогда может потребоваться...
180 просмотров
schedule
27.09.2022
Haskell, как получить сумму всех положительных членов, используя композицию функций?
Мне нужно написать функцию, которая берет все положительные числа из списка Integer, добавляет к каждому 10, а затем суммирует их все, пока не достигнет maxNum.
Я уже написал что-то вроде работы:
ff :: Integer -> [Integer] -> Integer
ff...
836 просмотров
schedule
11.04.2023
Пожалуйста, объясните, как работает функция компоновки в редуксе.
Функция compose в Redux по большей части очень проста. и я понимаю, как его использовать.
export default function compose(...funcs) {
if (funcs.length === 0) {
return arg => arg
}
if (funcs.length === 1) {
return funcs[0]...
433 просмотров
schedule
15.01.2023
Композиция функций в примере Haskell
Предположим, что b - это список строк, и рассмотрим,
map (map (\a -> ((head a), (length a))) . group . sort) (transpose b)
Я знаю, что делает каждая отдельная функция, указанная выше, но мне трудно увидеть, как собирается результат. Как...
936 просмотров
schedule
26.10.2022
Как составить такие функции, как zip-apply-ish
Предположим, у меня есть куча функций арности 2: f: a b -> x , g: c d -> y и т. д. вплоть до унарной функции u: a -> a . То, что я хотел бы сделать, это связать их таким образом:
f(_, g(_, .... z(_, u(_))...)
где внутри _...
84 просмотров
schedule
11.07.2023
Железнодорожное программирование с асинхронными операциями
Ранее задавал аналогичный вопрос, но почему-то я не нахожу выхода, пытаясь снова с другим примером.
Код в качестве отправной точки (немного урезанный) доступен по адресу https://ideone.com/zkQcIU .
(есть проблемы с распознаванием типа...
939 просмотров
schedule
03.04.2023
Рамда: Как нормальное приложение перевести на пайп или сочинить
Это вопрос новичка (я все еще новичок в Ramda и функциональном программировании в целом).
У меня есть функция с двумя аргументами. Для простоты предположим, что он просто вычитает числа. Я хочу перевернуть его аргументы. Я понял, как сделать это...
110 просмотров
schedule
20.03.2023