0
ответов

Функция получает четыре аргумента вместо трех - почему это не ломается?

Читая «Real World Haskell», на странице 95 автор приводит пример: myFoldl fz xs = foldr step id xs z где step xga = g (факс) Мой вопрос: почему этот код компилируется? foldr принимает ...
вопрос задан: 11 February 2012 20:45
0
ответов

Оценка функции во время компиляции с помощью Template Haskell

Я пишу простой класс HashString, который представляет собой просто строку и ее хэш: data HashString = HashString Int - ^ hash T.Text - ^ string! Теперь я пытаюсь сгенерировать ...
вопрос задан: 11 February 2012 20:29
0
ответов

Подъем функции высшего порядка в Haskell

Я пытаюсь создать функцию типа: liftSumthing :: ((a -> mb) -> mb) -> (a -> tmb) -> tmb, где t - преобразователь монад. В частности, меня интересует следующее: ...
вопрос задан: 11 February 2012 19:11
0
ответов

ошибка вычитания haskell

answerFalse :: Int-> IO () answerFalse hp = do hp-- если hp <= 0, тогда putStrLn "================ Game Over ================" else print (hp) ...
вопрос задан: 11 February 2012 16:08
0
ответов

Бесконечный список бесконечных счетчиков

Для подозрительных людей это не домашнее задание, а просто любопытство. Учитывая конечный алфавит, можно ли составить список бесконечно длинных слов из алфавита в обратной лексографии ...
вопрос задан: 11 February 2012 15:40
0
ответов

Есть ли какая-нибудь функция haskell для объединения списка с разделителем?

Есть ли функция для объединения элементов списка с разделителем? Например:> foobar "" ["есть", "там", "такой", "а", "функция", "?"] ["есть ли такая функция?"] Спасибо за любой ответ!
вопрос задан: 10 February 2012 11:08
0
ответов

Как взять ленивую байтовую строку из zip-архива без переполнения кучи

Я хочу взять первые пять байтов из первого файла в zip-архиве. Я использую пакет zip-архива для распаковки: импортируйте квалифицированные Data.ByteString.Lazy как L импортировать данные. import System.Environment ...
вопрос задан: 10 February 2012 10:21
0
ответов

Как сохранить гибкость сильного набора текста в Haskell?

Я писал постоянно растущую базу кода на Haskell. Моя проблема в том, что я добавил сигнатуры типов к функциям на основе того, что GHCI говорит мне, что они должны быть. Проблема в том, что теперь у меня растет ...
вопрос задан: 10 February 2012 06:10
0
ответов

Как использовать прокси в Haskell? (возможно, используя расширение типов более высокого ранга)

В течение последних нескольких месяцев я вставлял некоторые серьезные усилия по изучению Haskell - раньше я был, по-видимому, вечным новичком с очень ограниченными знаниями основ. Пытаясь поставить ...
вопрос задан: 9 February 2012 23:51
0
ответов

Ошибка при установке hspec с помощью cabal

Я пытаюсь установить hspec, но получаю следующее: $ cabal install hspec Устранение зависимостей ... ...
вопрос задан: 9 February 2012 18:52
0
ответов

Как чисто преобразовать между списками и преобразователями монад ListT?

В настоящее время я пишу проект, в котором я интенсивно использую преобразователь монад ListT. При использовании простых списков реализовать недетерминизм очень просто. Однако, как только мне пришлось преобразовать свой код в ListT, ...
вопрос задан: 9 February 2012 16:49
0
ответов

Как мне сбросить stdin в Haskell?

Я пытаюсь написать клон urlview на Haskell. Программа читает сообщение (переданное через STDIN), извлекает все URL-адреса и просит пользователя выбрать один из них. После прочтения сообщения STDIN очевидно ...
вопрос задан: 9 February 2012 13:28
0
ответов

Рекомендуемое чтение/учебники для понимания библиотеки FRP reactive-banana [закрыто]

Меня интересует библиотека FRP (Functional Reactive Programming) reactive-banana haskell. Что бы вы рекомендовали прочитать новичку, чтобы понять теорию, лежащую в основе reactive-banana? Как я понимаю, ...
вопрос задан: 9 February 2012 11:56
0
ответов

Подтипы для типов естественного языка

Я лингвист, работающий над формальным синтаксисом / семантикой естественных языков. Я начал использовал Haskell совсем недавно и очень скоро понял, что мне нужно добавить подтипы. Например, учитывая ...
вопрос задан: 9 February 2012 01:31
0
ответов

Каноническая функция zip внешнего соединения

Если вы рассматриваете (неявные) индексы каждого элемента списка как их ключи, тогда zipWith является своего рода реляционным внутренним соединением. Он обрабатывает только те ключи, для которых оба входа имеют значения: ...
вопрос задан: 8 February 2012 17:34
0
ответов

Как мне создать пул потоков?

Иногда мне нужно запустить максимальное количество параллельных операций ввода-вывода для сетевой активности и т. д. Я создал небольшую функцию параллельного потока, которая хорошо работает с https: //gist.github.com / ...
вопрос задан: 8 February 2012 12:30
0
ответов

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

Предположим, у меня есть две функции f :: [a] -> b и g :: [a ] -> c. У меня есть два следующих вопроса: Если я выполняю (f &&& g) xs where xs :: [a], и если и f, и g включают циклы, это ...
вопрос задан: 8 February 2012 10:38
0
ответов

Обеспечение работы обычных монадических функций с эквивалентом преобразователя монад

Я пытаюсь решить проблему сбалансированных скобок. Я не хочу выполнять непрерывный ввод-вывод, а предпочел бы сделать один вызов getLine и проанализировать полученную строку. Поэтому функция, которая решает ...
вопрос задан: 8 February 2012 09:47
0
ответов

Как, почему и когда использовать шаблон модулей «.Internal»?

Я видел пару пакетов на взломе, которые содержат имена модулей с .Internal в качестве компонента их фамилии (например, Data.ByteString.Internal ) Эти модули обычно не доступны для просмотра должным образом (но ...
вопрос задан: 8 February 2012 09:31
0
ответов

GHC Core как «байт-код»?

Насколько я понимаю, GHC (компилятор Glorious Glasgow Haskell) компилирует Haskell в «Core», а затем компилирует это Ядро в машинный код. Было бы вообще практично распространять программы Haskell ...
вопрос задан: 8 February 2012 03:10
0
ответов

Приложение Yesod, не зависящее от имени хоста

Это очень простой вопрос: как запустить приложение Yesod, которое может обрабатывать несколько хостов одновременно? Настройка Yesod по умолчанию может обрабатывать входящие соединения с любого хоста, но все URL-адреса ...
вопрос задан: 7 February 2012 22:23
0
ответов

Асимметрия в функции BING

GHCI>: T (>> =) (>> =) :: Monad M => MB -> (A -> MB) -> MB Как наступит второй аргумент (A -> MB) вместо (MA -> MB) или даже (A -> B )? Что это ...
вопрос задан: 7 February 2012 19:42
0
ответов

escape code \“ prints both \”. Anyway to put a " in to a string.?

let ans = stringConcat ["",strr,""] putStr ("\nOutput :" ++show (ans)) when I print this answer is Output :"...
вопрос задан: 7 February 2012 07:42
0
ответов

Ищу конструктивную критику по реализации монад

Я изучаю монады, это моя первая рабочий (кроме тривиальной монады). Смело критикуйте все в нем безжалостно. Я' m особенно интересует «более идиоматический» и «более элегантный» ...
вопрос задан: 6 February 2012 23:50
0
ответов

Запись в стиле без смысла f x = g x x

Я учу Хаскель. Я прошу прощения за очень простой вопрос, но я не могу найти ответ. У меня есть функция f, определяемая как: f x = g x x, где g - это уже определенная функция 2 ...
вопрос задан: 6 February 2012 23:45
0
ответов

Есть ли какая-нибудь стандартная библиотека Haskell для взаимодействия процессов?

Погуглил немного, но все еще не уверен, есть ли какая-нибудь стандартная библиотека в Haskell для межпроцессного взаимодействия, так как я новичок в Haskell, я также надеюсь, что библиотека ...
вопрос задан: 6 February 2012 21:55
0
ответов

Какие интересные применения функций высшего порядка?

В настоящее время я изучаю курс функционального программирования, и меня очень забавляет концепция функций и функций высшего порядка как граждане первого класса. Однако я пока не могу думать о многих практически ...
вопрос задан: 6 February 2012 21:40
0
ответов

Гарантия оптимизации хвоста - кодирование циклов в Haskell

Итак, краткая версия моего вопроса: как мы должны кодировать циклы в Haskell в целом? В Haskell нет гарантии оптимизации хвоста, шаблоны взрыва даже не являются частью стандарта ...
вопрос задан: 6 February 2012 21:11
0
ответов

Xmonad: при плавающем окне перемещать или изменять его размер

Я предпочитаю использовать клавиатуру для плавания или опускания окон. К сожалению, при плавании окна не перемещаются и не изменяют размер, так что визуально не видно, что они не все еще плиточные. В идеале, при ...
вопрос задан: 6 February 2012 18:50
0
ответов

Нахождение самого короткого и самого длинного слова строки в Haskell

Я пытаюсь найти самое короткое и самое длинное слово в заданной строке. Если введенная строка имеет вид "house tap mobile phone", то самым длинным словом должен быть phone, а самым коротким - tap. У меня есть ...
вопрос задан: 6 February 2012 08:42