0
ответов

Полугруппа / Моноид / Иерархия классов типов групп в ошибках Haskell

Я пытаюсь создать «иерархию» классов алгебраических типов , а именно: class Semigroup a where (. *) :: a -> a -> a foldr1 (. *) = foldl1 (. *) - ошибка GHCi: "` foldr1 'не является (видимым) ...
вопрос задан: 8 March 2016 09:47
0
ответов

Обработка поста с использованием Warp / Wai

Как вы извлекаете данные из запроса на почту, используя Network.wai и Warp? Скажи, например, у меня простая веб-страница .... <Метод формы = "Post" Action = "/ horsepost"> <имя ввода = "name" Type = "... [
вопрос задан: 6 March 2016 08:49
0
ответов

Развертывание Yesod на Heroku, не могу собрать статически

Я очень новичок в Yesod и у меня проблемы со статической сборкой Yesod. чтобы я мог развернуть его на Heroku. Я изменил файл .cabal по умолчанию, чтобы отразить статическую компиляцию if flag(production) cpp-...
вопрос задан: 2 March 2016 17:01
0
ответов

Создание Haskell REPL в приложении Haskell

Я пытаюсь встроить Haskell REPL в одно из моих приложений Haskell. Идея состоит в том, что по умолчанию будет загружено только подмножество библиотек Haskell, плюс мой собственный набор функций, и ...
вопрос задан: 11 February 2016 09:13
0
ответов

Как я могу симулировать Haskell’s «Either a b» в Java

Как я могу написать типобезопасный метод Java, который возвращает что-то из класса a или что-то из класса b? Например: общественность ... либо (логическое значение b) { if (b) { return new Integer (1); } else { ...
вопрос задан: 11 February 2016 08:21
0
ответов

Свести список списки

Мне нужно написать функцию, которая выравнивает список списков. Например, сгладить [] = [] или сгладить [1,2,3,4] = [1,2,3,4] или сгладить [[1,2], [3], 4,5]] = [1 , 2,3,4,5] У меня проблемы с существом ...
вопрос задан: 8 February 2016 19:55
0
ответов

Перестановки списка - Haskell

Я хочу сделать все возможные комбинации подгрупп с 2 списками. Вот функция, которая делает именно это: getCombinations :: [a] -> [[a]] getCombinations na = do a <- na b <- na ...
вопрос задан: 4 February 2016 11:15
0
ответов

haskell leksah hello-world

плохие новости сегодня утром, я был готов попробовать и использовать Leksah (кстати, красивое приложение) для продолжения изучения haskell. Я не смог скомпилировать пример "Hello World", который нашел сегодня утром, читая ...
вопрос задан: 22 January 2016 09:50
0
ответов

Общее программирование через эффекты

В библиотеке «Эффекты Идриса» эффекты представлены в виде ||| Этот тип параметризуется с помощью: ||| + Возвращаемый тип вычисления. ||| + Входной ресурс. ||| + Вычисления для запуска на ...
вопрос задан: 22 January 2016 05:06
0
ответов

Haskell - совпадения шаблонов перекрываются

test :: String -> String -> Int test 'xyn = n test' "" (y: ys) n = error "error" test '(x: xs) "" n = error "error" test' (x: xs) (y: ys) n = если x == y, то проверьте 'xs ys n ...
вопрос задан: 17 January 2016 11:42
0
ответов

Строки байтов Haskell: как сопоставить с образцом?

Я новичок в Haskell, и у меня возникли некоторые проблемы с выяснением того, как сопоставить строку байта с образцом. Версия [Char] моей функции выглядит так: dropAB :: String -> String dropAB [] = [] ...
вопрос задан: 16 January 2016 14:46
0
ответов

Как мне заставить haskell выводить числа НЕ в научном представлении?

У меня есть некоторые элементы, которые я хочу разделить на числа ведер, так что каждое ведро на некоторую долю больше предыдущего. items = 500 chunks = 5 increment = 0.20 {- найдите пропорции -...
вопрос задан: 14 January 2016 22:02
0
ответов

Почему в Haskell нет класса типов Cofunctor?

Монады получают fmap из класса типов Functor. Почему comonads не нужен метод cofmap, определенный в классе Cofunctor?
вопрос задан: 12 January 2016 13:41
0
ответов

Сопоставление с образцом Haskell - как использовать переменную констант

В идеале я бы хотел написать что-то вроде этого : myValue1 = 1 :: Int myValue2 = 2 :: Int myFunc :: Int -> Bool myFunc myValue1 = Истина myFunc myValue2 = False Вызов myFunc myValue2 возвращает True -...
вопрос задан: 9 January 2016 04:49
0
ответов

Почему не так много дискуссий о ко- и контравариантности в Haskell (в отличие от Scala или C #)?

Я знаю, что такое ковариация и контравариантность типов есть. У меня вопрос: почему я еще не столкнулся с обсуждением этих концепций при изучении Haskell (в отличие, скажем, от Scala)? Кажется, есть ...
вопрос задан: 7 January 2016 05:13
0
ответов

Почему в Haskell отсутствует буквальный синтаксис конструктора Data.Map?

Я все еще новичок в Haskell (изучаю его время от времени). Мне интересно, почему в Haskell нет буквального синтаксиса конструктора Data.Map, такого как синтаксис конструктора Map/Hash в Clojure или Ruby. Есть ли...
вопрос задан: 5 January 2016 13:10
0
ответов

Можете ли вы определить `Comonads` на основе` Monads`?

Итак, допустим, у вас есть тип newtype Dual f a = Dual {dual :: forall r. f (a - > r) -> r} Как выясняется, когда f является Comonad, Dual f является монадой (забавное упражнение). Это работает по-другому ...
вопрос задан: 16 December 2015 01:39
0
ответов

Haskell: реальная реализация монады ввода-вывода на другом языке?

Как на самом деле реализована монада ввода-вывода? В смысле, какова будет фактическая реализация основной функции? Как мне вызвать функцию haskell (IO) с другого языка, и нужно ли мне в этом случае ...
вопрос задан: 8 December 2015 00:15
0
ответов

haskell - типы - функции - деревья

Для практики haskell я хочу реализовать игру, в которой студенты/ученики должны в игровой форме изучать алгебру. В качестве базового типа данных я хочу использовать дерево: с узлами, которые имеют метки и алгебраические операторы ...
вопрос задан: 28 November 2015 14:37
0
ответов

Kind Signatures

Я просматриваю вики-книги по Haskell GADTS https://en.wikibooks.org/wiki/Haskell/GADT. Я довольно хорошо отслеживал, пока не была добавлена ​​сигнатура Kind, которая обобщает ограниченный тип...
вопрос задан: 28 November 2015 02:35
0
ответов

Кажется, я не могу понять оператор «разница списков» (\\)

Я слышал в Haskell термин "разница списков" (\\), но до сих пор не знаю, как его понять. Есть какие-нибудь примеры или идеи?
вопрос задан: 22 November 2015 15:08
0
ответов

Типы данных с дырами

Итак, если у меня есть два типа данных, которые в основном одинаковы , Я могу записать их так: data A t = A1 | A2 | A3 | A4 (B t) данные B t = B1 | B2 | B3 | B4 t тип AX = A X type AY = AY Теперь легко ...
вопрос задан: 22 November 2015 15:06
0
ответов

Несколько объявлений х

У меня есть этот код, и он не будет компилироваться, выделив x и y справа от Point3 и написав: «Несколько объявлений x» и «Несколько объявлений y». В чем дело? У Point2 и Point3 не может быть ...
вопрос задан: 22 November 2015 10:20
0
ответов

Проверка конкретного конструктора данных

Допустим, я определил свой собственный тип данных, например data MyData = A arg | B arg2 | C arg3 Как мне написать функцию (например: isMyDataType), которая проверяет, является ли данный аргумент одним из ...
вопрос задан: 19 November 2015 16:08
0
ответов

Определения рекурсивных / циклических модулей Haskell?

У меня есть два модуля, которые импортируют друг друга. Haskell не поддерживает рекурсивные модули. Итак, как я могу переписать свои типы данных без необходимости круговой модульной системы. Вот мой модуль Character.hs ...
вопрос задан: 19 November 2015 15:21
0
ответов

Подходит ли Atom для генерации C-кода общего назначения?

Можете ли вы использовать Atom для программирования C в Haskell? Возможно ли это и имеет ли это смысл?
вопрос задан: 17 November 2015 08:26
0
ответов

Как сборщик мусора может узнать о ссылках на объекты из стека?

В языках с автоматической сборкой мусора, таких как Haskell или Go, как сборщик мусора может определить, какие значения, хранящиеся в стеке, являются указателями на память, а какие - просто числами? Если ...
вопрос задан: 7 November 2015 13:22
0
ответов

Сборка мусора в Haskell и параллельных вычислениях

Большинство языков, использующих сборщики мусора (возможно, все из них), имеют одну серьезную проблему, связанную с параллельными вычислениями: сборщику мусора приходится останавливать все запущенные потоки, чтобы удалить неиспользуемые...
вопрос задан: 6 November 2015 09:24
0
ответов

Системное программирование на Haskell?

Можно ли перейти на очень низкий уровень функциональных языков, таких как Haskell? (например, создание ядра или драйвера устройства). И будут ли там функциональные возможности (например, монады) быстрыми и эффективными?
вопрос задан: 4 November 2015 03:15
0
ответов

Есть ли отладчик для Haskell пошагового режима?

Есть ли пошаговый отладчик для Haskell? отладчик или аналогичный для Haskell?
вопрос задан: 28 October 2015 15:08