0
ответов

Цель одиночного назначения

Сейчас я пытаюсь освоить Erlang. Это первый функциональный язык программирования, который я изучил, и я заметил, что в Erlang каждое задание, которое вы выполняете, является отдельным заданием. И, видимо,...
вопрос задан: 29 June 2012 03:21
0
ответов

«Нет экземпляра для (Ord k )» при реализации Functor над Data.Map.Map

Я пытаюсь реализовать Functor fmap поверх Data.Map.Map, но получаю сообщение об ошибке. Я уверен, что мне не нужно преобразовывать карту в список и обратно, чтобы это заработало, но это...
вопрос задан: 29 June 2012 03:21
0
ответов

Что такое список каррированных языков программирования?

Я только что узнал из другого вопроса, что Haskell называется каррированным языком программирования, потому что он по умолчанию применяет каррирование функций. Какие другие языки отображают такое поведение?
вопрос задан: 27 June 2012 02:54
0
ответов

Shapeless : Предвар. Неявное не найдено

Я пытаюсь использовать shapeless для простого накопления объектов безопасным способом. Проблема в том, что я хочу объединить (:::) два HList. Я столкнулся с проблемой новичка (по крайней мере, кажется). Он пропускает...
вопрос задан: 26 June 2012 12:40
0
ответов

Как сделать этот фрагмент кода на Haskell более кратким?

В качестве практики я пытаюсь написать симуляцию для игры в казино "Война" на Haskell. http://en.wikipedia.org/wiki/Casino_war Это очень простая игра с несколькими правилами. В противном случае это было бы очень...
вопрос задан: 18 June 2012 03:04
0
ответов

Как проверить параметры функциональным способом?

Я пишу приложение Scala/Play 2.0 и хочу, чтобы мой код возвращал разные страницы в зависимости от запроса. Вот мой код: // Проверка клиента и возврат временных учетных данных def requestToken = ...
вопрос задан: 15 June 2012 07:05
0
ответов

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

У меня есть следующая функция высшего порядка: public static Func Not< T>(Func otherFunc) { return arg => !otherFunc(arg); } И пытаюсь назвать это так: ...
вопрос задан: 12 June 2012 17:28
0
ответов

Какие алгоритмы сложно реализовать на функциональных языках?

Я балуюсь функциональными языками и обнаружил, что некоторые алгоритмы (особенно те, которые используют динамическое программирование) труднее писать, а иногда и менее эффективны в худшем случае времени выполнения. Есть ли ...
вопрос задан: 12 June 2012 06:32
0
ответов

Существуют ли какие-либо доказуемые языки реального мира? (scala?)

В университете меня учили формальным системам, но я был разочарован тем, что они, казалось, не использовались в настоящем слове. Мне нравится идея знать, что какой-то код (объект, функция, ...
вопрос задан: 9 June 2012 22:31
0
ответов

Как написать эффективные алгоритмы динамического программирования на Haskell?

Я экспериментировал с динамическим программированием на Haskell. Практически в каждом руководстве по этому предмету, которое я видел, приводится один и тот же очень элегантный алгоритм, основанный на запоминании и лени...
вопрос задан: 6 June 2012 19:00
0
ответов

Когда императивный стиль подходит лучше?

Из «Программирования на Scala» (второе издание ), внизу стр.98: Сбалансированное отношение к Scala-программистам. Предпочитайте валы, неизменяемые объекты и методы без побочных эффектов. Достигните ...
вопрос задан: 5 June 2012 17:40
0
ответов

Написание большого проекта с использованием языка программирования J [закрыто]

Раскрытие информации Это «общий» вопрос, возможно, без конкретного ответа, но он не предназначен для флейма. Мне бы очень хотелось получить некоторую информацию, прежде чем приступить к моему проекту. Я должен...
вопрос задан: 5 June 2012 01:45
0
ответов

Объединение предикатов в F#

Существует ли стандартный способ логического объединения предикатов в F#? Например, предположим, что у меня есть isCar x и isBlue x, тогда я хочу что-то, что даст мне: let isBlueCar x = isCar x && isBlue x ...
вопрос задан: 1 June 2012 16:31
0
ответов

Могу ли я использовать преобразователи монад, чтобы упростить эту композицию?

Предположим, у меня есть тип VS[A] = Validation[String, A] val v: VS[Option[A]] val f: A => VS[B] Я хочу получить результат типа VS[Option[B]], но если v имеет значение Success(None), результат также должен быть ...
вопрос задан: 1 June 2012 16:08
0
ответов

Scala: развернуть список кортежей в список аргументов кортежей переменной длины

Я не понимаю, как развернуть список/последовательность/массив в список аргументов переменной длины. Учитывая, что у меня есть функция test_func, принимающая кортежи: scala> def test_func(t:Tuple2[String,String]*) = println("...
вопрос задан: 1 June 2012 00:07
0
ответов

Как справиться с этим циклом jquery?

У меня есть массив изображений, которые я хочу перебирать бесконечно, т.е. 1, 2, 3, 1, 2, 3... Сначала я пытался сделать это с помощью следующего кода: var images = [ "/images/image1.jpg", "/images/...
вопрос задан: 30 May 2012 21:57
0
ответов

Либо эквивалентно проверенным исключениям?

Начав со Scala и читая о Либо, я, естественно, сравниваю новые концепции с чем-то, что я знаю (в данном случае из Java). Есть ли отличия от концепции проверенных исключений и Либо?...
вопрос задан: 30 May 2012 14:33
0
ответов

Каковы хорошие примеры: «работа программы должна отображать входные значения в выходные значения, а не изменять данные на месте»

Я столкнулся с этим предложением в Scala, объясняя его функциональное поведение. Работа программы должна отображать входные значения в выходные значения, а не изменять данные на месте. Может ли кто-нибудь...
вопрос задан: 28 May 2012 16:16
0
ответов

"функции являются значениями первого класса" что это точно означает?

Может ли кто-нибудь ясно объяснить это на каком-нибудь хорошем примере. Я наткнулся на это утверждение в Scala, при объяснении функционального программирования.
вопрос задан: 27 May 2012 21:12
0
ответов

Как написать моноидный протокол в Clojure?

Следующее не работает по понятным причинам. (defprotocol Monoid (mappend [ab]) (mzero [])) mzero имеет нулевые аргументы, а методы с нулевыми аргументами не разрешены (или не имеют смысла) в ...
вопрос задан: 26 May 2012 05:05
0
ответов

Промежуточное представление для Lisp/Clojure DSL

Я разрабатываю DSL в Clojure, который используется для управления генератором кода (, в данном случае для процедурного синтеза изображений -clisk ), и у меня возникли проблемы с поиском наилучшего представления для промежуточного...
вопрос задан: 26 May 2012 02:46
0
ответов

Почему я должен использовать аппликативные функторы в функциональном программировании?

Я новичок в Haskell, и я читаю о функторах и аппликативных функторах. Хорошо, я понимаю функторы и как я могу их использовать, но я не понимаю, почему аппликативные функторы полезны и как я могу ...
вопрос задан: 24 May 2012 22:51
0
ответов

Пример теоремы Черча-Россера на языке функционального программирования

Я видел множество ссылок на теорему Черча-Россера и, в частности, на диаграмму свойств ромба, изучая функциональное программирование, но я не наткнулся на хороший пример кода. Если...
вопрос задан: 23 May 2012 22:56
0
ответов

Агенты на Haskell или на функциональных языках?

Я разрабатываю структуру мультиагентной системы (MAS) для описания агентов убеждений-желаний-намерений (BDI) в Haskell (т. е. агенты являются параллельными, обменивающимися монадическими действиями). Я искал в Интернете...
вопрос задан: 23 May 2012 22:53
0
ответов

Что такое одноуровневая функция выравнивания последовательности в Clojure?

Что такое одноуровневая функция выравнивания последовательности в Clojure? Сейчас я использую apply concat, но мне интересно, есть ли для этого встроенная функция либо в стандартной библиотеке, либо в clojure-contrib.
вопрос задан: 23 May 2012 15:43
0
ответов

эффективная функциональная структура данных для конечных биекций

Я ищу функциональную структуру данных, которая представляет конечные биекции между двумя типами, эффективную по пространству и времени. Например, я был бы счастлив, если бы, рассматривая биекцию f...
вопрос задан: 22 May 2012 14:58
0
ответов

Почему создание исключения является побочным эффектом?

Согласно статье в Википедии о побочном эффекте, возбуждение исключения представляет собой побочный эффект. Рассмотрим эту простую функцию Python: def foo(arg): если не arg: поднять ValueError('arg ...
вопрос задан: 22 May 2012 13:43
0
ответов

Преобразование функции для использования хвостовой рекурсии — формальное исследование

Кто-нибудь написал официальную статью, описывающую метод (автоматического) преобразования функций в хвостовую рекурсию? Я ищу формальную обработку университетского уровня, включая ограничения (типы...
вопрос задан: 22 May 2012 11:57
0
ответов

Проверить, имеет ли массив объектов ключевое значение, используя подчеркивание

Как проверить, имеет ли массив объектов ключевое значение, используя подчеркивание. Пример: var objects = [ {id:1, name:'foo'}, {id:2, name:'bar'} ] check(objects, {name: foo}) // true Думаю, так и должно быть ...
вопрос задан: 22 May 2012 10:11
0
ответов

Определение частичных функций с уменьшенной арностью

Иногда мне кажется удобным в Clojure определять версии функций с уменьшенной арностью, которые возвращают частичную функцию, например (defn prefix ([pre string] (str pre ":" string)) ([pre] ...
вопрос задан: 21 May 2012 02:07