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

Существует ли какой-либо метод быстрого обнаружения допустимых версий диапазона используемой библиотеки?
Я начинающий программист на Haskell. Я написал полезный код за последние шесть месяцев. И я хочу выпустить из него библиотеку. В коде будет использоваться кабала для установки системы, как и в любой библиотеке Haskell. Библиотека выпускается с...
78 просмотров
schedule 06.12.2023

Как сделать CAF не CAF в Haskell?
Как мне превратить постоянную аппликативную форму в не постоянную аппликативную форму, чтобы она не сохранялась на протяжении всего срока действия программы? Я пробовал этот подход: -- | Dummy parameter to avoid creating a CAF twoTrues :: ()...
2475 просмотров
schedule 19.11.2022

Переустановите поведение cabal-dev
Последняя установка кабалы, которую я использовал (0.13.3, из репозитория darcs), хороша; он позволяет узнать, когда вы можете сломать установку GHC при переустановке. Я хочу знать вот что: предположим, что cabal install foo выполнит...
316 просмотров
schedule 08.02.2024

Почему GHC не выдает предупреждение о времени компиляции для исключения «Нет совпадений в селекторе записей»?
Когда я запускаю этот глючный код... data Person = Adult { pName :: String} | Kid { pName :: String , pAge :: Int } deriving Show getAge :: Person -> Int getAge p = pAge p getName ::...
2937 просмотров
schedule 27.12.2023

c2hs - анонимные перечисления?
Справочник c2hs (он же «Учебник») упоминает имя перечисления C как необязательный параметр. Есть ли способ заставить его работать с анонимными перечислениями? Определение того, какое перечисление генерировать, должно быть возможным, учитывая только...
162 просмотров
schedule 06.11.2023

NoMonomorphismRestriction помогает сохранить общий доступ?
Я пытался ответить на другой вопрос о полиморфизме и поделиться, когда я наткнулся на это странное поведение. В GHCi, когда я явно определяю полиморфную константу, она не получает никакого общего доступа, что понятно: > let fib :: Num a...
683 просмотров

Неопровержимый паттерн не вызывает утечки памяти при рекурсии, но почему?
Функция mapAndSum в блоке кода, приведенном ниже, объединяет map и sum (не говоря уже о том, что в основной функции применяется еще один sum , он просто служит для компактности вывода). map вычисляется лениво, а sum вычисляется с...
629 просмотров

GHC: оптимизация строк Haskell
Я знаю, что Data.Text — гораздо более эффективный способ хранения строковых данных, чем String = [Char] . Однако кажется, что ряд функций, которые я вижу в библиотеках, ожидают передачи им String . Связанный список Char кажется очень...
249 просмотров
schedule 01.04.2024

GHC не может загрузить привязки fftw, в чем проблема?
Я пытаюсь использовать привязки fftw haskell в Math.FFT. При попытке скомпилировать ghc выдает следующее : /usr/local/lib/libfftw3.a: Плохая магия. Ожидается: фидфейс, получено: фидфакф. гк: паника! (произошло «невозможное») (версия GHC 7.4.1...
101 просмотров
schedule 27.11.2022

Почему этот код ведет себя по-разному при включенной или выключенной оптимизации?
У меня есть простой тестовый запуск для ошибки, который находится в моем модуле OpenPGP https://github.com/singpolyma/OpenPGP-Haskell/blob/master/Data/OpenPGP.hs : module Main where import Data.OpenPGP import Data.Binary (encode, decode) packet...
269 просмотров
schedule 01.02.2024

Как заставить GHC встраивать вызовы FFI?
Я сделал небольшой модуль C для повышения производительности, но GHC не встраивает сторонние функции, а стоимость вызовов устраняет ускорение. Например, test.h : int inc (int x); test.c : #include "test.h" int inc(int x) {return x +...
536 просмотров
schedule 03.11.2023

Control.Monad.Writer найден в нескольких пакетах haskell
Я попытался импортировать модуль Control.Monad.Writer следующим образом: import Control.Monad.Writer ghc версии 7.4.1 выдает следующую ошибку: Ambiguous module name `Control.Monad.Writer': it was found in multiple packages:...
793 просмотров
schedule 27.11.2022

Не удалось сопоставить ожидаемый тип
У меня есть следующая программа на Haskell: catlines = unlines . zipWith (\(n,l) -> show n ++ l) [0..] main = putStrLn $ catlines ["A", "B"] Когда я пытаюсь его скомпилировать, GHC выдает следующую ошибку: catlines.hs:1:41:...
146 просмотров
schedule 15.05.2024

Использование Type.Equality с PolyKinds
Этот код компиляции представляет собой свернутый пример этого кода из ответа на эта проблема с syntactic-2.0. Я также использую определение sameModType , полученное из sameNat в Data.Type.Equality. Я использовал это решение без проблем,...
428 просмотров
schedule 06.11.2023

Какой алгоритм используется в Haskell (GHC) для получения типов рекурсивных выражений?
Рассмотрим следующие примеры: Нерекурсивные функции f x = x g y = f 'A' GHC делает вывод f :: a -> a Взаимно рекурсивные функции f x = const x g g y = f 'A' Теперь GHC выводит f :: Char -> Char , хотя в предыдущем...
687 просмотров

Как выбираются имена переменных в сигнатурах типов, определяемых GHC?
Когда я играю с проверкой типов функций в Haskell с помощью :t , например, как в моем предыдущем вопросе , Я склонен получать такие результаты, как: Eq a => a -> [a] -> Bool (Ord a, Num a, Ord a1, Num a1) => a -> a1 -> a (Num...
895 просмотров
schedule 21.12.2023

Есть ли реальный недостаток в сборке всех библиотек с включенным профилированием?
Учитывая насколько трудоемко включить профилирование позже , есть ли какие-либо реальные недостатки (кроме использования большего дискового пространства) при сборке всех библиотек? с включенным профилированием по умолчанию? В частности, есть ли...
145 просмотров
schedule 25.04.2024

Как мне статически скомпилировать библиотеку C в модуль Haskell, который я могу позже загрузить с помощью GHC API?
Вот мой желаемый вариант использования: У меня есть пакет с одним модулем, который читает файлы HDF5 и записывает часть их данных в записи Haskell. Для работы библиотека использует пакет bindings-hdf5 . Вот build-depends моей клики....
515 просмотров
schedule 08.12.2022

Получение типизированных данных и данных для GADT?
С использованием: {-# LANGUAGE GADTs #-}...
311 просмотров
schedule 29.11.2023

как настроить таргетинг haskell на android с помощью jhc?
Я хочу написать функцию (модуль) Haskell типа: String -> String для вызова в Android. Кажется, самый простой способ — использовать JHC для создания кода C, а затем использовать Android NDK для создания общей библиотеки, но я не смог найти...
361 просмотров
schedule 08.11.2023