0
ответов

Что такого плохого в Template Haskell?

Кажется, что Template Haskell часто рассматривается сообществом Haskell как досадное удобство. Трудно точно выразить словами то, что я наблюдал в этом отношении, но рассмотрим эти несколько...
вопрос задан: 23 May 2017 02:02
0
ответов

Проблема компоновщика времени выполнения GHCi при использовании объявлений FFI

У меня снова проблема с FFI в Haskell и интерактивным режимом GHC. Рассмотрим FFISo.hs :{-#LANGUAGE OverloadedStrings #-} модуль Main, где импортировать квалифицированные Data.ByteString.Char8 как B...
вопрос задан: 23 May 2017 01:54
0
ответов

Привязка FFI и DSL

В привязках Haskell LLVM я пытаюсь определить функцию с переменным числом аргументов (на самом деле Я имею в виду постоянное число, которое не известно во время компиляции). Я нашел этот вопрос, и я ...
вопрос задан: 23 May 2017 00:31
0
ответов

Как установить аргументы командной строки программы для GHCi?

Предположим, что какой-то файл Haskell выполняется с помощью runghc Queens.hs gecode_compile Теперь это не удается, и я хочу его отладить с ghci. Как передать в программу параметр gecode_compile, чтобы getArgs ...
вопрос задан: 20 May 2017 17:49
0
ответов

count вхождений элементов [duplicate]

Подсчет всех элементов в списке в Haskell выполняется одной строкой: count xs = toList (fromListWith (+) [(x, 1) | x <- xs]) Здесь пример использования: *Main> count "haskell scala" [(' ',1),('a',3),('c',...
вопрос задан: 30 April 2017 12:43
0
ответов

в haskell, зачем Мне нужно указать ограничения типа, почему компилятор не может их понять?

Рассмотрим функцию, добавьте ab = a + b Это работает: * Main> add 1 2 3 Однако, если я добавлю а подпись типа, указывающая, что я хочу добавить объекты того же типа: add :: a -> a -> a add ab = ...
вопрос задан: 21 April 2017 09:21
0
ответов

GHCi не работает #39; с декларациями экспорта/разделяемыми библиотеками FFI

У меня проблема с FFI в Haskell и интерактивным режимом GHC. (Источник также доступен через суть ):FFISo.hs :{ -#LANGUAGE OverloadedStrings #-} { -#LANGUAGE ForeignFunctionInterface #...
вопрос задан: 16 April 2017 07:15
0
ответов

Ищу эффективную структуру, подобную массиву, которая поддерживает «замену одного члена» и «добавление»

В качестве упражнения я написал реализацию алгоритма наибольшей возрастающей подпоследовательности, первоначально на Python, но я хотел бы перевести это к Хаскеллу. В двух словах, алгоритм включает в себя...
вопрос задан: 13 April 2017 12:40
0
ответов

Есть ли способ избежать ненужной рекурсии?

Я разместил этот вопрос на CodeReview, но понял, что это не столько вопрос Haskell, сколько вопрос алгоритма. Код Haskell можно найти в моем репозитории на github, но я думаю...
вопрос задан: 13 April 2017 12:40
0
ответов

Разница между привязками where, привязками let и одиночным оператором присваивания (<-)

Я не понимаю разницы между тремя синтаксисами: where a = f (b) делать a <- f (b) действительно let a = f (b) Я кое-как понимаю, что a <- f (b) отличается от другого ...
вопрос задан: 13 April 2017 12:19
0
ответов

Что такое стрелки и как их использовать?

Я пытался узнать значение стрелок, но не понял их. Я использовал учебник Викиучебника. Я думаю, что проблема Викибука в основном состоит в том, что он, кажется, написан для кого-то, кто уже ...
вопрос задан: 7 April 2017 12:18
0
ответов

Почему разница в кривой производительности между ByteBuffer.allocate () и ByteBuffer.allocateDirect ()

I ' m работает над некоторым кодом SocketChannel-to-SocketChannel, который лучше всего справится с прямым байтовым буфером - долгоживущим и большим (от десятков до сотен мегабайт на соединение). При хешировании точного ...
вопрос задан: 7 April 2017 10:20
0
ответов

Как вынуть стоимость из монады в Haskell?

Есть ли способ взять «вещи» из монады? Я разрабатываю игру, и теперь я пытаюсь понять базы данных. Я нашел счастливо очень приятно, но я не могу получить вещь. Например, я ...
вопрос задан: 5 April 2017 15:36
0
ответов

alternative to typeclasses?

haskell programmer. using F#. no typeclasses in F#. what to use when I need typeclasses?
вопрос задан: 31 March 2017 07:12
0
ответов

Различия между функторами и эндофункторами

Может ли кто-нибудь объяснить простыми словами разницу между ними? Я не совсем понимаю ту часть, где монады являются эндофункторами, а не просто функторами.
вопрос задан: 23 March 2017 13:16
0
ответов

Сохранить новые строки в YAML

Как мне отформатировать такой документ YAML, чтобы PyYAML мог его правильно проанализировать? Данные: здесь некоторые данные и специальный символ, например ':' Другая строка данных в отдельной строке Я знаю, что ': ...
вопрос задан: 21 March 2017 16:52
0
ответов

Подпись типа Haskell с несколькими ограничениями класса

Как я могу иметь несколько ограничений класса, поэтому, если A является Eq, а B является Num, я мог бы сказать либо f :: Eq a => a -> b` или f :: Num b => a -> b Итак, как я могу иметь Eq a => и Num b =&...
вопрос задан: 21 March 2017 16:18
0
ответов

Как Haskell обрабатывает полиморфизм перегрузки?

У меня вопрос о полиморфизме Haskell. Как я узнал, существует два типа полиморфизма: Параметрический: при котором вы не указываете тип ввода. Пример: functionName :: [a] -> a ...
вопрос задан: 21 March 2017 15:37
0
ответов

Есть ли документированные анти-паттерны для функционального программирования? [закрыто]

В следующем месяце я собираюсь работать над новым научно-исследовательским проектом, в котором будет принят функциональный язык программирования (я голосовал за Haskell, но сейчас F # получил больше консенсуса). Теперь я играл с такими ...
вопрос задан: 20 March 2017 10:29
0
ответов

Что означает «существует» в системе типов Haskell?

Я с трудом понимаю ключевое слово exists применительно к системе типов Haskell. Насколько мне известно, такого ключевого слова в Haskell по умолчанию нет, но: Существуют расширения, которые их добавляют, в ...
вопрос задан: 18 March 2017 08:26
0
ответов

Вызов Ptrs функции FFI Haskell из C

Я пытаюсь заставить работать следующий код: sample_hs :: CInt -> (CInt -> CInt) sample_hs x = (x +) external export ccall sample_hs :: CInt -> (CInt -> CInt) Я хотел бы иметь возможность ...
вопрос задан: 17 March 2017 05:17
0
ответов

В Haskell, когда мы используем in с let?

В следующем коде, перед последней фразой я могу поставить in. Изменит ли это что-нибудь? Еще один вопрос: Если я решу поставить in перед последней фразой, нужно ли делать отступ? Я пробовал ...
вопрос задан: 15 March 2017 14:50
0
ответов

What does “pure” mean in “pure functional language”?

Haskell has been called a "pure functional language." What does "pure" mean in this context? What consequences does this have for a programmer?
вопрос задан: 15 March 2017 12:59
0
ответов

Доступ к элементам пользовательского типа данных в Haskell

Допустим, у меня есть следующий пользовательский тип данных и функция в Haskell:data Person = Person { first_name ::String, last_name ::String, age ::Int...
вопрос задан: 13 March 2017 18:01
0
ответов

Как мне создать оператор в Haskell?

Создание таблицы троичной логики, и я хотел бы создать свою собственную функцию для оператора, который я вызову <=>. Так, например, я хочу это сделать, но это неправильно. как правильно ...
вопрос задан: 12 March 2017 18:34
0
ответов

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

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

Haskell: Тестирование пакета на нескольких версиях base для Hackage

Я пытаюсь загрузить свой первый пакет в Hackage (ура!), и я получил эту ошибку : Зависимость build-depends: base не указывает верхнюю границу номера версии. Каждый основной выпуск '...
вопрос задан: 12 March 2017 04:28
0
ответов

Сложные структуры данных в Haskell - как они работают?

Как я понял, переменные в Haskell неизменяемы (таким образом, на самом деле они не являются `переменные '). В этом случае, если у нас есть сложная и большая структура данных, такая как красно-черное дерево, как мы должны ...
вопрос задан: 11 March 2017 21:41
0
ответов

Какова цель Rank2Types?

Я не очень хорошо разбираюсь в Haskell, поэтому это может быть очень простой вопрос. Какие языковые ограничения решает Rank2Types? Разве функции в Haskell уже не поддерживают полиморфные аргументы?
вопрос задан: 8 March 2017 22:45
0
ответов

Как происходит наследование в Haskell?

Алгебраические типы данных (ADT) в Haskell могут автоматически становиться экземплярами некоторых классов типов (например, Show, Eq), производя от них производные. данные Может быть = Ничего | Просто производное (Eq, Ord) My ...
вопрос задан: 3 March 2017 16:23