Для любого файла .hs вы можете указать языковые расширения, на которые вы полагаетесь, следующим образом: {- # LANGUAGE Foo, Bar, Baz # -} Кабализованный проект также может указывать язык расширений для каждого проекта в ....
Как суммировать список списков с помощью ? Я знаю, что могу суммировать два списка как: zipWith (+) [1,2,3] [2,3,4] Но как насчет списка? Например: пусть k = [[1,1,1], [2,2,2], [3,3,3]]
суммаFoo k
> [...
Существуют ли какие-либо общие правила, которым нужно следовать, чтобы обнаружить причину, когда программа, скомпилированная с помощью GHC, тратит слишком много времени на сборку мусора? И что вообще считается слишком много? Для ...
Играя с реализацией FRP, я обнаружил, что сбивает с толку: что делать?
делать с прошлым? По сути, я понимал, что я смогу сделать это с помощью Behavior в любом ...
Недавно я прошел Waterloo CCC и считаю, что Haskell - идеальный язык для ответов на подобные вопросы. Я все еще изучаю это. Однако я немного борюсь с вводом. Вот ...
Я хочу встроить движок Haskell в проект IOS 5 в качестве библиотеки C, чтобы запускать код Haskell внутри приложения IOS. Итак, у меня есть несколько вопросов: Есть ли какие-либо известные проблемы с управлением памятью, с которыми Haskell...
На языке программирования, который является чисто функциональным (например, Haskell) или где вы используете его только функционально (например, clojure ); предположим, у вас есть список / последовательность / перечислимый (неизвестного размера) целых чис
Haddock, похоже, неправильно перекодирует символы, отличные от ASCII, в документации в исходных файлах с кодировкой UTF-8. Мне часто приходится включать математические формулы в документацию, а их очень много ...
Да хоть убей, я не могу понять, как установить cairo на Windows! Мне он нужен для Haskell Charts, но когда я следую инструкциям по установке и приступаю к работе: cabal install gtk, я получаю эту ошибку: ...
Я экспериментировал с использованием семейств типов для абстрагирования наборов инструментов пользовательского интерфейса. Мне не удалось застрять, когда я пытаюсь использовать HLists (http://homepages.cwi.nl/~ralf/HList/) для улучшения API. Мой API изна
Существуют ли офлайн-версии документации стандартной библиотеки Haskell? Другими словами, я ищу книгу или загружаемое руководство по библиотеке Haskell?
Есть ли полная (и хорошая) реализация или оболочка для SSL в Haskell? Мой друг, изучающий Haskell, ранее спрашивал меня, как реализовать TLS или SSL в Haskell, и после небольшого поиска я не смог...
В последнее время я писал код FFI, который возвращает структуру данных в монаде ввода-вывода. Например: peek p = Vec3 <$> (#peek aiVector3D, x) p <*> (#peek aiVector3D, y) p ...
В качестве примера рассмотрим тривиальную функцию f :: (Integral b) => a -> b
f x = 3 :: Int GHC жалуется, что не может вывести (b ~ Int). Определение соответствует сигнатуре в том смысле, что она ...
Я пытаюсь преобразовать простой тип данных Haskell и функцию в OO. Но я запутался. Имею следующий тип Haskell для арифметических вычислений: data Expr = Lit Int | Добавить Выражение Выражение | ...
Haskell не поддерживает циклическое выполнение вычислений, вместо этого он предлагает использовать алгоритмы рекурсии. Но такой подход приводит к увеличению стека и даже его переполнению. Я считаю, что должно быть ...
Я хочу преобразовать запись bibtex в свой собственный тип данных, который выглядит примерно так: date MyEntry = MyEntry {ident :: String, author :: [String], address :: String} Но поля похожи ...
Есть ли разница между этими двумя функциями? ghct говорит: Prelude>: t (+1) (+1) :: Num a => a -> a Prelude>: t \ x-> x + 1 \ x-> x + 1 :: Num a => a -> а когда я использовал (+1) ...
Есть ли способ установить argv [0] в программе Haskell (скажем, скомпилированной с помощью ghc)? Я нашел функции getProgName и withProgName в System.Environment, но, похоже, они не меняют то, что ps ...
У меня есть список путей к файлам, и я хочу, чтобы все эти файлы снова сохранялись в виде хэша с кодировкой sha1 в списке. Он должен быть как можно более общим, чтобы файлы могли быть как текстовыми, так и двоичными. А теперь мой ...
Недавно я наткнулся на общий комбинатор Control.Applicative.optional: optional :: Альтернатива f => f a -> f (Maybe a)
optional v = Just <$> v <|> pure Nothing but I don'...
Я пишу много кода, например putStr "foo (bar 1) (bar 2) ="
print $ foo (bar 1) (bar 2) Проблема в том, что распечатанное сообщение может не синхронизироваться с фактическим исполняемым кодом. Очевидное ...
Предположим, я создал тип следующим образом: data RequestAck = RequestAck {ackOK :: Word32, ackMsgCode :: Word32} Я вижу, что он имеет размер 2 * 4 байта и сделайте это где-нибудь константой. ...
У меня есть список пар ключ-значение, и я хочу подсчитать, сколько раз встречается каждый ключ и с какими значениями он встречается , но при попытке я получаю переполнение стека. Вот упрощенная версия кода. Я ...
Следующий тип программы проверяется, если я указываю его в командной строке (например, ghci file.hs): import Data.Ratio
foo = let x = [1...] y = (1%2) + (head x) in y Однако, если я укажу его ...
Я новичок в Haskell (и функциональном программировании в целом) и хотел бы узнать, как я могу получить доступ к новому элементу, который я добавил в список с помощью оператора cons (:)? Например, используя WinGHCi, я создаю ...
В объектно-ориентированном языке, когда мне нужно кэшировать / запоминать результаты функции в течение известного времени жизни, я обычно следую этому шаблону: Создайте новый класс
Добавьте в класс элемент данных и ...
Я работаю с parsec и у меня проблемы с отладкой кода. Например, я могу установить точку останова в ghci, но я не уверен, как увидеть, сколько входных данных было израсходовано, или что-то вроде ...
Похоже, что Haskell установил несколько соглашений об именах для монад. Примеры: добавление T в конец для получения имени преобразователя монад (например, Reader -> ReaderT)
использование runXXX для ...