Это довольно сложный вопрос, но в следующем коде много повторений в разделе, помеченном как "шифры Цезаря". Что такое "Haskell" способ справиться с этим? Должен ли я сделать более высокий...
SICP Глава 3.5.3
http://mitpress.mit.edu/sicp/full-text/book/book-ZH-24.html#%_sec_3.5.3 В разделе «Потоки как сигналы» SICP дает аудиовизуальное объяснение неявного стиля определения — по ...
У меня есть фрагмент кода, в котором внутри монады списка применяется функция. Функция потенциально может иметь неполное сопоставление с образцом для своих аргументов. Поэтому, когда функция применяется, я...
Мы с одним из моих старшеклассников собираемся портировать библиотеку комбинаторов синтаксических анализаторов Parsec для Haskell на Scala. (У него есть то преимущество перед встроенной-библиотекой синтаксического анализа Scala, что вы можете...
Я слышал, что Data.Text заменит String в будущих версиях Haskell. Одна проблема, с которой я столкнулся, заключается в том, что (++) определен только для списков. Чтобы объединить два текста, мне нужно использовать text1 `...
В настоящее время я играю с основами Haskell и наткнулся на следующий «вариант использования»: ghci> давайте разделимTenBy x | х == 0 = Ничего | в противном случае = Просто (10 / x)
ghci> let составил = ...
I' Я пытался изучить Haskell, и я пытался создать функцию, которая берет список списков и группирует подсписок по эквивалентным суммам. Это не домашнее задание. импортировать Data.List
let x = [[1,2],[2,1],[5,...
Мне любопытно, почему реализации Haskell используют сборщик мусора. Я не могу представить себе случая, когда GC был бы необходим на чистом языке. Это просто оптимизация для уменьшения копирования, или это на самом деле...
Я определил тип данных Expr = Const Double | Добавить Выражение Выражение | Sub Expr Expr и объявил его как экземпляр Eq typeclass:instance Eq Expr где (Добавить (Const a1)(Const a2))==...
В Haskell задан тип функции (->), это не конструктор алгебраического типа данных, и его нельзя пере-реализовать, чтобы он был идентичен (-]>). Поэтому мне интересно, какие языки позволят мне писать мои...
Кто-нибудь может объяснить мне функциональные линзы? Это удивительно сложная тема для Google, и я не добился никакого прогресса. Все, что я знаю, это то, что они предоставляют такие же функции получения / установки, как ...
Учитывая следующий код (, скопированный из библиотеки attoparsec), что делает прагма inline? Я предполагаю, что имеет смысл встраивать только fmapR, но не другие fmaps, которые определены в других...
Я был немного удивлен, когда следующий код не компилировался: -- Код 1
импорт Комплекс
тип Velocity = сложный двойной
тип Сила = Сложный Двойной
type FrictionCoeff = Double FrictionForce :: ...
Я пытаюсь определить функцию, которая будет принимать функцию Double -> Double и возвращать ее математическую производную. Я пытался сделать следующее :der::(Double -> Double)-> (Double -&...
Я новичок в Haskell, который работает над замечательным «Learn You A Haskell For Great Good». Этот вопрос связан с отрывком в разделе под названием «Виды и некоторый тип-foo» в главе 8. ...
writeSTRef дважды для каждой итерации fib3 ::Int -> Integer fib3 n = runST $ do a < -newSTRef 1 b < -newSTRef 1 replicaM_(n -1 )$ do !a' < -readSTRef a !b' &...
У Hugs, похоже, есть проблема с несколькими незашифрованными !! в частичном приложении. В то время как это отлично работает в GHCi: ([[0]]!!0!!)0 Hugs сообщает о синтаксической ошибке для ). Это ошибка в Hugs? ...
Когда я хочу протестировать чистый код с помощью QuickCheck, мне часто приходится писать экземпляр Arbitrary. Чтобы протестировать монадический код, я могу использовать Test.QuickCheck.Monadic, как описано в этой статье. Мой вопрос: Является ли ...
Как получилось, что в строке ниже в правой части уравнения можно было использовать символ «fibs», хотя он еще не определен: пусть fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
Теперь я понимаю сигнатуру типа s (sk): s (sk) :: ((t1 -> t2) -> t1) -> (t1 - > t2) -> t1 И я могу создать примеры, которые работают без ошибок в инструменте Haskell WinGHCi: ...
Возможно ли автоматически генерировать файл Кабала для данного проекта Haskell, который создаст соответствующую сборку зависит зависимости для всех библиотек, которые использует проект?
Я пытаюсь создать разделяемую библиотеку из исходного кода Haskell. Я пробовал следовать инструкции здесь: http://weblog.haskell.cz/pivnik/building-a-shared-library-in-haskell/, но я просто не...
Экземпляр функции для ArrowLoop содержит цикл :: ((b,d) -> (c,d)) -> (b -> c)
петля f b = пусть (c,d) = f (b,d) в c Во-первых, у меня проблема с подписью: как мы можем получить b -&...
Когда я импортирую (большой) модуль в основной модуль одним из следующих способов: import Mymodule
импортировать квалифицированный Mymodule как M
import Mymodule (MyDatatype) скомпилированный двоичный файл становится таким же огромным ...
Я почти уверен, что можно отправлять массивы через FFI, но я не могу найти никаких примеров. Например, у меня есть массив Haskell, который я отправляю в функцию int foo(int*), или у меня есть массив C int bar[...
Есть ли способ подключить функцию Haskell типа myFFI :: (C a) => String -> IO a (где C это некоторый класс типов, описывающий типы переменных, которые я могу импортировать) в GHC как схему FFI, чтобы...
Эта часть кода проверяет, является ли заданное число (Первый элемент в списке) нулевым (да, я пытался == 0, но получил другие ошибки) Затем он возвращает все элементы другого списка, кроме первого. Если нет, то это...
foo:: Int -> Int -> Int
foo zx = if (z < 100) then z * foo (z+(x*z)) z else z Как бы вы выводили (целое число z) вывод каждый раз, когда он вызывается из ...
Как мне преобразовать представление ByteString для Integer в… ну, Integer?
Есть ли специальная функция чтения для ByteStrings или мне нужно сначала распаковать, чем использовать обычное чтение? Спасибо.