0
ответов

Чем Clojure STM отличается от Haskell STM?

Я пытаюсь найти различия между тем, что Clojure вызывает STM и то, что реализовано в Haskell как STM. Если отвлечься от фактических языковых семантических различий, я немного сбит с толку, как Rich ...
вопрос задан: 3 August 2019 11:57
0
ответов

Какие символы разрешены для операторов Haskell?

Есть ли где-нибудь полный список разрешенных символов или правило, определяющее, что можно использовать в идентификаторе, а что в операторе?
вопрос задан: 31 July 2019 09:33
0
ответов

Написание foldl с использованием foldr

В Real World Haskell, Глава 4. Функциональное программирование: напишите foldl с помощью foldr: - file: ch04 / Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl fz xs = foldr step id xs ...
вопрос задан: 29 July 2019 19:40
0
ответов

Определение того, является ли данное число простое число в haskell

Итак, я разработал следующую функцию для проверки того, является ли данное число простым в Haskell (предполагается, что первое простое число равно 2): isPrime k = length [x | x <- [2..k], k `mod` x == 0] == 1 он имеет ...
вопрос задан: 26 July 2019 21:07
0
ответов

Haskell: Получение Show для настраиваемого типа

У меня есть определение этого типа: data Operace = Op (Int-> Int-> Int) String (Int-> Int-> Int) производное Show Я хочу напечатать этот тип в интерактивной оболочке ( GHCi). Все, что должно быть ...
вопрос задан: 25 July 2019 03:47
0
ответов

Комбинатор с фиксированной запятой в Haskell

Комбинатор с фиксированной запятой не всегда давать правильный ответ с учетом определения: fix f = f (fix f) Следующий код не завершается: fix (\ x-> x * x) 0 Конечно, исправить не всегда ...
вопрос задан: 24 July 2019 17:14
0
ответов

Инвертировать перестановку в линейное время, используя только списки

Я хочу определить функцию invert :: [Int] -> [Int], которая предполагает, что ее вход является перестановка [0 .. (n-1)] и возвращает обратное. Можно ли определить его, используя только списки и кортежи (без ...
вопрос задан: 16 July 2019 22:31
0
ответов

Найти наименьшее неотрицательное целое число не в списке за линейное время, используя только списки.

Рассмотрим функцию minout :: [Int] -> Int, которая принимает список различных неотрицательных целых чисел и возвращает наименьшее неотрицательное целое число, отсутствующее в список. Поведение функции ...
вопрос задан: 16 July 2019 22:31
0
ответов

Что означает сбежавший амперсанд в Хаскеле?

Я посмотрел отчет Haskell 2010 и заметил странную последовательность с амперсандом: \ & amp; Я не мог найти объяснения, что должна означать эта escape-последовательность. Это также может быть только ...
вопрос задан: 16 July 2019 22:27
0
ответов

Зачем использовать нулевую функцию вместо == [] для проверки пустого списка в Haskell?

Я читаю главу «Начинаем» в «Learn You a Haskell for Great Good!». Он говорит: null проверяет, если список пуст. Если это так, он возвращает True, иначе он возвращает False. Использовать этот ...
вопрос задан: 15 July 2019 09:37
0
ответов

Haskell: Почему сопоставление с образцом работает для типов, не являясь экземплярами равенства?

Мне было интересно, как работает сопоставление с образцом в Haskell. Я знаю об этой ветке, но не совсем понял ответы в ней. В ответах говорится, что типы сопоставляются с логическими выражениями, ...
вопрос задан: 15 July 2019 08:24
0
ответов

Как использовать исправление и как оно работает?

Меня немного смутила документация по исправлению (хотя я думаю, что теперь понимаю, что оно должно делать), поэтому я посмотрел в исходном коде. Это сбило меня с толку: fix :: (a -> a) -> a ...
вопрос задан: 15 July 2019 05:05
0
ответов

Что такое нормальная форма слабой головы?

Что означает нормальная форма слабой головы (WHNF)? Что означает нормальная форма головы (HNF) и нормальная форма (NF)? Real World Haskell заявляет: Знакомая функция seq оценивает выражение для того, что мы ...
вопрос задан: 9 July 2019 02:36
0
ответов

Преобразование функции, которая вычисляет фиксированную точку

У меня есть функция, которая вычисляет фиксированную точку в терминах итерации: EquityClosure :: (Ord a) => Relation a -> Relation a эквивалентностьClosure = fst. List.head - "гарантировано" ...
вопрос задан: 7 July 2019 00:35
0
ответов

haskell — установил fixedpoint библиотеку?

я ищу библиотеку, которая вычислит фиксированную точку / закрытие набора под многими операторами переменной арности. Например, fixwith [(+)] [1] для целых чисел должен вычислить все N (...
вопрос задан: 7 July 2019 00:34
0
ответов

Сравнение перечислителя и пакета итератора

В настоящее время существует два популярных варианта, реализующих шаблон итератора: пакет перечислителя и пакет итератора. Каковы их относительные преимущества? Один лучше другого, или делает ...
вопрос задан: 29 June 2019 16:47
0
ответов

Будет ли иметь смысл класс типа «между» категорией и стрелкой?

Часто у вас есть что-то вроде аппликативного без чистого слова или что-то вроде монады, но без возврата. Пакет полугруппоид охватывает эти случаи с помощью Apply и Bind. Теперь я нахожусь в подобном ...
вопрос задан: 2 June 2019 14:22
0
ответов

Что не так с определением композиции таким образом?

Я просматривал некоторые учебные пособия по Arrow, играя с функциями, возвращающими новую версию самих себя в попытке сохранить какое-то состояние. Новый тип определяется так: newtype Circuit a b = ...
вопрос задан: 2 June 2019 14:17
0
ответов

Что хорошего в Control.Category?

Если я узнаю, что что-то является моноидом или монадой, у меня есть все, чтобы использовать всевозможные забавные функции, такие как foldMap, sequence или даже mapM. Они делают меня счастливым. Что я получу, если узнаю, что что-то ...
вопрос задан: 2 June 2019 14:03
0
ответов

Сигнатура типа в предложении where

Я написал функцию, аналогичную Data.Enumerator.List.map, которая делает Iteratee совместимым с Enumerator, который передает поток другого типа. import Data.Enumerator test :: Monad m => (ao ...
вопрос задан: 31 May 2019 23:17
0
ответов

перестановка из двух списков, но без использования полного числа [закрыто]

Я хочу создать список всех возможных перестановок из двух списков. Однако я не хочу делать с полной длины. Например, первый список - это ["a", "e", "i", "o" "u"], а второй - [1, 2, 3, 4, 5] ...
вопрос задан: 31 May 2019 04:30
0
ответов

Функциональный эквивалент шаблона декоратора?

Что такое функциональный программный эквивалент шаблона проектирования декоратора? Например, как бы вы написали этот конкретный пример в функциональном стиле?
вопрос задан: 21 May 2019 13:48
0
ответов

Как найти индекс элемента в списке?

Предоставление элемента в списке, какую функцию я могу использовать, чтобы найти его индекс? Например, я хочу найти индекс 3 в списке [1, 2, 3, 4]. Какая функция существует в Haskell, которую я могу использовать для ...
вопрос задан: 16 May 2019 11:42
0
ответов

Как получить значение Maybe в Haskell

I ' m относительно новичок в Haskell и начал читать "Real World Haskell". Я просто наткнулся на тип «Может быть», и у меня возник вопрос, как, например, получить фактическое значение от Just 1. У меня ...
вопрос задан: 16 May 2019 07:22
0
ответов

Как заставить Haskell работать на Ubuntu 13

Я пытаюсь заставить GHC работать над Ubuntu. Сделал следующее: sudo apt-get установил ghc sudo apt-get установил cabal-установил cabal-обновление cabal установил hsenv Затем я попытался создать среду hsenv ...
вопрос задан: 9 May 2019 13:04
0
ответов

Как использовать церковное кодирование для свободных монад?

Я использую бесплатный тип данных в Control.Monad.Free из бесплатного пакета. Сейчас я пытаюсь преобразовать его для использования F в Control.Monad.Free.Church, но не могу понять, как отобразить функции. За ...
вопрос задан: 9 May 2019 00:36
0
ответов

Разовьются ли у меня хорошие / плохие привычки из-за ленивых оценок?

I ' Я хочу изучить функциональное программирование на Haskell или F #. Существуют ли какие-либо привычки программирования (хорошие или плохие), которые могут возникнуть в результате ленивых вычислений Haskell? Мне нравится идея Haskell '...
вопрос задан: 2 May 2019 13:06
0
ответов

Не удалось сопоставить ожидаемый тип с предполагаемым типом, Ошибка переменной жесткого типа

Что не так с этой функцией? test :: Показать s => s test = "asdasd" Строка является экземпляром класса Show, поэтому кажется правильной. Ошибка src \ Main.hs: 224: 7: Не удалось сопоставить ожидаемое ...
вопрос задан: 21 April 2019 06:00
0
ответов

Быстрая, безветвленная, беззнаковая и абсолютная разница

У меня есть программа, которая проводит большую часть своего времени, вычисляя евклидово расстояние между значениями RGB (3 кортежа беззнакового 8-битного Word8). Мне нужна быстрая, безответная беззнаковая int абсолютная разница ...
вопрос задан: 19 April 2019 00:15
0
ответов

Почему монады? Как это устраняет побочные эффекты?

Я изучаю Haskell и пытаюсь понять монады. У меня два вопроса: насколько я понимаю, Monad - это просто еще один класс типов, который объявляет способы взаимодействия с данными внутри «контейнеров», ...
вопрос задан: 18 April 2019 10:52