При программировании на Haskell (и особенно при решении задач Project Euler, где неоптимальные решения имеют тенденцию увеличивать потребности процессора или памяти) я часто озадачен почему программа ведет себя именно так ...
Когда я читал в GHC Wiki комментарий к планировщику, я был озадачен этим разделом: Одной из причин пометки возможности как свободной при ее передаче является поддержка быстрых вызовов....
Дано: data Foo = FooString String… class Fooable a where - (это хороший способ назвать это?) toFoo :: a -> Foo Я хочу сделать String экземпляром Fooable: instance Fooable String ...
Можно ли каким-то образом убедить ghc рассматривать одни типы предупреждений как ошибки, а другие как предупреждения, при этом сообщая о них? Я надеялся, что это станет возможным с помощью чего-то вроде этого: ghc -Werror -...
Как именно работают счетчики - я знаю, что они создают конечный автомат за кулисами, но если я дважды вызову GetEnumerator, я получу два разных объекты? Если я сделаю что-то вроде этой публики ... шаблон в Haskell. Я слышу этот термин везде, но не понима
Данная программа: import Debug.Trace
main = print $ trace "hit" 1 + trace "hit" 1 Если я компилирую с ghc -O (7.0.1 или выше), я получаю результат: hit
2, т.е. GHC использовал общее подвыражение ...
I get the following error when trying to compile $ ghc --make -O2 -Wall -fforce-recomp [1 of 1] Compiling Main ( isPrimeSmart.hs, isPrimeSmart.o ) SpecConstr Function `$wa{v ...
Возможно ли в (GHC) Haskell определить экзистенциально количественно определенный новый тип? Я понимаю, что если задействованы классы типов, это невозможно сделать в реализации с передачей словаря, но для моего ...
Я ищу прагму, которая будет предупреждать о конкретном незавершенном шаблоне. Это приведет к сбою компилятора со следующим (гипотетическим) кодом: {- # FAILIF incomplete-patterns # -}
f :: Int -> ...
Я знаю, что могу вызвать ошибку времени компиляции, вызвав fail из соединения, но возможно ли только сгенерировать предупреждение? В частности, я хотел бы, чтобы это предупреждение можно было превратить в ...
Есть ли действие ввода-вывода, которое дает мне количество Потоки ОС, которыми была инициализирована RTS? Было бы неплохо использовать это как аргумент функции parBuffer из Control.Parallel ....
Это досадно простая проблема, но ее решение все же ускользает от меня. Как видно из названия, я просто хочу указать GHC расположение всех моих исходных файлов. Это должно быть просто; GHC ...
Добрый день. Вот простой фрагмент кода "угадать номер", содержащий единственную ошибку, но компилятор
затрудняет понимание того, что не так: import System.Random
импорт Control.Monad
import Control ....
У меня есть функция в модуле, которая выглядит примерно так: module MyLibrary (throwIfNegative ) где throwIfNegative :: Integral i => i -> String
throwIfNegative n | n <0 = error "...
Я клонировал репозиторий GHC (Glasgow Haskell Compiler). Чтобы собрать компилятор, вам нужно несколько библиотек, все они также доступны в виде репозиториев git. Чтобы облегчить жизнь, ...
Я пишу мультиплатформенную текстовую приключенческую игру ncurses. Требуемая библиотека C, ncursesw, настроен для x86, но моя ОС - Mac OS X 10.6.6 x86_64. ghc --make -o rogue rogue.hs
[1 из 2] Компиляция ...
Компиляция следующей программы Haskell с GHC 6.12.1 дает ошибку: {- # LANGUAGE NoImplicitPrelude # -} пример модуля, где import Prelude (Integer, fromInteger , (==)) f :: Integer -> ...
Впервые я столкнулся с бесконечным циклом в Я пишу программу на Haskell. Я сузил его до довольно конкретного раздела кода, но я не могу точно определить, где у меня ...
Кажется, что GHC, по крайней мере, несовместим с кодировкой символов, из которой он решает декодировать. Рассмотрим файл omatase-shimashita.txt со следующим содержимым, закодированным в UTF-8: お 待 た せ し ま し た ...
Я использую Ubuntu 10.10, и у меня установлен модуль трансформаторов через пакет Ubuntu libghc6-transformers-dev. По какой-то причине этот пакет по умолчанию скрыт: ghc --make -i./src/ src / ...
Насколько я знаю, cabal - это программа для управления установкой пакетов, таких как pkg_add из FreeBSD.
Но есть еще один инструмент - ghc-pkg. Я не знаю, почему существуют две разные программы. Какова роль ...
Привет, я изучаю Haskell, и мне интересно использовать его для создания статических библиотек для использования в Python и, вероятно, C. После некоторого поиска в Google я узнал, как заставить GHC выводить общий объект, но это ...
Я играл с Haskell и ghci, когда обнаружил, что меня действительно беспокоит: foldl ( ++) [[3,4,5], [2,3,4], [2,1,1]] [] Я ожидал получить следующее: [3,4,5,2,3,4,2 , 1,1]
Однако получается: [[3,4,5], [2,3,4] ...
Предположим, у меня есть десять модулей в моем проекте и GHC собирается перекомпилировать третий и пятый, я увижу что-то вроде следующего: [3 из 10] Компиляция C (A.hs,
[5 из 10] ...
Я знаю документацию для -XUndecidableInstances, но я подумал, что попрошу пояснить. Предположим, у меня есть два многопараметрических класса типов (допускается с -XMultiParamTypeClasses) class Foo ab
...
Я играл с функцией uncurry в GHCi и нашел кое-что, что я совсем не мог понять. Когда я применяю uncurry к функции (+) и привязываю это к какой-либо переменной, как в приведенном ниже коде, ...
Я пытаюсь установить пакет nano-hmac-0.2.0 (зависимость от пакета, который я хочу) из Hackage с использованием Cabal и GHC 6.12.1, но он не работает со следующей ошибкой: Data/Digest/OpenSSL/HMAC.hsc:1:0: ...
У меня есть процедура, которая (а) выполняет некоторый ввод-вывод, (b) создает таблицу поиска и (c) возвращает действие ввода-вывода, которое использует справочную таблицу. Но при компиляции с -O, GHC (версия 6.12.1) встраивает ...
По соображениям производительности я хотел бы нулевой скопируйте приведение ByteString (на данный момент строго) в вектор. Так как Vector - это просто ByteArray # под капотом, а ByteString - это ForeignPtr, это может выглядеть ...