Вопросы по теме 'ghc'

Каков хороший способ отладки кода Haskell?
Я использовал отладчик ghci, но предпочел бы, чтобы он был частично интегрирован с текстовым редактором, чтобы упростить процесс установки точек останова. Вероятно, не следует строго оценивать каждую видимую переменную, но, по крайней мере, упростить...
8433 просмотров
schedule 03.04.2023

Как получить 64-битные двоичные файлы от GHC для Snow Leopard?
Недавно я обновил свою ОС до Snow Leopard, что сломало мой GHC. Я смог исправить это на одной машине, добавив флаги для 32-битных компиляций в /usr/bin/ghc (что-то вроде -optl -m32 -opta -m32 -optc -m32, собранные из здесь ). Теперь я не могу...
1017 просмотров

Заставляем Cabal работать с GHC 6.12.1
Я установил последний пакет GHC (6.12.1) на OS X, но не могу заставить Cabal работать. Я удалил предыдущую версию, которая работала с GHC 6.10, и попытался переустановить с нуля. Последняя версия Cabal, доступная для загрузки, - 1.6.0.2. Однако,...
2847 просмотров
schedule 06.04.2022

Нет экземпляра для (Floating Int)
Я изучаю Хаскель. Я создал функцию, которая возвращает таблицу умножения до «n» в базе «b». Числа дополняются до 'w' цифр. В качестве последнего шага я хочу автоматически вычислить «w». Почему это не компилируется? -- Number of digits needed...
10008 просмотров
schedule 07.12.2022

Почему s ++ t не приводит к переполнению стека при больших s?
Мне интересно почему Prelude> head $ reverse $ [1..10000000] ++ [99] 99 не приводит к ошибке переполнения стека. ++ в прелюдии кажется прямым и нерекурсивным: (++) :: [a] -> [a] -> [a] (++) [] ys = ys (++) (x:xs) ys = x : xs...
656 просмотров

Что делает ключевое слово forall в Haskell / GHC?
Я начинаю понимать, как ключевое слово forall используется в так называемых «экзистенциальных типах», например: data ShowBox = forall s. Show s => SB s Однако это лишь часть того, как используется forall , и я просто не могу осмыслить...
45821 просмотров
schedule 05.04.2023

Осиротевшие экземпляры в Haskell
При компиляции моего приложения Haskell с параметром -Wall GHC жалуется на потерянные экземпляры, например: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Класс типа ToSElem не мой, он определен HStringTemplate...
9662 просмотров
schedule 18.03.2023

Есть ли способ ограничить память, которую может иметь ghci?
Я привык отлаживать свой код с помощью ghci. Часто происходит что-то вроде этого (не так очевидно, конечно): ghci> let f@(_:x) = 0:1:zipWith(+)f x ghci> length f Затем какое-то время ничего не происходит, и если я не отреагирую...
3173 просмотров

Как использовать fromInteger без неявной прелюдии в Haskell?
Следующая программа выдает ошибку в ghci: {-# LANGUAGE NoImplicitPrelude #-} import Prelude (Integer, Bool) import qualified Prelude class Discrete a where (==) :: a -> a -> Bool instance Discrete Integer where (==) =...
1123 просмотров
schedule 25.04.2024

xmonad не смог найти модуль `XMonad': сломанный пакет
Привет, мой Xmonad работал отлично до нескольких дней назад, затем я думаю, что установил что-то с Synaptic, а затем начал жаловаться на Xmonad.Config.Gnome, вот мой xmonad.hs import XMonad import XMonad.Config.Gnome myManageHook = composeAll [...
5643 просмотров
schedule 13.06.2022

Компиляторы для Haskell
Насколько я знаю, GHC сегодня является наиболее распространенным компилятором, но я также вижу, что доступны и некоторые другие компиляторы. Действительно ли GHC лучший выбор для всех целей, или вместо него можно использовать что-то другое?...
6959 просмотров
schedule 20.02.2023

Декларация хранимых пустых данных
Я пытаюсь создать оболочку Haskell для библиотеки C. Базовые структуры слишком сложны, чтобы выражать их в виде явных типов, и я на самом деле не использую их, кроме как для передачи между функциями C, поэтому я использую EmptyDataDecls , чтобы...
816 просмотров
schedule 03.05.2023

Проблема с указанием исходного каталога для GHC
Это смущающе простая проблема, но ее решение до сих пор ускользает от меня. Как видно из названия, я просто хочу указать GHC расположение всех моих исходных файлов. Это должно быть просто; руководство пользователя GHC : -i каталоги...
2054 просмотров
schedule 30.06.2022

Haskell/GHC есть ли какой-либо инфиксный тег/прагма для предупреждения неполных шаблонов
Я ищу прагму, которая будет предупреждать о конкретном незавершенном шаблоне. Это приведет к сбою компилятора со следующим (гипотетическим) кодом: {-# FAILIF incomplete-patterns #-} f :: Int -> Int f 0 = 0 Я пытаюсь написать «компилятор»...
1007 просмотров
schedule 18.02.2024

Есть ли способ определить экзистенциально квантифицированный новый тип в GHC Haskell?
Возможно ли в (GHC) Haskell определить экзистенциально-количественный новый тип? Я понимаю, что если задействованы классы типов, это невозможно сделать в реализации с передачей словаря, но для моих целей классы типов не нужны. Что я действительно...
951 просмотров

Предупреждение о специализациях при компиляции кода Haskell с помощью ghc
Я получаю следующую ошибку при попытке скомпилировать $ ghc --make -O2 -Стена -fforce-recomp [1 из 1] Компиляция Main ( isPrimeSmart.hs, isPrimeSmart.o ) SpecConstr Function `$wa{v s2we} [lid]' имеет два шаблона вызова, но ограничение равно...
593 просмотров
schedule 20.12.2022

Как предотвратить удаление общих подвыражений (CSE) с помощью GHC
Учитывая программу: import Debug.Trace main = print $ trace "hit" 1 + trace "hit" 1 Если я компилирую с ghc -O (7.0.1 или выше), я получаю вывод: hit 2 то есть GHC использовал общее исключение подвыражений (CSE), чтобы переписать...
1712 просмотров

Использование GHC API из GHC, скомпилированного из исходников
Я хотел бы в клиентской программе использовать API GHC из модифицированной версии GHC. Достаточно просто получить исходники GHC, собрать и установить модифицированный GHC, но установка модифицированного GHC приводит к разрыву всех старых (Cabal)...
185 просмотров
schedule 14.07.2023

Почему PerformGC не может освободить всю память?
Учитывая программу: import Language.Haskell.Exts.Annotated -- from haskell-src-exts import System.Mem import System.IO import Control.Exception main :: IO () main = do evaluate $ length $ show $ fromParseResult $ parseFileContents $ "data C = C...
2022 просмотров
schedule 18.03.2022

Как узнать, как GHC представляет типы данных в памяти?
Недавно появились записи в блогах, такие как Расчет размера хэш-карты объяснил, как рассуждать о космических сложностях часто используемых типов контейнеров. Теперь я столкнулся с вопросом, как на самом деле «увидеть», какую схему памяти выбирает...
1757 просмотров
schedule 06.09.2022