Свързани въпроси 'ghc'
Haskell/GHC: докладвани са припокриващи се екземпляри, докато контекстът позволява само един
Уважаеми експерти на Haskell/GHC,
Наистина не разбирам защо GHC отчита припокриващи се случаи, докато само един всъщност е валиден според предоставените контексти. Например, нека разгледаме следната част от кода:
{-# LANGUAGE FlexibleInstances...
86 изгледи
schedule
19.09.2022
Как да направите CAF не CAF в Haskell?
Как да направя постоянна приложна форма, добре, не постоянна приложна форма, за да спра да се запазва за целия живот на програмата?
Опитах този подход:
-- | Dummy parameter to avoid creating a CAF
twoTrues :: () -> [[[Bool]]]
twoTrues _ =...
2475 изгледи
schedule
19.11.2022
NoMonomorphismRestriction помага да се запази споделянето?
Опитвах се да отговоря на друг въпрос относно полиморфизма срещу споделяне, когато се натъкнах на това странно поведение.
В GHCi, когато изрично дефинирам полиморфна константа, тя не получава никакво споделяне, което е разбираемо:
> let...
683 изгледи
schedule
03.11.2023
GHC не успява да зареди fftw свързвания, какъв е проблемът?
Опитвам се да използвам обвързванията на fftw haskell в Math.FFT. При опит за компилиране ghc изплюва следното
: /usr/local/lib/libfftw3.a: Лоша магия. Очаква се: feedface, получи се: feedfacf.
ghc: паника! ("невъзможното" се случи) (GHC...
101 изгледи
schedule
27.11.2022
c2hs - анонимни изброявания?
Препратката към c2hs (известна още като „Урок“) споменава името на C enum като незадължителен параметър. Има ли някакъв начин да го накарам да работи с анонимни енуми? Определянето кой enum да се генерира трябва да е възможно, като се има предвид...
162 изгледи
schedule
06.11.2023
Как да принудя GHC да вгражда FFI повиквания?
Направих малък C модул, за да подобря производителността, но GHC не вгражда чужди функции и цената на разговорите елиминира ускорението. Например test.h :
int inc (int x);
test.c :
#include "test.h"
int inc(int x) {return x + 1;}...
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: monads-tf-0.1.0.1...
793 изгледи
schedule
27.11.2022
Съществува ли някакъв метод за бързо откриване на валидни версии на диапазон на използваната библиотека
Аз съм начинаещ програмист на Haskell. Написах полезен код през последните шест месеца. И искам да освободя библиотека от него. Кодът ще използва кабала за системна инсталация като всяка библиотека на Haskell. Библиотека е пусната с cabal има файл...
78 изгледи
schedule
06.12.2023
Използване на Type.Equality с PolyKinds
Този код за компилиране е минимизиран пример за този код от отговор на този проблем със syntactic-2.0. Също така използвам дефиниция на sameModType , извлечена от sameNat в Data.Type.Equality.
Използвах това решение без проблем, но бих...
428 изгледи
schedule
06.11.2023
Неопровержимият модел не пропуска памет при рекурсия, но защо?
Функцията mapAndSum в кодовия блок докрай комбинира map и sum (няма значение, че в главната функция е приложено друго sum , то просто служи, за да направи изхода компактен). map се изчислява лениво, докато sum се изчислява с помощта на...
629 изгледи
schedule
19.12.2023
Как се избират имена на променливи в сигнатури на типове, изведени от GHC?
Когато си играя с проверка на типове функции в Haskell с :t , например като тези в предишния ми въпрос , Склонен съм да постигна резултати като:
Eq a => a -> [a] -> Bool
(Ord a, Num a, Ord a1, Num a1) => a -> a1 -> a
(Num t2,...
895 изгледи
schedule
21.12.2023
Как да компилирам статично C библиотека в Haskell модул, който по-късно мога да заредя с GHC API?
Ето моят желан случай на употреба:
Имам пакет с един модул, който чете HDF5 файлове и записва някои от техните данни в записи на Haskell. За да свърши работата, библиотеката използва пакета bindings-hdf5 . Ето build-depends на моята кабала....
515 изгледи
schedule
08.12.2022
Защо GHC не дава предупреждение за време на компилиране за изключението No match in record selector?
Когато стартирам този бъги код...
data Person = Adult { pName :: String}
| Kid { pName :: String
, pAge :: Int
} deriving Show
getAge :: Person -> Int
getAge p = pAge p
getName :: Person...
2937 изгледи
schedule
27.12.2023
schedule
29.11.2023
как да насоча haskell към android с помощта на jhc?
Искам да напиша функция (модул) на Haskell от тип: String -> String за извикване в Android. Най-лесният метод изглежда да използва JHC за генериране на C код, след което да използва Android NDK за генериране на споделена библиотека, но не можах...
361 изгледи
schedule
08.11.2023
Защо този код се държи различно с включени или изключени оптимизации?
Имам прост тестов инструмент за бъга, който е в моя 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
Преинсталирайте поведението на cabal-dev
Най-новата инсталация на cabal, която използвах (0.13.3, от darcs repo) е хубава; той ви уведомява кога може да прекъснете вашата GHC инсталация с преинсталирания. Това, което искам да знам е следното: да предположим, че cabal install foo ще...
316 изгледи
schedule
08.02.2024
Копирайте инсталирания ghc и всички пакети на друга машина
Изправен съм пред особен проблем. Тук, в гимназията, получих около 10 компютъра (всички са от един и същи тип, един и същ тип процесор, един и същи тип памет и т.н.), които сега работят с Debian след преинсталиране. Опитвах се да науча учениците на...
127 изгледи
schedule
12.12.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 изгледи
schedule
07.03.2024
GHC: оптимизации на низове на Haskell
Знам, че Data.Text е много по-ефективен начин за съхраняване на низови данни от String = [Char] . Въпреки това изглежда, че редица функции, които виждам в библиотеките, очакват String , предадено към тях. Свързаният списък от Char s изглежда...
249 изгледи
schedule
01.04.2024