0
ответов

Писать или не писать `модуль Main, где `в Haskell

Спецификация Haskell 98 говорит, что точка входа в программу, а именно функция main, по соглашению должна находиться в модуле с именем Main. Однако, даже если вы не пишете модуль Main, где в...
вопрос задан: 20 June 2012 03:20
0
ответов

Почему отброшенные значения ()вместо ⊥ в Haskell?

Почему в Haskell, когда есть значение, которое будет отброшено, вместо ⊥ используется ()? Примеры (на данный момент не могут думать ни о чем, кроме действий ввода-вывода ):mapM_::(Монада m )=> (a...
вопрос задан: 19 June 2012 23:55
0
ответов

Что означает это предупреждающее сообщение, когда я загружаю модуль в HackageDB?

Когда я загружаю модуль в Hackage, я получаю следующее сообщение об ошибке: «Открытые модули используют нераспределенные имена верхнего уровня». Я объявляю модуль открытым в файле .cabal. Является ли ...
вопрос задан: 19 June 2012 22:18
0
ответов

Упростить выражения Maybe

У меня есть следующий код, и я думаю, что он некрасивый: loginCheck = do ml < -- getPostParam "логин" -- ml и mp :: Maybe ByteString mp <- getPostParam "пароль" if isJust ml && isJust ...
вопрос задан: 19 June 2012 20:50
0
ответов

как преобразовать строки в синтаксическое дерево с помощью GADT

Я читал введение в GADT здесь, и мне понравилась идея ограничить программиста созданием только правильного типа синтаксического дерева, и я включил эту идею в свое простое лямбда-исчисление. интерпретатор, ...
вопрос задан: 19 June 2012 15:40
0
ответов

Почему Haskell/GHC не поддерживает перегрузку имени записи

Я новичок в Haskell. Я заметил, что Haskell не поддерживает перегрузку имен записей: -- Records.hs data Employee = Employee { firstName :: String , lastName :: String , ssn :: String ...
вопрос задан: 19 June 2012 11:52
0
ответов

Безопасное моделирование реляционных данных в Haskell

Я считаю очень распространенным желание моделировать реляционные данные в моих функциональных программах. Например, при разработке веб-сайта мне может потребоваться следующая структура данных для хранения информации о моих пользователях: ...
вопрос задан: 19 June 2012 03:18
0
ответов

Есть ли методы для восстановления достаточной лени, чтобы связать себя узами брака в монаде?

Я хочу написать простой фрагмент кода (сэкономив мне много времени на реализацию в противном случае), связав себя узами брака. Это примерно так: n <- myinstr nx, где теоретически myinstr должен запустить x, чтобы получить ...
вопрос задан: 18 June 2012 14:05
0
ответов

Использование Cont для получения значений из будущего и прошлого

Я пишу интерпретатор brainfuck на Haskell и придумал, как мне кажется, очень интересное описание программы :data Program m = Instruction (m())(Программа m )|...
вопрос задан: 18 June 2012 14:04
0
ответов

Как сделать этот фрагмент кода на Haskell более кратким?

В качестве практики я пытаюсь написать симуляцию для игры в казино "Война" на Haskell. http://en.wikipedia.org/wiki/Casino_war Это очень простая игра с несколькими правилами. В противном случае это было бы очень...
вопрос задан: 18 June 2012 03:04
0
ответов

Как объединить пакеты Haskell с несколькими авторами

Во всех руководствах и примерах того, как объединять пакеты Haskell, предполагается, что у пакета есть один автор (а также один сопровождающий). ). Как правильно указать нескольких авторов в файле .cabal?...
вопрос задан: 18 June 2012 02:24
0
ответов

Полное определение синтаксиса файла .cabal

Я много гуглил, и хотя я могу найти множество примеров файлов cabal, а также хорошие учебные пособия, я хотел бы иметь правильное определение грамматики для формата файла .cabal. Увы, нет...
вопрос задан: 18 June 2012 02:20
0
ответов

Кто-нибудь когда-нибудь составлял список импортов, необходимых для того, чтобы избежать «недостаточно полиморфных» определений в стандартных библиотеках Haskell?

Я уже довольно давно использую Haskell. Чем больше я им пользуюсь, тем больше влюбляюсь в язык. Я просто не могу поверить, что провел почти 15 лет своей жизни, используя другие языки. ...
вопрос задан: 18 June 2012 01:22
0
ответов

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

В GHCI: Prelude> ошибка (ошибка "") *** Исключение: Prelude> (ошибка . ошибка) "" *** Исключение: *** Исключение: Почему первое не является вложенным исключением?
вопрос задан: 17 June 2012 22:39
0
ответов

Алгебраические типы данных Haskell: «псевдорасширение»

Я изучаю алгебраические DT в Haskell. Что я хотел бы сделать, так это создать новый ADT, который как бы «расширяет» существующий. Я не могу найти, как выразить то, что я хотел бы, может кто-нибудь предложить ...
вопрос задан: 17 June 2012 18:30
0
ответов

Кислотное состояние: экземпляр MonadState для обновления

Я пытаюсь кислотное состояние. В документации указано, что Update st является экземпляром MonadState st. Я пробовал разные вещи, но мой компилятор не хочет этого видеть :( Я пробовал HelloWorld.hs из ...
вопрос задан: 17 June 2012 13:47
0
ответов

Охранники против if-then-else против кейсов в Haskell

У меня есть три функции, которые находят n-й элемент списка: nthElement :: [a] -> Int -> Может быть nthElement [] a = Ничего такого nthElement (x: xs) a | a <= 0 = Ничего | a == 1 ...
вопрос задан: 17 June 2012 03:09
0
ответов

Экземпляр MonadFix для Put

Надеюсь, простой вопрос: бинарный пакет определяет два типа, Get и Put. Первый по существу является государственной монадой, а второй по существу является писателем. И состояние, и запись имеют разумные...
вопрос задан: 17 June 2012 02:16
0
ответов

Ubuntu haskell ghci 7.4.1 не смог найти модуль «System.Random»

Когда я попытался загрузите .hs в ghci, это не удалось в строке: импортировать System.Random Сообщение: не удалось найти модуль «System.Random» Используйте -v, чтобы увидеть список искомых файлов. Помнится работало...
вопрос задан: 17 June 2012 01:04
0
ответов

Пересвязываем do обозначения для индексированных монад

Я следил за работой Конора МакБрайда «Стрелы возмутительного состояния» Клейсли, и я разместил здесь свою реализацию его кода. Вкратце, он определяет следующие типы и классы: type a: -> b = ...
вопрос задан: 15 June 2012 23:54
0
ответов

Пример персистентности с оператором, специфичным для серверной части

Я хотел бы выполнить запрос LIKE в персистентности, я использую sqlite. В книге yesod приводится пример использования необработанного SQL для этого, но говорится: вы можете выразить оператор LIKE напрямую в обычном синтаксисе...
вопрос задан: 15 June 2012 09:36
0
ответов

Может ли logHook xmonad запускаться с заданными интервалами, а не (просто) в ответ на события макета?

Я использую dynamicLogWithPP из XMonad.Hooks.DynamicLog вместе с dzen2 в качестве строки состояния под xmonad. Одна из вещей, которые я хотел бы отображать на панели, это время, оставшееся в текущем ...
вопрос задан: 15 June 2012 08:09
0
ответов

функция seq и строгость

Я много думал об этом, но ничего не нашел. При использовании функции seq, как она на самом деле работает? Везде просто поясняется, что seq...
вопрос задан: 15 June 2012 07:45
0
ответов

Можно ли «скрыть» языковые расширения?

Я написал модуль, и для запуска основного кода, в который импортируется модуль, необходимо расширение языка {-# LANGUAGE OverloadedStrings #-} или необходимо указать параметр, когда ...
вопрос задан: 14 June 2012 15:07
0
ответов

Почему Haskell такой большой? [закрыто]

Я новичок в Haskell, и пока он мне очень нравится. Одна вещь, которая меня поражает, это то, что он кажется довольно большим, с множеством синтаксических конструкций и библиотек, которые определяют функции практически для всего....
вопрос задан: 14 June 2012 02:07
0
ответов

Haskell чтение строк файла

Я хочу прочитать весь файл в строку, а затем использовать строки функции, чтобы получить строки строки. Я пытаюсь сделать это с помощью следующих строк кода: main = do args <- getArgs content <-...
вопрос задан: 13 June 2012 19:50
0
ответов

Версия сопоставления шаблона haskell для F#

Как правильно выполнить этот haskell в F#? добавить 1 2 х = 3 + х добавить 1 х у = 1 + х + у add z x y = z + x + y
вопрос задан: 13 June 2012 13:39
0
ответов

Глобальные переменные и монада чтения

У меня есть модуль, в котором создается и инициализируется глобальная среда (определяющая определенные ограничения, такие как соседние IP-адреса и т. д.). инициализирующая функция. Ряд последующих ...
вопрос задан: 13 June 2012 13:29
0
ответов

hGetContents слишком ленив

У меня есть следующий фрагмент кода, который я передаю withFile :text < -hGetContents hand let code = parseCode text код возврата Здесь hand — допустимый дескриптор файла, открытый с помощью ReadMode и...
вопрос задан: 13 June 2012 02:35
0
ответов

Есть ли лучший способ выразить абсолютную функцию ошибки в бесточечной записи?

В точечной нотации: absoluteError xy = abs (xy) Неясный пример в бесточечной нотации: absoluteError' = curry (abs . uncurry (-))
вопрос задан: 13 June 2012 00:38