0
ответов

Функции второго порядка в GLSL?

Я ищу способ использовать функцию в качестве аргумента другой функции в GLSL. В обычном C это можно смоделировать, передавая указатель функции в качестве аргумента функции. Также кажется, что другие ...
вопрос задан: 29 February 2012 15:41
0
ответов

Программирование высшего порядка с использованием Boost :: Python

Итак, у меня есть простая библиотека событий, написанная на C ++ и использующая библиотеки Boost. Я хотел открыть указанную библиотеку для Python, поэтому, естественно, я обратился к Boost :: Python. У меня есть код для компиляции ...
вопрос задан: 27 February 2012 21:55
0
ответов

Полиморфизм строк в Haskell: проблемы написания Forth DSL с "трансформациями"

Недавняя активность в блоге Haskell1 вдохновила меня попробовать свои силы в написании Forth-подобного DSL на Haskell. Принятый мной подход одновременно прост и запутан: {-# LANGUAGE ...
вопрос задан: 18 February 2012 02:25
0
ответов

Подъем функции высшего порядка в Haskell

Я пытаюсь создать функцию типа: liftSumthing :: ((a -> mb) -> mb) -> (a -> tmb) -> tmb, где t - преобразователь монад. В частности, меня интересует следующее: ...
вопрос задан: 11 February 2012 19:11
0
ответов

Какие интересные применения функций высшего порядка?

В настоящее время я изучаю курс функционального программирования, и меня очень забавляет концепция функций и функций высшего порядка как граждане первого класса. Однако я пока не могу думать о многих практически ...
вопрос задан: 6 February 2012 21:40
0
ответов

Выражение лямбда-исчисления, реализующее применение функции

Я только что нашел следующее выражение лямбда-исчисления: (((λ f . (λ x . (f x)))) (λ a . a)) (λ b . b)) То есть это функция, которая принимает аргумент f и возвращает другую функцию, которая принимает аргумент ...
вопрос задан: 1 February 2012 11:01
0
ответов

Функции высшего порядка против циклов - время работы и эффективность памяти?

Использование функций высшего порядка и лямбд улучшает или ухудшает время работы и эффективность памяти? Например, чтобы перемножить все числа в списке : nums = [1,2,3,4,5] prod = 1 for n in nums: ...
вопрос задан: 28 January 2012 02:32
0
ответов

Преобразование списка в map of element -> list(element) в scala

У меня есть список документов, где у документа есть владелец, которым является пользователь. Каков наиболее элегантный способ преобразования этого списка в карту пользователей к списку документов, которыми они владеют? Итак, для ...
вопрос задан: 30 December 2011 03:17
0
ответов

Автоматическое и детерминированное тестирование функции на ассоциативность, коммутативность и т.д.

Можно ли построить функцию более высокого порядка isAssociative, которая принимает другую функцию двух аргументов и определяет, является ли эта функция ассоциативной? Аналогичный вопрос, но для других ...
вопрос задан: 28 December 2011 06:20
0
ответов

Можно ли считать Java MethodHandles тем же, что и функции первого класса?

Java Method Class и Java 7's MethodHandle Class оба относятся к объектам, которые связаны с методами, но все же они редко используются, и когда функцию нужно передать другой, это ...
вопрос задан: 13 December 2011 13:56
0
ответов

JavaScript reduce не может обрабатывать математические функции?

Я пытаюсь решить очевидную задачу: var maxVal = [1, 2, 3, 4, 5] .reduce ( Math.max, 0); и в результате получаем: NaN. Чтобы она работала, мне нужно сделать анонимную функцию таким образом: var maxVal = [1, 2, 3 ,...
вопрос задан: 14 October 2011 13:01
0
ответов

Использование конструктора с ожидаемой функцией

Имея два простых класса, принимающих Int в качестве аргумента: case class Foo (i: Int) class Bar (j: Int), я могу сказать: List (1,2,3) map Foo Что отлично работает и эквивалентно более подробному: List (1, ...
вопрос задан: 8 October 2011 07:53
0
ответов

многократное применение функции до тех пор, пока результат не станет стабильным

Я хочу многократное применение функции simplify' до тех пор, пока результат не станет "стабильным" (т.е. simplify'(x) == x): simplify :: Expr -> Expr simplify expr = let iterations = iterate simplify' expr ...
вопрос задан: 16 September 2011 10:13
0
ответов

Когда лямбда-формы необходимы в Haskell?

Я новичок в Haskell и относительный новичок в функциональном программировании. В других (помимо Haskell) языках лямбда-формы часто очень полезны. Например, в схеме Scheme: (define (производное-ок) ...
вопрос задан: 18 August 2011 22:23
0
ответов

Неуверенный в том, как создать полезную библиотеку с использованием комбинаторов

Я читал о комбинаторах и видел, насколько они полезны (например, в Parsec Haskell). Моя проблема в том, что я не совсем уверен, как их использовать на практике. Вот краткое описание ...
вопрос задан: 16 August 2011 19:07
0
ответов

Полиморфизм в функциях высшего порядка?

у меня есть алгебраический тип данных с некоторыми конструкторами, которые держат сопоставимые значения и некоторых конструкторов, которые не делают. Я записал некоторые функции сравнения, которые работают как стандарт (==) и (/=)...
вопрос задан: 15 August 2011 03:44
0
ответов

Блокировка интернированной строки?

Обновление: допустимо, если этот метод не является потокобезопасным, но мне интересно узнать как бы сделать его потокобезопасным. Кроме того, я не хочу блокировать один объект для всех значений ключа, если я ...
вопрос задан: 10 August 2011 12:06
0
ответов

Почему fold имеет следующий тип в Scala?

Я искал способ определения fold для неизменяемого объекта. Set: def fold [A1>: A] (z: A1) (op: (A1, A1) ⇒ A1): A1, но foldLeft определяется как: def foldLeft [B] (z: B) (op: (B, A) ⇒ B): B Это выглядит. ..
вопрос задан: 9 August 2011 17:18
0
ответов

Calling Clojure higher-order functions

If I define a function that returns a function like this: (defn add-n [n] (fn [x] (+ x n))) I can then assign the result to a symbol: (def add-1 (add-n 1)) and call it: (add-1 41) ;=> 42 ...
вопрос задан: 15 May 2011 13:49
0
ответов

Обратное каррирование?

I ' Мне нравится составлять функции определенным образом. Пожалуйста, рассмотрите эти 2 функции в псевдокоде (не F #) F1 = x + y F2 = F1 * 10 // обратите внимание, что я не указывал аргументы для F1, 'обратное карри' из-за отсутствия ...
вопрос задан: 5 May 2011 08:40
0
ответов

карта для хешей в Perl

Есть ли хеш-эквивалент для map? мой% new_hash = hash_map {new_key ($ a) => new_val ($ b)}% hash; Я знаю, что могу перебирать ключи.
вопрос задан: 24 April 2011 07:46
0
ответов

Полиморфизм высшего порядка + типы значений

I ' Мы где-то читали, что полиморфизм более высокого порядка нельзя использовать / реализовать в системах типов с типами значений (например, .NET). Это правильно и почему?
вопрос задан: 5 April 2011 19:40
0
ответов

Erlang: можно ли написать минимальную функцию в виде свертки списка?

Дана функция: min (A, B), когда A = А; min (_A, B) -> B. Могу ли я использовать это в функции foldlin аналогичным образом: списки: foldl (fun min / 2, 0, [1,2,3,4,5,6,7, 8,9, ...
вопрос задан: 2 March 2011 15:26
0
ответов

Как суммировать поля элементов коллекции без их предварительного сопоставления (например, foldLeft / reduceLeft)?

Рассмотрим этот класс: case class Person (val firstName: String, val lastName: String, age: Int) val people = Person ("Jane", "Doe", 42) :: Person ("John", "Doe", 45) :: Person ("Joe", "...
вопрос задан: 21 February 2011 09:45
0
ответов

type of high order functions

if I specify the (I think) correct type for a high order function the OCaml compiler rejects the second usage of that function. The code let foo ():string = let f: ('a -> string) -> 'a -> ...
вопрос задан: 14 December 2010 20:34
0
ответов

fold_tree в OCaml

Как Вы, возможно, знаете, в OCaml есть функции более высокого порядка, такие как fold_left, fold_right, filter и т.д. На моем курсе функционального программирования была введена функция с именем fold_tree, которая ...
вопрос задан: 15 November 2010 22:32
0
ответов

Как мы называем эту (новую?) Функцию высшего порядка?

Я пытаюсь назвать то, что я считаю новым идея функции высшего порядка. Важная часть - это код на Python и Haskell, демонстрирующий концепцию, которая будет объяснена позже. ...
вопрос задан: 13 October 2010 19:25
0
ответов

«фильтровать» функцию высшего порядка в C ++

Имеет ли стандартная библиотека C ++ и / или Boost что-то похожее на функцию фильтра, обнаруженную в функциональных языках? Самая близкая функция, которую я мог найти, была std :: remove_copy_if, но, похоже, она делает ...
вопрос задан: 3 September 2010 14:45