Вопросы по теме 'partial-application'

Поддерживает ли Java каррирование?
Мне было интересно, есть ли способ вытащить это на Java. Я думаю, что это невозможно без встроенной поддержки замыканий.
35948 просмотров

Частичное приложение — Eloquent Javascript
Я читаю Eloquent Javascript и мне трудно понять приведенный ниже пример. Кто-нибудь сможет сделать построчное объяснение типа? В частности, я не понимаю, почему первый цикл начинается с единицы и почему метод push используется как для knownArgs, так...
1037 просмотров
schedule 11.05.2023

Получение var vs val из частично примененной функции
Я пытаюсь создать удобную оболочку для вызовов моей базы данных в scala, используя частично примененную функцию: def queryResult[B](connection: Connection, sql: String)(process: (CallableStatement,ResultSet) => B): B = using (connection)...
130 просмотров

Каррирование функции Javascript с произвольным порядком фиксированных параметров
Функции каррирования могут быть полезны: function tag(name, value) { return '<' + name + '>' + value + '</' + name + '>'; } var strong = tag.bind(undefined, "strong"); strong("text"); // <strong>text</strong>...
415 просмотров

Приложение оператора доллара Haskell
У меня проблемы с пониманием того, как приложение-функция работает с каррированием в haskell. Если у меня есть следующая функция: ($) :: (a -> b) -> a -> b Я понимаю, что для частичного применения этой функции мне нужно предоставить...
2164 просмотров

Частичное применение функции с неявным параметром
Могу ли я превратить метод, который принимает неявный параметр, в функцию? trait Tx def foo(bar: Any)(implicit tx: Tx) {} foo _ // error: could not find implicit value for parameter tx: Tx Я пытаюсь добиться следующего, желательно, если я...
3461 просмотров

Есть ли способ написать этот код Haskell в Scala?
Я изучаю несколько языков функционального программирования, изучаю интересные вещи и сейчас присматриваюсь к Scala. Я пытаюсь найти самый простой способ написать функцию с именем double , которая принимает один аргумент и удваивает его. Что я...
170 просмотров
schedule 07.06.2022

Каков механизм, с помощью которого функции с несколькими списками параметров могут (иногда) использоваться с меньшим количеством параметров, чем требуется?
Позвольте мне представить этот вопрос в качестве примера. Это было взято из лекции 2.3 курса Мартина Одерского по функциональному программированию. У меня есть функция для итеративного поиска фиксированных точек, например object fixed_points...
65 просмотров

Понимание типовой проекции
Взято из typelevel/kind-projector , в чем разница между: // partially-applied type named "IntOrA" type IntOrA[A] = Either[Int, A] и // type projection implementing the same type anonymously (without a name). ({type L[A] = Either[Int,...
112 просмотров

Каррирование функции с переменным числом аргументов в JavaScript
Я пытаюсь написать функцию sum , которая принимает любое количество аргументов (с переменным числом аргументов), а также каррируется. Пример использования: sum(5)(8)(3) // 5 + 8 + 3 = 16 sum(2)(1)(1)(5)(3)(2)...
56 просмотров

Взаимозаменяемы ли в Haskell концепции частичного применения и каррирования?
В некоторых функциональных языках частично применяемые функции и каррированные функции - это две похожие, но разные концепции. Читая книгу Learn You a Haskell for Good Good , автор, похоже, применяет эти взаимозаменяемо. [Каррированные...
311 просмотров
schedule 28.04.2024

Есть ли хороший способ частично связать параметры класса в Python?
Вот что я делаю сейчас: @memoized def reversed_matching(matching_cls): class ReversedMatching(ReversedSequenceMatching): def __init__(self, *args, **kwargs): super().__init__(matching_cls, *args, **kwargs) return...
1059 просмотров
schedule 21.12.2022

Невозможно понять результат вызова функции высокого порядка с не частично примененной функцией в качестве аргумента
У меня есть объявление функции высокого порядка, чтобы дважды применить функцию, заданную в качестве аргумента: twice :: (a -> a) -> a -> a twice f x = f (f x) Путаница возникает из-за этого сеанса GHCi: *Main> let _4 = twice...
116 просмотров

Приложение частичной функции Haskell с $
Я новичок в Haskell и смотрю на простой пример использования приложения-функции с $ . Это кажется простым — он берет функцию и применяет ее к значению. Так что это имеет смысл: > (+3) $ 2 5 Это также имеет смысл: > ($) (+3)...
116 просмотров

Частично примененный тип лямбда в Scala с добрым проектором
Рассмотрим следующее определение типа: trait LiftF[F[_], G[_]] { def liftF[A](fa: F[A]): G[A] } При предоставлении требования для имплицита этого типа в границах контекста (используя плагин Kind Projector) мы должны написать это так:...
258 просмотров

Использование бесточечного стиля для частей определения функции
Учитывая эту функцию (кстати, должен ли я сказать, что она определяется по регистрам ? Как я могу ссылаться на функции, определенные таким образом?), f :: Int -> Int -> Int f 0 x = x f x _ = x Я блуждаю, в чем причина, если она...
43 просмотров