Вопросы по теме '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 просмотров
schedule
19.03.2023
Заставляем 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 просмотров
schedule
13.01.2022
Что делает ключевое слово 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 просмотров
schedule
20.01.2023
Как использовать 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 просмотров
schedule
29.06.2023
Предупреждение о специализациях при компиляции кода 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 просмотров
schedule
15.06.2022
Использование 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