0
ответов

Высокопроизводительный уникальный идентификатор временной метки для нескольких потоков в Haskell

У меня есть несколько потоков, обрабатывающих события. Я хочу присвоить каждому событию наносекундную временную метку. Но это должен быть уникальный идентификатор. Таким образом, в случае, если два события произойдут так, что они будут ...
вопрос задан: 29 January 2012 07:46
0
ответов

реализация call/cc?

Я пытаюсь найти, как реализован call/cc. Лучшее, что я нашел, это фрагмент на Haskell: callCC f = Cont $ \k -> runCont (f (\a -> Cont $ \_ -> k a)) k Хотя это не так просто, как...
вопрос задан: 29 January 2012 04:19
0
ответов

Undefined на уровне типов

Часто, когда я играю с кодом на Haskell, я вставляю аннотацию типа и undefined. foo :: String -> Int foo = undefined Есть ли на уровне типов "undefined", который я мог бы использовать в ...
вопрос задан: 28 January 2012 22:21
0
ответов

Типовая проверка сгенерированного кода с доступом к динамически загруженному коду в Haskell

Мне нужен быстрый способ (1000 типовых проверок в секунду) для типовой проверки сгенерированного исходного кода Haskell. Мы попробовали hint, который был достаточно быстрым, но он не может получить доступ к динамически загруженному коду, если только исход
вопрос задан: 28 January 2012 19:35
0
ответов

Что делать, если инфиксные символы выглядят некрасиво с квалифицированными именами

Обычно я твердо верю в использование пространств имен (квалифицированных имен модулей) на большинстве языков, на которых я программирую, так как очень полезно с первого взгляда знать, где определенный идентификатор пришел из. В Haskell ...
вопрос задан: 28 January 2012 05:54
0
ответов

Как я могу превратить Sink в Conduit?

Я пытаюсь написать Conduit, используя парсер attoparsec. В частности, учитывая parseOne :: Parser T, я хотел бы создать Conduit ByteString m T, который многократно применяет синтаксический анализатор к входным данным и ...
вопрос задан: 28 January 2012 04:19
0
ответов

Объединить две монады, когда ни у одной из них нет трансформатора?

Я играю с написанием веб-приложения. В данном случае я использую scotty и redis, но эта проблема возникает при любом сочетании web/db. До этого я использовал happstack, так что я бы хотел получить пример и там. ...
вопрос задан: 27 January 2012 22:19
0
ответов

Haskell unsafeCoerce newtype в идентичный newtype

Представьте, что есть объявление нового типа: newtype T = T Int Это объявление находится в модуле, но не экспортируется. Я хотел бы передать значение типа T функции. Теперь я могу объявить свою собственную версию ...
вопрос задан: 27 January 2012 16:28
0
ответов

Как «выйти на раннем этапе» в веб-монаде

То, что часто случается со мной во время веб-программирования: я хочу запустить операцию, которая может потерпеть неудачу. В случае сбоя я хочу отправить клиенту 500. Однако обычно я просто хочу ...
вопрос задан: 27 January 2012 13:49
0
ответов

Как подражать лени

Я смотрел интервью с Джоном Хьюзом, и его спросили, скучает ли он по лени, когда он перешел с Haskell на Erlang, в ответ сказал «да» и использовал инструменты для его «эмуляции». Мой вопрос: ...
вопрос задан: 27 January 2012 12:33
0
ответов

Haskell: Как отключить функцию, которая запускает внешнюю команду

Я вызываю внешнюю программу внутри функции. Теперь я хотел бы отключить эту функцию, а не только внешнюю программу. Но по истечении времени ожидания функции внешняя программа все еще работает на моем ...
вопрос задан: 27 January 2012 12:07
0
ответов

лень и композиция функций (haskell, erlang)

Может ли кто-нибудь объяснить или дать некоторые ресурсы о том, как композиция функций работает по отношению к лени? Например, как работает filter (/ = 'W'). map toUpper $ "justaword" по сравнению с Haskell ...
вопрос задан: 27 January 2012 10:58
0
ответов

Существуют ли расширения языка или языки-потомки Haskell, которые предпочитают выразительность, особенно в работе с экземплярами?

Временами я сталкиваюсь с "особенностью", что Haskell соответствует только головкам экземпляров, а именно: instance (a ~ NewDataTyp b) => C a теперь будет соответствовать любому типу, т.е. писать еще один экземпляр ...
вопрос задан: 27 January 2012 05:07
0
ответов

Haskell GHC: какова временная сложность сопоставления с образцом с N конструкторами?

Допустим, у нас есть следующий Haskell: data T = T0 | T1 | T2 | ... | TN toInt: : T -> Int toInt t = case t of T0 -> 0 T1 -> 1 T2 -> 2 ... TN -> N Какой алгоритм используется ...
вопрос задан: 27 January 2012 00:12
0
ответов

Написание «fib» для параллельного выполнения: -N2 медленнее?

Я изучаю Haskell и пытаюсь написать код для параллельного выполнения, но Haskell всегда запускает его последовательно. И когда я выполняю с флагом времени выполнения -N2, на выполнение уходит больше времени, чем если я опускаю ...
вопрос задан: 26 January 2012 20:42
0
ответов

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

Существует раздражающая «особенность», что на создание экземпляров также влияет расширение RebindableSyntax. Пример того, что я хочу написать: {- # LANGUAGE RebindableSyntax # -} импортная версия Prelude ...
вопрос задан: 26 January 2012 20:27
0
ответов

Использование Parsec для синтаксического анализа регулярных выражений

Я пытаюсь изучить Parsec, реализуя небольшой синтаксический анализатор регулярных выражений. В BNF моя грамматика выглядит примерно так: EXP: EXP * | LIT EXP | LIT Я пытался реализовать это в Haskell ...
вопрос задан: 26 January 2012 15:11
0
ответов

Установить Happstack-server 6.5.3 на OSX - отсутствует libcryptopp

Я пытаюсь установить последнюю версию Happsstack-server в OSX. Они просто добавили зависимость от libcryptopp, и я не могу заставить ее работать. ~ $ cabal установить Happstack-server Устранение зависимостей ... ...
вопрос задан: 26 January 2012 14:43
0
ответов

Ассоциированные типы и элементы контейнеров

Я думаю, что когда-то я задавал этот вопрос на Haskell-Cafe, но, черт возьми, я не могу найти ответ сейчас... Поэтому я задаю его снова здесь, чтобы надеяться, что в будущем я смогу найти ответ! Хаскель - это фантастика...
вопрос задан: 26 January 2012 12:49
0
ответов

Что использовать вместо основного цикла в Haskell?

Мне нужен цикл для main в Haskell. Я пробовал это: main :: IO () main = do putStrLn "делать что-то" main Правильно ли использовать приведенный выше код? Будет ли эта бесконечная рекурсия причиной ...
вопрос задан: 26 January 2012 09:56
0
ответов

итерация по списку в haskell

У меня есть список символов ::[[Char]]. Мне нужно выполнить итерацию как по списку строк, так и по каждому символу в каждой строке. Скажем, мой список присутствует в этой переменной. let xs Please ...
вопрос задан: 26 January 2012 06:53
0
ответов

как добиться эффекта «произведения двух монад»?

Предположим, у нас есть две монады, m и m '. Теперь предположим, что у нас есть переменные, - в реальных задачах ограничение - это некий подкласс MyMonad, так что не беспокойтесь - если здесь mx и f должны ...
вопрос задан: 26 January 2012 02:34
0
ответов

Как используются поля Переносимость, Стабильность и Сопровождение модуля Пикши?

Во многих документах по модулям, созданным Пикшой (например, Prelude) в правом верхнем углу можно увидеть небольшую рамку, содержащую информацию о переносимости, стабильности и сопровождении: Из исходного кода ...
вопрос задан: 26 January 2012 00:50
0
ответов

Как реализована поддержка профилирования во время выполнения ghc?

Я не нашел много документации в комментариях. Есть ли какие-нибудь хорошие сообщения в блогах или что-то подобное по этому поводу?
вопрос задан: 25 January 2012 21:48
0
ответов

Haskell: Получение значения из RVar в Data.Random

Как мне написать функцию с сигнатурой типа, например: mySample :: StdGen -> Int -> [a] -> [a] в терминах of sample :: Int -> [a] -> RVar [a], где sample определен в Data.Random ....
вопрос задан: 25 January 2012 20:01
0
ответов

Есть ли веская причина, по которой у `deleteBy` нет своего наиболее общего типа?

В отчете о языке Haskell 2010 говорится в разделе 20.10. .1.1 что: deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a] Фактически, реализация в библиотеке GHC позволит deleteBy ...
вопрос задан: 25 January 2012 15:21
0
ответов

Визуализация модели данных Haskell из исходного кода

Существует ли инструмент, который автоматически создает визуализацию (что-то вроде диаграммы классов) модели данных haskell из исходного кода? Что-то, что просматривает конструкторы данных и записи и ...
вопрос задан: 25 January 2012 11:55
0
ответов

Сравнение веб-фреймворков Haskell Snap и Yesod

Две недавно появившиеся в новостях веб-фреймворки Haskell - Yesod (0,8) и Snap (0,4). Совершенно очевидно, что Yesod в настоящее время поддерживает гораздо больше функций, чем Snap. Однако я терпеть не могу ...
вопрос задан: 25 January 2012 08:59
0
ответов

Слияние/присоединение Just в Haskell

Я пытаюсь сделать то, что должно быть ослепительно очевидно в Haskell, а именно перейти от Just [1] и Just [2] к Just [1, 2]. Однако я не могу ничего найти в Интернете, поскольку продолжаю находить связанные, но бесполезные страницы. ...
вопрос задан: 25 January 2012 01:02
0
ответов

Перекрывающиеся совпадения шаблонов

У меня есть следующий код: test :: String -> Bool test "g" = True test "global" = True test _ = False Когда я загружаю его в GHCi (7.0.3), я получаю: Предупреждение: Pattern match(es) are overlapped ...
вопрос задан: 24 January 2012 20:35