Кажется, что Template Haskell часто рассматривается сообществом Haskell как досадное удобство. Трудно точно выразить словами то, что я наблюдал в этом отношении, но рассмотрим эти несколько...
У меня снова проблема с FFI в Haskell и интерактивным режимом GHC. Рассмотрим FFISo.hs :{-#LANGUAGE OverloadedStrings #-} модуль Main, где импортировать квалифицированные Data.ByteString.Char8 как B...
В привязках Haskell LLVM я пытаюсь определить функцию с переменным числом аргументов (на самом деле Я имею в виду постоянное число, которое не известно во время компиляции). Я нашел этот вопрос, и я ...
Предположим, что какой-то файл Haskell выполняется с помощью runghc Queens.hs gecode_compile Теперь это не удается, и я хочу его отладить с ghci. Как передать в программу параметр gecode_compile, чтобы getArgs ...
Подсчет всех элементов в списке в Haskell выполняется одной строкой: count xs = toList (fromListWith (+) [(x, 1) | x <- xs]) Здесь пример использования: *Main> count "haskell scala"
[(' ',1),('a',3),('c',...
Рассмотрим функцию, добавьте ab = a + b Это работает: * Main> add 1 2
3 Однако, если я добавлю а подпись типа, указывающая, что я хочу добавить объекты того же типа: add :: a -> a -> a
add ab = ...
У меня проблема с FFI в Haskell и интерактивным режимом GHC. (Источник также доступен через суть ):FFISo.hs :{ -#LANGUAGE OverloadedStrings #-} { -#LANGUAGE ForeignFunctionInterface #...
В качестве упражнения я написал реализацию алгоритма наибольшей возрастающей подпоследовательности, первоначально на Python, но я хотел бы перевести это к Хаскеллу. В двух словах, алгоритм включает в себя...
Я разместил этот вопрос на CodeReview, но понял, что это не столько вопрос Haskell, сколько вопрос алгоритма. Код Haskell можно найти в моем репозитории на github, но я думаю...
Я не понимаю разницы между тремя синтаксисами: where a = f (b)
делать a <- f (b)
действительно let a = f (b) Я кое-как понимаю, что a <- f (b) отличается от другого ...
Я пытался узнать значение стрелок, но не понял их. Я использовал учебник Викиучебника. Я думаю, что проблема Викибука в основном состоит в том, что он, кажется, написан для кого-то, кто уже ...
I ' m работает над некоторым кодом SocketChannel-to-SocketChannel, который лучше всего справится с прямым байтовым буфером - долгоживущим и большим (от десятков до сотен мегабайт на соединение). При хешировании точного ...
Есть ли способ взять «вещи» из монады? Я разрабатываю игру, и теперь я пытаюсь понять базы данных. Я нашел счастливо очень приятно, но я не могу получить вещь. Например, я ...
Может ли кто-нибудь объяснить простыми словами разницу между ними? Я не совсем понимаю ту часть, где монады являются эндофункторами, а не просто функторами.
Как мне отформатировать такой документ YAML, чтобы PyYAML мог его правильно проанализировать? Данные: здесь некоторые данные и специальный символ, например ':' Другая строка данных в отдельной строке Я знаю, что ': ...
Как я могу иметь несколько ограничений класса, поэтому, если A является Eq, а B является Num, я мог бы сказать либо f :: Eq a => a -> b` или f :: Num b => a -> b Итак, как я могу иметь Eq a => и Num b =&...
У меня вопрос о полиморфизме Haskell. Как я узнал, существует два типа полиморфизма: Параметрический: при котором вы не указываете тип ввода. Пример: functionName :: [a] -> a ...
В следующем месяце я собираюсь работать над новым научно-исследовательским проектом, в котором будет принят функциональный язык программирования (я голосовал за Haskell, но сейчас F # получил больше консенсуса). Теперь я играл с такими ...
Я с трудом понимаю ключевое слово exists применительно к системе типов Haskell. Насколько мне известно, такого ключевого слова в Haskell по умолчанию нет, но: Существуют расширения, которые их добавляют, в ...
Я пытаюсь заставить работать следующий код: sample_hs :: CInt -> (CInt -> CInt)
sample_hs x = (x +) external export ccall sample_hs :: CInt -> (CInt -> CInt) Я хотел бы иметь возможность ...
В следующем коде, перед последней фразой я могу поставить in. Изменит ли это что-нибудь? Еще один вопрос: Если я решу поставить in перед последней фразой, нужно ли делать отступ? Я пробовал ...
Допустим, у меня есть следующий пользовательский тип данных и функция в Haskell:data Person = Person { first_name ::String, last_name ::String, age ::Int...
Создание таблицы троичной логики, и я хотел бы создать свою собственную функцию для оператора, который я вызову <=>. Так, например, я хочу это сделать, но это неправильно. как правильно ...
Я вижу, что это часто используется для обеспечения совместимости модулей с GHC и Hugs , но Google не помогает мне узнать об этом больше. Что я могу поместить в условное? Могу ли я сделать части модуля условными ...
Я пытаюсь загрузить свой первый пакет в Hackage (ура!), и я получил эту ошибку : Зависимость build-depends: base не указывает верхнюю границу номера версии. Каждый основной выпуск '...
Как я понял, переменные в Haskell неизменяемы (таким образом, на самом деле они не являются `переменные '). В этом случае, если у нас есть сложная и большая структура данных, такая как красно-черное дерево, как мы должны ...
Я не очень хорошо разбираюсь в Haskell, поэтому это может быть очень простой вопрос. Какие языковые ограничения решает Rank2Types? Разве функции в Haskell уже не поддерживают полиморфные аргументы?
Алгебраические типы данных (ADT) в Haskell могут автоматически становиться экземплярами некоторых классов типов (например, Show, Eq), производя от них производные. данные Может быть = Ничего | Просто производное (Eq, Ord) My ...