0
ответов

Работа с шаблонами в Haskell

Это довольно сложный вопрос, но в следующем коде много повторений в разделе, помеченном как "шифры Цезаря". Что такое "Haskell" способ справиться с этим? Должен ли я сделать более высокий...
вопрос задан: 2 April 2012 00:36
0
ответов

Как глубоко понять схему потока сигналов, описанную в SICP?

SICP Глава 3.5.3 http://mitpress.mit.edu/sicp/full-text/book/book-ZH-24.html#%_sec_3.5.3 В разделе «Потоки как сигналы» SICP дает аудиовизуальное объяснение неявного стиля определения — по ...
вопрос задан: 1 April 2012 16:18
0
ответов

Безопасное приложение на Haskell

У меня есть фрагмент кода, в котором внутри монады списка применяется функция. Функция потенциально может иметь неполное сопоставление с образцом для своих аргументов. Поэтому, когда функция применяется, я...
вопрос задан: 1 April 2012 15:49
0
ответов

как перевести Haskell на Scalaz?

Мы с одним из моих старшеклассников собираемся портировать библиотеку комбинаторов синтаксических анализаторов Parsec для Haskell на Scala. (У него есть то преимущество перед встроенной-библиотекой синтаксического анализа Scala, что вы можете...
вопрос задан: 1 April 2012 14:21
0
ответов

Стандартный способ соединения двух Data.Text без `mappend`

Я слышал, что Data.Text заменит String в будущих версиях Haskell. Одна проблема, с которой я столкнулся, заключается в том, что (++) определен только для списков. Чтобы объединить два текста, мне нужно использовать text1 `...
вопрос задан: 1 April 2012 08:41
0
ответов

Использование функции a → b в качестве «монадической» функции a → mb

В настоящее время я играю с основами Haskell и наткнулся на следующий «вариант использования»: ghci> давайте разделимTenBy x | х == 0 = Ничего | в противном случае = Просто (10 / x) ghci> let составил = ...
вопрос задан: 1 April 2012 03:26
0
ответов

Групповые значения подсписка на основе эквивалентных сумм с помощью Haskell

I' Я пытался изучить Haskell, и я пытался создать функцию, которая берет список списков и группирует подсписок по эквивалентным суммам. Это не домашнее задание. импортировать Data.List let x = [[1,2],[2,1],[5,...
вопрос задан: 31 March 2012 16:31
0
ответов

Требуется ли для Haskell сборщик мусора?

Мне любопытно, почему реализации Haskell используют сборщик мусора. Я не могу представить себе случая, когда GC был бы необходим на чистом языке. Это просто оптимизация для уменьшения копирования, или это на самом деле...
вопрос задан: 31 March 2012 03:24
0
ответов

Создание пользовательского преобразователя монад экземпляром MonadError

монада является экземпляром. По сути, я хочу, чтобы мой преобразователь вел себя, например, как встроенные преобразователи...
вопрос задан: 30 March 2012 22:58
0
ответов

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

Я определил тип данных Expr = Const Double | Добавить Выражение Выражение | Sub Expr Expr и объявил его как экземпляр Eq typeclass:instance Eq Expr где (Добавить (Const a1)(Const a2))==...
вопрос задан: 30 March 2012 19:42
0
ответов

В каких языках абстракция функций не является примитивной

В Haskell задан тип функции (->), это не конструктор алгебраического типа данных, и его нельзя пере-реализовать, чтобы он был идентичен (-]>). Поэтому мне интересно, какие языки позволят мне писать мои...
вопрос задан: 30 March 2012 14:21
0
ответов

Функциональные линзы

Кто-нибудь может объяснить мне функциональные линзы? Это удивительно сложная тема для Google, и я не добился никакого прогресса. Все, что я знаю, это то, что они предоставляют такие же функции получения / установки, как ...
вопрос задан: 30 March 2012 06:36
0
ответов

Прагма INLINE в сочетании с классами типов

Учитывая следующий код (, скопированный из библиотеки attoparsec), что делает прагма inline? Я предполагаю, что имеет смысл встраивать только fmapR, но не другие fmaps, которые определены в других...
вопрос задан: 28 March 2012 20:37
0
ответов

Умножение сложного двойника на двойник в Haskell

Я был немного удивлен, когда следующий код не компилировался: -- Код 1 импорт Комплекс тип Velocity = сложный двойной тип Сила = Сложный Двойной type FrictionCoeff = Double FrictionForce :: ...
вопрос задан: 28 March 2012 11:56
0
ответов

Равенство функций в Haskell

Я пытаюсь определить функцию, которая будет принимать функцию Double -> Double и возвращать ее математическую производную. Я пытался сделать следующее :der::(Double -> Double)-> (Double -&...
вопрос задан: 28 March 2012 11:33
0
ответов

Путаница в отношении отрывка в разделе «Виды и некоторый тип-foo» на сайте learnyouahaskell.com

Я новичок в Haskell, который работает над замечательным «Learn You A Haskell For Great Good». Этот вопрос связан с отрывком в разделе под названием «Виды и некоторый тип-foo» в главе 8. ...
вопрос задан: 28 March 2012 08:56
0
ответов

Почему writeSTRef быстрее выражения if?

writeSTRef дважды для каждой итерации fib3 ::Int -> Integer fib3 n = runST $ do a < -newSTRef 1 b < -newSTRef 1 replicaM_(n -1 )$ do !a' < -readSTRef a !b' &...
вопрос задан: 27 March 2012 05:24
0
ответов

Обнимаю!! Частичная ошибка приложения

У Hugs, похоже, есть проблема с несколькими незашифрованными !! в частичном приложении. В то время как это отлично работает в GHCi: ([[0]]!!0!!)0 Hugs сообщает о синтаксической ошибке для ). Это ошибка в Hugs? ...
вопрос задан: 26 March 2012 14:39
0
ответов

Существует ли монадическая версия Arbitrary для использования с QuickCheck?

Когда я хочу протестировать чистый код с помощью QuickCheck, мне часто приходится писать экземпляр Arbitrary. Чтобы протестировать монадический код, я могу использовать Test.QuickCheck.Monadic, как описано в этой статье. Мой вопрос: Является ли ...
вопрос задан: 25 March 2012 22:12
0
ответов

Использование символа до его определения

Как получилось, что в строке ниже в правой части уравнения можно было использовать символ «fibs», хотя он еще не определен: пусть fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
вопрос задан: 25 March 2012 21:14
0
ответов

Что делает этот комбинатор: s (sk)

Теперь я понимаю сигнатуру типа s (sk): s (sk) :: ((t1 -> t2) -> t1) -> (t1 - > t2) -> t1 И я могу создать примеры, которые работают без ошибок в инструменте Haskell WinGHCi: ...
вопрос задан: 25 March 2012 16:16
0
ответов

Генерировать файл Кабала с зависимостями от внешних библиотек

Возможно ли автоматически генерировать файл Кабала для данного проекта Haskell, который создаст соответствующую сборку зависит зависимости для всех библиотек, которые использует проект?
вопрос задан: 25 March 2012 03:00
0
ответов

Создание разделяемых библиотек Haskell в OS X

Я пытаюсь создать разделяемую библиотеку из исходного кода Haskell. Я пробовал следовать инструкции здесь: http://weblog.haskell.cz/pivnik/building-a-shared-library-in-haskell/, но я просто не...
вопрос задан: 24 March 2012 23:17
0
ответов

Как работает это определение ArrowLoop.loop?

Экземпляр функции для ArrowLoop содержит цикл :: ((b,d) -> (c,d)) -> (b -> c) петля f b = пусть (c,d) = f (b,d) в c Во-первых, у меня проблема с подписью: как мы можем получить b -&...
вопрос задан: 24 March 2012 22:48
0
ответов

Haskell: ненужный двоичный рост с импортом модулей

Когда я импортирую (большой) модуль в основной модуль одним из следующих способов: import Mymodule импортировать квалифицированный Mymodule как M import Mymodule (MyDatatype) скомпилированный двоичный файл становится таким же огромным ...
вопрос задан: 24 March 2012 21:41
0
ответов

Может ли FFI работать с массивами? Если да, то как?

Я почти уверен, что можно отправлять массивы через FFI, но я не могу найти никаких примеров. Например, у меня есть массив Haskell, который я отправляю в функцию int foo(int*), или у меня есть массив C int bar[...
вопрос задан: 24 March 2012 19:26
0
ответов

Подключить новый метод FFI в GHC

Есть ли способ подключить функцию Haskell типа myFFI :: (C a) => String -> IO a (где C это некоторый класс типов, описывающий типы переменных, которые я могу импортировать) в GHC как схему FFI, чтобы...
вопрос задан: 24 March 2012 16:38
0
ответов

Ошибка синтаксического анализа при вводе 'else' в операторе If-Then-Let-Else (Haskell)

Эта часть кода проверяет, является ли заданное число (Первый элемент в списке) нулевым (да, я пытался == 0, но получил другие ошибки) Затем он возвращает все элементы другого списка, кроме первого. Если нет, то это...
вопрос задан: 23 March 2012 19:06
0
ответов

Haskell Печатать во время рекурсии?

foo:: Int -> Int -> Int foo zx = if (z < 100) then z * foo (z+(x*z)) z else z Как бы вы выводили (целое число z) вывод каждый раз, когда он вызывается из ...
вопрос задан: 23 March 2012 16:15
0
ответов

Haskell: «Чтение» ByteString

Как мне преобразовать представление ByteString для Integer в… ну, Integer? Есть ли специальная функция чтения для ByteStrings или мне нужно сначала распаковать, чем использовать обычное чтение? Спасибо.
вопрос задан: 23 March 2012 11:13