0
ответов

полиморфизм в haskell - использование нескольких версий одной функции без присвоения ей разных имен

на днях я написал небольшую программу для сбора группы чисел в матрицу - данные Матрица = Матрица [[Int]], начиная с угла - Угол и следование по Пути - [Направление] все три типа ...
вопрос задан: 5 February 2012 16:53
0
ответов

Haskell Typeclass Inspection

Я бы хотели бы использовать haskell для реализации игры и хотели бы использовать систему классов типов для реализации системы элементов. Это будет работать примерно так: data Wood = Wood Int instance Item ...
вопрос задан: 5 February 2012 16:11
0
ответов

Ошибка типа Haskell: Тип: Int, не соответствует: Int

Мне нужно сгенерировать случайное число от 1 до 5, которого еще нет в переданном списке. Вот мой код: questionNumberGenerator :: [Int] -> Int questionNumberGenerator ql = do g <- newStdGen ...
вопрос задан: 5 February 2012 15:34
0
ответов

Могу ли я отключить предупреждение о неполном совпадении шаблонов только для лямбда-выражений?

Могу ли я отключить предупреждение о неполном совпадении шаблонов только для лямбда-выражений? Мне нравится предупреждение в целом, но не для реальных лямбда-литералов, подобных этому: map (\ (x: xs) -> ...) ls Я думаю, что этот код ...
вопрос задан: 5 February 2012 09:35
0
ответов

В чем заключаются точки строгости Haskell?

Все мы знаем (или должны знать), что Haskell по умолчанию является ленивым. Ничего не оценивается до тех пор, пока его не нужно оценивать. Итак, когда нужно что-то оценивать? Есть моменты, в которых Haskell должен быть строгим. Я ...
вопрос задан: 5 February 2012 00:34
0
ответов

Ведут ли себя охраняемые трубы так же, как трубы с использованием await?

Трубы - это действительно элегантная, действительно простая версия итераций. Вы можете очень легко написать код pipe, используя примитивы await и yield. Паоло Каприотти расширил концепцию труб с помощью охраняемых ...
вопрос задан: 4 February 2012 23:43
0
ответов

Функции для различных конструкторов данных

Я начал изучать Haskell неделю назад и столкнулся с одной странной проблемой. Я создал простой тип данных и хочу показать его в консоли. Я создал 2 функции для 2 конструкторов моего типа. Компилятор ...
вопрос задан: 4 February 2012 17:34
0
ответов

Конструкторы типов и константы типов (и переменные типа): В чем разница?

Меня смущает разница между конструкторами типов, константами типов, и тип переменных. В отчете Haskell 98 говорится, что существует 4 типа выражений типов: Переменные типа. Конструкторы типов ...
вопрос задан: 4 February 2012 08:34
0
ответов

Определение полиморфных констант в Haskell

Я читал о полиморфных константах / нулевых полиморфных функциях в Learn You A Haskell. Он дал несколько примеров встроенных, таких как: ghci> 20 :: Float 20.0 ghci> 20 :: Int 20 ...
вопрос задан: 3 February 2012 21:21
0
ответов

Понимание функции bind в Haskell

Я знаком с монадами в теории категорий (на самом деле это очень простая концепция), однако функция >>= в Haskell меня совершенно озадачила. Итак, применение bind к значению M a и функции a -&...
вопрос задан: 3 February 2012 06:54
0
ответов

cabal не может прочитать файл с байтовой строкой cabal с ghc 7.4.1

Я только что обновил GHC 7.2.2 до 7.4.1 на 32-битном Linux. Установка прошла нормально, но cabal-install не понравился: $ cabal update Скачивание последнего списка пакетов с hackage.haskell.org $ cabal ...
вопрос задан: 3 February 2012 04:16
0
ответов

Для чего нужен преобразователь IdentityT?

Просматривая пакет преобразователей, я обнаружил преобразователь монад под названием IdentityT. Хотя я понимаю, как используется монада Identity (например, State - это просто псевдоним для StateT Identity) ...
вопрос задан: 3 February 2012 02:09
0
ответов

Каковы правила одновременного доступа к постоянной базе данных

Похоже, что правила одновременного доступа недокументированы (со стороны Haskell) и просто предполагают, что разработчик знаком с конкретным используемым бэкендом. Для производственных нужд это ...
вопрос задан: 2 February 2012 22:33
0
ответов

Гиперссылки пикши и без предупреждения об избыточном импорте

У меня есть фиктивный модуль в моем проекте, единственная цель которого - хранить документацию по пикше для остальной части библиотеки. На самом деле мне не нужно ничего импортировать в этот модуль, но если я не импортирую ...
вопрос задан: 2 February 2012 14:13
0
ответов

Объясните пустой список импорта Haskell ()

Я видел много строк вроде import HSP .ServerPartT () - список импортов пуст. Зачем это делается? Какая разница в том, что этот модуль просто не импортируется?
вопрос задан: 2 February 2012 12:20
0
ответов

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

Это что-то вроде философского вопроса, но я надеюсь, что на него я ответил официальной документацией или «словом божьим» (прочтите : SPJ). Есть ли какая-то конкретная причина, по которой комитет Haskell решил ...
вопрос задан: 2 February 2012 03:56
0
ответов

Почему в Yesod нет экземпляров ToJSON / FromJSON постоянных типов?

Нетрудно написать экземпляры ToJSON / FromJSON для сгенерированных типов, но все же, пока вы ' повторно генерирующий код, не могли бы вы добавить это? Или есть простой способ сделать это с помощью Yesod ...
вопрос задан: 2 February 2012 02:34
0
ответов

Как показать, что монада является функтором и аппликативным функтором?

Монады известны как теоретически подмножество функторов и, в частности, аппликативных функторов, хотя это не указано в системе типов Haskell. Зная это, учитывая монаду и основываясь на ...
вопрос задан: 1 February 2012 15:12
0
ответов

Замыкания (в Haskell)

Для меня замыкание - это (вложенная?) функция с совместно расположенными данными. Когда вы пишете программу на Haskell и просматриваете ее после, вы часто обнаруживаете закрытия, которые вы создали непреднамеренно. ...
вопрос задан: 1 February 2012 13:42
0
ответов

Различные взаимодействующие уровни состояния в haskell

Я эмулирую 4-битный микропроцессор. Мне нужно отслеживать регистры, память и текущий вывод (бонусные баллы за наличие счетчика циклов выборки-выполнения). Мне это удалось ...
вопрос задан: 1 February 2012 09:19
0
ответов

Автоматический доступ Гамлета к переменным в области видимости

Из Книги Йесод. Гамлет автоматически получает доступ к переменным в области видимости при вызове. Нет необходимости специально передавать переменные. Что это за глубокая магия? Как это может ...
вопрос задан: 1 February 2012 07:10
0
ответов

Можно ли профилировать программу Haskell без библиотек профилей?

Можно ли профилировать программу Haskell по времени без установки библиотек профилирования? Когда я передаю ghc параметр -prof, я всегда получаю такие ошибки: src / MyPKG / FooBlah.lhs: 7: 7: ...
вопрос задан: 31 January 2012 21:00
0
ответов

Реализация класса Show

Предположим, у нас есть следующее: data Foo x from_list :: [x] -> Foo x to_list :: Foo x -> [x] Предположим, я хочу объявить instance (Show x) => Show (Foo x) таким образом, чтобы отображение значения производило ...
вопрос задан: 31 January 2012 15:58
0
ответов

Haskell - sortBy function

У меня есть список векторов. Но теперь я хочу отсортировать этот список векторов по их длине, используя функцию sortBy. У меня уже есть: import Data.List vectorLength: :( Int, Int) -> Float ...
вопрос задан: 31 January 2012 13:42
0
ответов

Типы элементов контейнера

В некотором смысле это шаг назад по сравнению с моим предыдущим вопросом, но... Может кто-нибудь напомнить мне, почему это не работает? class Container c e where empty :: c insert :: e -> c -> c instance Container [x] ...
вопрос задан: 31 January 2012 10:42
0
ответов

Как обойти условие покрытия для функциональных зависимостей без использования -XUndecidableInstances

Когда я использую функциональные зависимости, я часто сталкиваюсь с условием покрытия. Его можно поднять с помощью UndecidableInstances, но я обычно стараюсь держаться подальше от этого расширения. Вот ...
вопрос задан: 31 January 2012 08:19
0
ответов

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

Я рассматриваю возможность преобразования приложения C # в Haskell в качестве своего первого «настоящего» проекта Haskell. Однако я хочу убедиться, что этот проект имеет смысл. Приложение собирает пакеты данных из ~ 15 последовательных потоков ...
вопрос задан: 31 January 2012 00:46
0
ответов

Из-за изменения в моей библиотеке он стал намного медленнее. Профилирование мне не помогает. В чем может быть причина замедления?

Моя проблема. Вкратце я внес изменения в свою библиотеку, теперь она намного медленнее, но я не могу понять, на что она тратит все это дополнительное время. Отчеты профилирования не помогают. Пожалуйста, помогите мне разобраться ...
вопрос задан: 30 January 2012 23:17
0
ответов

Подсчет количества элементов в списке, удовлетворяющих заданному предикату.

Имеется ли в стандартной библиотеке Haskell функция, которая по заданному списку и предикату возвращает количество элементов, удовлетворяющих этому предикату? Что-то вроде типа (a -> Bool) -> [a] -> Int. ...
вопрос задан: 30 January 2012 20:49
0
ответов

не могу найти модули Parsec в GHCi

Я работал над вопросом 67A из 99 вопросов по Haskell. Вопрос заключается в построении дерева из заданной строки: "x(y,a(,b))" => Ветвь 'x' (Ветвь 'y' Пустая Пустая) (Ветвь 'a' Пустая (Ветвь 'b' ...
вопрос задан: 30 January 2012 03:11