0
ответов

Соглашение об указании расширений в кабализированном проекте

Для любого файла .hs вы можете указать языковые расширения, на которые вы полагаетесь, следующим образом: {- # LANGUAGE Foo, Bar, Baz # -} Кабализованный проект также может указывать язык расширений для каждого проекта в ....
вопрос задан: 2 March 2012 22:13
0
ответов

Суммировать список списков?

Как суммировать список списков с помощью ? Я знаю, что могу суммировать два списка как: zipWith (+) [1,2,3] [2,3,4] Но как насчет списка? Например: пусть k = [[1,1,1], [2,2,2], [3,3,3]] суммаFoo k > [...
вопрос задан: 2 March 2012 18:57
0
ответов

Общий совет по сокращению времени GC в GHC

Существуют ли какие-либо общие правила, которым нужно следовать, чтобы обнаружить причину, когда программа, скомпилированная с помощью GHC, тратит слишком много времени на сборку мусора? И что вообще считается слишком много? Для ...
вопрос задан: 2 March 2012 11:44
0
ответов

Заботимся ли мы о «прошлом» FRP?

Играя с реализацией FRP, я обнаружил, что сбивает с толку: что делать? делать с прошлым? По сути, я понимал, что я смогу сделать это с помощью Behavior в любом ...
вопрос задан: 2 March 2012 01:36
0
ответов

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

Недавно я прошел Waterloo CCC и считаю, что Haskell - идеальный язык для ответов на подобные вопросы. Я все еще изучаю это. Однако я немного борюсь с вводом. Вот ...
вопрос задан: 2 March 2012 01:05
0
ответов

Управление памятью Haskell в IOS 5

Я хочу встроить движок Haskell в проект IOS 5 в качестве библиотеки C, чтобы запускать код Haskell внутри приложения IOS. Итак, у меня есть несколько вопросов: Есть ли какие-либо известные проблемы с управлением памятью, с которыми Haskell...
вопрос задан: 1 March 2012 20:28
0
ответов

Как функционально вычислить разницу между последовательными элементами списка неизвестного размера?

На языке программирования, который является чисто функциональным (например, Haskell) или где вы используете его только функционально (например, clojure ); предположим, у вас есть список / последовательность / перечислимый (неизвестного размера) целых чис
вопрос задан: 1 March 2012 17:45
0
ответов

Использование символов Unicode в документации Haddock

Haddock, похоже, неправильно перекодирует символы, отличные от ASCII, в документации в исходных файлах с кодировкой UTF-8. Мне часто приходится включать математические формулы в документацию, а их очень много ...
вопрос задан: 1 March 2012 15:54
0
ответов

Как установить cairo на Windows

Да хоть убей, я не могу понять, как установить cairo на Windows! Мне он нужен для Haskell Charts, но когда я следую инструкциям по установке и приступаю к работе: cabal install gtk, я получаю эту ошибку: ...
вопрос задан: 1 March 2012 13:30
0
ответов

Как я могу создавать разнородные списки (также известные как HLists) с ограниченными элементами?

Я экспериментировал с использованием семейств типов для абстрагирования наборов инструментов пользовательского интерфейса. Мне не удалось застрять, когда я пытаюсь использовать HLists (http://homepages.cwi.nl/~ralf/HList/) для улучшения API. Мой API изна
вопрос задан: 1 March 2012 11:31
0
ответов

Версия для печати стандартной библиотеки Haskell

Существуют ли офлайн-версии документации стандартной библиотеки Haskell? Другими словами, я ищу книгу или загружаемое руководство по библиотеке Haskell?
вопрос задан: 1 March 2012 10:52
0
ответов

Использование SSL в Haskell

Есть ли полная (и хорошая) реализация или оболочка для SSL в Haskell? Мой друг, изучающий Haskell, ранее спрашивал меня, как реализовать TLS или SSL в Haskell, и после небольшого поиска я не смог...
вопрос задан: 1 March 2012 04:24
0
ответов

Что предпочтительнее среди liftM, lilftA и т. Д.

В последнее время я писал код FFI, который возвращает структуру данных в монаде ввода-вывода. Например: peek p = Vec3 <$> (#peek aiVector3D, x) p <*> (#peek aiVector3D, y) p ...
вопрос задан: 1 March 2012 01:23
0
ответов

Полиморфная сигнатура для неполиморфной функции: почему бы и нет?

В качестве примера рассмотрим тривиальную функцию f :: (Integral b) => a -> b f x = 3 :: Int GHC жалуется, что не может вывести (b ~ Int). Определение соответствует сигнатуре в том смысле, что она ...
вопрос задан: 29 February 2012 21:08
0
ответов

Тип данных Haskell в Java(OO)

Я пытаюсь преобразовать простой тип данных Haskell и функцию в OO. Но я запутался. Имею следующий тип Haskell для арифметических вычислений: data Expr = Lit Int | Добавить Выражение Выражение | ...
вопрос задан: 29 February 2012 19:56
0
ответов

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

Haskell не поддерживает циклическое выполнение вычислений, вместо этого он предлагает использовать алгоритмы рекурсии. Но такой подход приводит к увеличению стека и даже его переполнению. Я считаю, что должно быть ...
вопрос задан: 29 February 2012 19:14
0
ответов

Преобразовать запись bibtex в другой тип данных

Я хочу преобразовать запись bibtex в свой собственный тип данных, который выглядит примерно так: date MyEntry = MyEntry {ident :: String, author :: [String], address :: String} Но поля похожи ...
вопрос задан: 29 February 2012 19:00
0
ответов

Haskell: В чем разница между (+1) и (\ x-> x + 1)?

Есть ли разница между этими двумя функциями? ghct говорит: Prelude>: t (+1) (+1) :: Num a => a -> a Prelude>: t \ x-> x + 1 \ x-> x + 1 :: Num a => a -> а когда я использовал (+1) ...
вопрос задан: 29 February 2012 18:11
0
ответов

Установка argv [0] в Haskell?

Есть ли способ установить argv [0] в программе Haskell (скажем, скомпилированной с помощью ghc)? Я нашел функции getProgName и withProgName в System.Environment, но, похоже, они не меняют то, что ps ...
вопрос задан: 29 February 2012 16:59
0
ответов

Кодирование SHA1 в Haskell

У меня есть список путей к файлам, и я хочу, чтобы все эти файлы снова сохранялись в виде хэша с кодировкой sha1 в списке. Он должен быть как можно более общим, чтобы файлы могли быть как текстовыми, так и двоичными. А теперь мой ...
вопрос задан: 29 February 2012 16:21
0
ответов

Непарсерный пример для `Control.Applicative.optional`

Недавно я наткнулся на общий комбинатор Control.Applicative.optional: optional :: Альтернатива f => f a -> f (Maybe a) optional v = Just <$> v <|> pure Nothing but I don'...
вопрос задан: 29 February 2012 14:07
0
ответов

Распечатать и выполнить строку

Я пишу много кода, например putStr "foo (bar 1) (bar 2) =" print $ foo (bar 1) (bar 2) Проблема в том, что распечатанное сообщение может не синхронизироваться с фактическим исполняемым кодом. Очевидное ...
вопрос задан: 29 February 2012 11:52
0
ответов

Как я могу определить размер типа в Haskell?

Предположим, я создал тип следующим образом: data RequestAck = RequestAck {ackOK :: Word32, ackMsgCode :: Word32} Я вижу, что он имеет размер 2 * 4 байта и сделайте это где-нибудь константой. ...
вопрос задан: 29 February 2012 02:32
0
ответов

Как получить строгий массив аккумуляторов?

У меня есть список пар ключ-значение, и я хочу подсчитать, сколько раз встречается каждый ключ и с какими значениями он встречается , но при попытке я получаю переполнение стека. Вот упрощенная версия кода. Я ...
вопрос задан: 28 February 2012 23:48
0
ответов

ghci - нетерпеливая компиляция в интерактивном режиме?

Следующий тип программы проверяется, если я указываю его в командной строке (например, ghci file.hs): import Data.Ratio foo = let x = [1...] y = (1%2) + (head x) in y Однако, если я укажу его ...
вопрос задан: 28 February 2012 22:24
0
ответов

Как получить доступ к элементу списка, который я добавил с помощью оператора cons (:)?

Я новичок в Haskell (и функциональном программировании в целом) и хотел бы узнать, как я могу получить доступ к новому элементу, который я добавил в список с помощью оператора cons (:)? Например, используя WinGHCi, я создаю ...
вопрос задан: 28 February 2012 17:33
0
ответов

Как заменить узлы в HXT?

Для примера XML-файла: Content Содержание как мне заменить каждый тег другим тегом, чтобы я ...
вопрос задан: 28 February 2012 16:57
0
ответов

Кратковременная мемоизация в Haskell?

В объектно-ориентированном языке, когда мне нужно кэшировать / запоминать результаты функции в течение известного времени жизни, я обычно следую этому шаблону: Создайте новый класс Добавьте в класс элемент данных и ...
вопрос задан: 28 February 2012 16:55
0
ответов

Отладка Parsec

Я работаю с parsec и у меня проблемы с отладкой кода. Например, я могу установить точку останова в ghci, но я не уверен, как увидеть, сколько входных данных было израсходовано, или что-то вроде ...
вопрос задан: 28 February 2012 14:47
0
ответов

Каковы все соглашения об именах монад?

Похоже, что Haskell установил несколько соглашений об именах для монад. Примеры: добавление T в конец для получения имени преобразователя монад (например, Reader -> ReaderT) использование runXXX для ...
вопрос задан: 28 February 2012 06:30