0
ответов

Об улучшении производительности Haskell по сравнению с C в микро-тесте Фибоначчи

Я столкнулся с этим вопросом, в котором сравнивалась производительность различных компиляторов при вычислении чисел Фибоначи наивным способом. Я попытался сделать это с помощью Haskell, чтобы увидеть, как он соотносится с кодом C. C: # ...
вопрос задан: 23 May 2017 12:26
0
ответов

Транзитивность авто-специализации в GHC

Из документов для GHC 7.6: «Да, вам вообще даже не нужна прагма SPECIALIZE. При компиляции модуля M оптимизатор GHC (с -O) автоматически учитывает каждый верхний уровень ...
вопрос задан: 23 May 2017 12:25
0
ответов

Преобразование с плавающей запятой IEEE 754 в Haskell Word32 / 64 в Haskell Float / Double и обратно

Вопрос В Haskell базовые библиотеки и пакеты Hackage предоставляют несколько средств преобразования двоичных данных с плавающей запятой IEEE-754 в и из поднятых Типы Float и Double. Однако ...
вопрос задан: 23 May 2017 12:18
0
ответов

Статически связать GMP с приложением Haskell с помощью GHC (+ LLVM)

Как я могу отказаться от динамической зависимости от libgmp и перейти от этого: linux-vdso.so.1 => (0x00007fffdccb1000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fb01afc1000) libm.so.6 =>...
вопрос задан: 23 May 2017 12:13
0
ответов

Почему'не для всех (использование RankNTypes)применяется по умолчанию?

Я не так хорошо знаком с forall, но недавно прочитал этот вопрос:Что делает ключевое слово forall в Haskell/GHC? В одном из ответов есть вот этот пример :{-#LANGUAGE RankNTypes #-} liftTup::(...
вопрос задан: 23 May 2017 12:07
0
ответов

Сравнение скорости вычисления простых чисел в Haskell и C

Первоначально я написал этот (грубый и неэффективный )метод вычисления простых чисел, чтобы убедиться, что нет никакой разницы в скорости между использованием «if -then -else» по сравнению с охранниками в...
вопрос задан: 23 May 2017 12:04
0
ответов

Текущий статус автоматического параллелизма в Haskell [дубликат]

Возможный дубликат: Каков статус многоядерного программирования в Haskell? Какой статус особенно в GHC? Он еще популярен или все еще находится в стадии эксперимента? Насколько тщательно / детально ...
вопрос задан: 23 May 2017 11:54
0
ответов

NoMonomorphismRestriction помогает сохранить общий доступ?

Я пытался ответить на другой вопрос о полиморфизме и совместном использовании, когда наткнулся на это странное поведение. В GHCi, когда я явно определяю полиморфную константу, она ничего не получает...
вопрос задан: 23 May 2017 11:51
0
ответов

Haskell :может загружать только один файл за раз с помощью :load

предположим, что у меня есть два модуля NecessaryModule1 и NecessaryModule2 (, как указано в сообщении Haskell :загрузка ВСЕХ файлов в текущем пути к каталогу. Затем я заметил как в WinGHCi, так и в GHCi, что если...
вопрос задан: 23 May 2017 11:46
0
ответов

Почему GHCi странно набирает этот оператор ?

Отвечая на вопрос о stackoverflow, я заметил, что GHCi (интерактивный) назначает слишком ограничительный тип в операторе let. А именно по коду импортируйте Control.Arrow f = максимум &&& ...
вопрос задан: 23 May 2017 10:33
0
ответов

Как ленивость и исключения работают вместе в Haskell?

Вопрос аналогичен этому вопросу. Однако здесь речь идет об исключениях, а не о ленивом вводе-выводе. Вот тест: {-# ​​LANGUAGE ScopedTypeVariables #-} import Prelude hidden ( catch ) импорт...
вопрос задан: 23 May 2017 02:22
0
ответов

Где я могу узнать о #ifdef?

Я вижу, что это часто используется для обеспечения совместимости модулей с GHC и Hugs , но Google не помогает мне узнать об этом больше. Что я могу поместить в условное? Могу ли я сделать части модуля условными ...
вопрос задан: 12 March 2017 17:10
0
ответов

Почему GHC не выдает предупреждение во время компиляции для исключения «Нет совпадений в селекторе записей»?

Когда я запускаю этот ошибочный код... data Person = Adult { pName :: String} | Kid { pName :: String , pAge :: Int } производное Show getAge :: Person -&...
вопрос задан: 5 January 2017 06:18
0
ответов

GHC-мод должен использовать полные имена для типов?

Я пытаюсь использовать плагин vim ghc-mod для проверки типа / синтаксиса и т. Д. Однако я обнаружил, что ghc-mod всегда использует полные пути типов в сообщениях об ошибках, например: test.hs | 71 col 13 error | ...
вопрос задан: 6 November 2016 20:43
0
ответов

Частичная оценка правосторонних операторских секций

У меня есть функция (* ~). Большая часть стоимости вычисления x * ~ y исходит из проверки второго аргумента, примерно по следующим направлениям: (* ~) :: a -> b d -> c d a x * ~ y = case y 'для Bar -...
вопрос задан: 21 October 2015 20:00
0
ответов

Что это за ошибка? - не удалось во время этапа строительства

Я получил эту ошибку при сборке: dist / package.conf.inplace: недопустимый тип СБОЙ В ФАЗЕ ЗДАНИЯ. ** Исключением ** было: ExitFailure 1 Как использовать subRegex в пакете Text.Regex? Я ...
вопрос задан: 11 September 2015 04:09
0
ответов

Есть ли причина не использовать прагма INLINABLE для функции?

В документации указано: Прагма {-# INLINABLE f #-} в функции f ведет себя следующим образом: В то время как INLINE говорит «пожалуйста, встройте меня», INLINABLE говорит «не стесняйтесь встраивать меня; используйте ...
вопрос задан: 20 May 2015 15:06
0
ответов

Использование опции -with-rtsopts ghc в качестве прагмы

Я пытаюсь решить алгоритмическую головоломку на Haskell, и для этого мне нужна довольно большая структура данных. Однако сайт решения проблем, на который я отправляю свое решение, не использует никаких параметров времени выполнения, чтобы разрешить ...
вопрос задан: 20 May 2015 05:03
0
ответов

Haskell: понимание сообщений об ошибках «No instance for» в ghci

Вопрос 1 Привет, если в WinGHCi я намеренно сделал следующий неправильный фрагмент кода: 3 4 Тогда полученное сообщение об ошибке: <интерактив>: 1: 1: Нет экземпляра для (Num (a0 -> t0)) ...
вопрос задан: 20 November 2014 20:59
0
ответов

Использование Supero (суперкомпилятора Haskell)?

Я смотрю этот проект http://community.haskell.org/~ndm/supero/ Я загрузил и скомпилировал программу и могу использовать ее на включенные образцы. Но я попробовал это на своем исходном коде и ...
вопрос задан: 16 September 2014 22:47
0
ответов

Маленькая программа на Haskell, скомпилированная с помощью GHC, в огромный двоичный файл

Даже тривиально маленькие программы на Haskell превращаются в гигантские исполняемые файлы. Я написал небольшую программу, которая была скомпилирована (с помощью GHC) в двоичный файл размером более 7 МБ! Что может вызвать даже ...
вопрос задан: 8 September 2014 06:44
0
ответов

Функция переименования позволяет нарушить код

Итерируя мой код в направлении правильной версии, я натолкнулся на следующее любопытство: {- # LANGUAGE RankNTypes # -} модуль Foo, где import Data.Vector.Generic.Mutable как M import Control.Monad ....
вопрос задан: 13 July 2014 16:38
0
ответов

Неопровержимый паттерн не приводит к утечке памяти при рекурсии, но почему?

Функция mapAndSum в приведенном ниже кодовом блоке объединяет карту и сумму (, не говоря уже о том, что в основной функции применяется другая сумма, она просто служит для компактности вывода ). Карта - это...
вопрос задан: 20 May 2014 13:40
0
ответов

Является ли DeriveFunctor широко известным расширением? Кабал кажется сбитым с толку

Кабал передает мне смешанные сообщения. Когда я говорю: Расширения: DeriveFunctor Он говорит: Предупреждение: Неизвестные расширения: DeriveFunctor Но когда я говорю: GHC-Options: -XDeriveFunctor Он говорит: Предупреждение: ...
вопрос задан: 18 May 2014 19:48
0
ответов

Устранить проверку границ массива Haskell для ограниченного типа?

Я создаю множество массивов с типом индекса Bounded и диапазоном индексов (minBound, maxBound ). Для такого массива проверка границ должна быть ненужной. Как мне уговорить GHC на...
вопрос задан: 11 February 2014 17:48
0
ответов

Хорошая ли идея компилировать язык на C?

По всему интернету у меня складывается впечатление, что писать бэкенд на C для компилятора уже не такая уж хорошая идея. Бэкенд GHC на Си больше не разрабатывается активно (это моя неподдерживаемая ...
вопрос задан: 8 January 2014 00:23
0
ответов

Haskell: получить имя конструктора данных в виде строки

Допустим, у нас есть данные D = X Int | Y Int Int | Z String Я хочу иметь функцию getDConst getDConst :: D -> String, которая возвращает либо "X", "Y", либо "Z", в соответствии с конструктором данных ...
вопрос задан: 18 August 2013 08:39
0
ответов

Подробное описание экзистенциальной квантификации Haskell

У меня есть общее представление о том, что такое экзистенциальная квантификация по типам и где ее можно использовать. Однако, исходя из моего опыта, есть много предостережений, которые необходимо понять, чтобы использовать ...
вопрос задан: 9 April 2013 18:19
0
ответов

Распознавание хвостовой рекурсии

Я пытаюсь изучить Haskell и наткнулся на следующее: myAdd (x: xs) = x + myAdd xs myAdd null = 0 f = let n = 10000000 в myAdd [1 .. n] main = do putStrLn (show f) При компиляции с ...
вопрос задан: 19 December 2012 02:01
0
ответов

Функции не просто имеют типы: Они являются типами. И виды. И сорта. Помогите собрать взорванный мозг воедино

Я занимался своей обычной рутиной "Прочитать главу LYAH перед сном", чувствуя, что мой мозг расширяется с каждым примером кода. В этот момент я был убежден, что понимаю основную крутость ...
вопрос задан: 19 December 2012 01:07