haskell — все вопросы

2ответа
10 голосов
Выведите целое число на стандартный вывод в Haskell
У меня есть простая функция вроде: nth :: Integer -> Integer И я пытаюсь напечатать его результат следующим образом: main = do n <- getLine result <- nth (read n :: Integer)
2ответа
10 голосов
Как работает выражение `ap zip tail`
Мне было интересно, как написать f x = zip x (tail x) в произвольной точке. Поэтому я использовал программу pointfree, и в результате получилось f = ap zip tail. ap является функцией из Control.Mona
1ответ
10 голосов
Пытаясь понять функцию приложения оператора в Haskell
Я пытаюсь обернуть голову вокруг оператора приложения функции ($) в Haskell. Я работаю с примерами из Learn You a Haskell и думаю, что понял следующий пример: Prelude> map ($ 3) [(+4), (*10)
1ответ
10 голосов
Укажите параметры ghc в командной строке через cabal (cabal-install) без редактирования .cabal файлов пакетов
Когда я устанавливаю vector с помощью: cabal install vector Я получаю множество SpecConstr предельных предупреждений, которые исчезли бы, если бы я мог указать -fspec-constr-count=SOMETHING-HIG
2ответа
10 голосов
Пакеты Haskell - дерево зависимостей
В java - инструменте сборки maven вы можете распечатать дерево зависимостей для любого package/project с помощью команды, mvn dependency:tree -Dverbose -Dincludes=commons-collections и вывод бу
2ответа
10 голосов
Каковы локальные свойства Haskell?
Современные ЦП оптимизированы таким образом, что доступ и изменение одного и того же места в памяти (временная локальность), а также последовательных мест в памяти (пространственная местность) являю
2ответа
10 голосов
где пункты в списке пониманий
В чем разница между следующими двумя формулами? cp [] = [[]] cp (xs:xss) = [x:ys | x <- xs, ys <- cp xss] ---------------------------------------------- cp [] = [[]] cp (xs:xss) = [x:ys | x
5ответов
10 голосов
Получение всех диагоналей матрицы в Хаскеле
Двумерный список выглядит так: 1 | 2 | 3 - - - - - 4 | 5 | 6 - - - - - 7 | 8 | 9 Или в чистом хаскеле [ [1,2,3], [4,5,6], [7,8,9] ] Ожидаемый результат для diagonals [ [1,2,3], [4,5,6], [7
1ответ
10 голосов
Недостающие складки
Если вы хотите свернуть список, я вижу четыре способа сделать это. Сверните справа от списка, с рекурсивным термином справа    foldrr ​​(-) 100 [1..10] = 1 - (2 - (3 - (4 - (5 - (6 - (7 - (8 -
1ответ
10 голосов
Объединение StateT IO с State
Если у меня есть функция f :: State Int (), можно ли использовать ее в другой функции g :: StateT Int IO ()? Вложив его с помощью f = do { something; g }, невозможно выполнить проверку типа с помощью
2ответа
10 голосов
Зачем нам нужен Control.Lens.Reified?
Зачем нам нужен Control.Lens.Reified ? По какой причине я не могу поместить Lens непосредственно в контейнер? Что в любом случае означает reify?
1ответ
10 голосов
«Производное шоу» на Haskell в F #?
В Haskell легко сделать алгебраический тип /распознаваемое объединение «отображаемым» как строку, просто добавив deriving Show к типу определение. В F # я пишу что-то вроде: type Pos = | P
3ответа
10 голосов
Реализация интерфейса OO-Like в Haskell
Несмотря на название, я не собираюсь спрашивать о простом переводе между миром OO и Haskell, но я не могу найти лучшего названия. Это обсуждение аналогично, но не равно этому . Я начал игрушечны
1ответ
10 голосов
Пример простого аппликативного функтора
Я читаю книгу «Изучи тебя на Хаскеле». Я изо всех сил пытаюсь понять этот аппликативный код функтора: (*) <$> (+3) <*> (*2) $ 2 Это сводится к: (3 + 2) * (2 * 2) = 20 Я не следую
1ответ
10 голосов
Имена функций с символами символов затрудняют поиск в Google
В Haskell многие имена функций содержат только символьные символы. Например, $$, >>=, >>, :, ->, =>, =~. Поскольку я новичок в Haskell, мне трудно искать их значения в Google. Н
3ответа
10 голосов
ByteStrings в Haskell: я должен использовать Put или Builder?
Я не совсем понимаю, что предлагает монада Put, используя Builder напрямую, в Data.Binary. Я прочитал Двоичные данные в разделе «Работа с двоичными данными», и кажется, что вы следует использовать
4ответа
10 голосов
Довольно распечатать ByteString в шестнадцатеричном виде
Что такое идиоматический способ обработки байтовой строки по кусочкам и красивой печати ее шестнадцатеричного (0-F) представления? putStrLn . show . B.unpack -- [1,126] Что, при дальнейшей рабо
2ответа
10 голосов
Как лень и I /O работают вместе в Haskell?
Я пытаюсь глубже понять лень в Хаскеле. Сегодня я представлял себе следующий фрагмент: data Image = Image { name :: String, pixels :: String } image :: String -> IO Image image path = Image
2ответа
10 голосов
Haskell измерения производительности функции
В Хаскеле, как я могу «просто» измерить производительность функций. Например, сколько времени требуется для запуска или сколько памяти это занимает? Однако я знаю о профилировании, есть ли более прос
2ответа
10 голосов
Почему я могу опустить конструктор при обращении к типам с переносом чисел нового типа?
На странице 321 Real World Haskell Есть эти коды, ... {-# LANGUAGE GeneralizedNewtypeDeriving #-} newtype AInt = A { unA::Int } deriving (Show, Eq, Num) instance Monoid AInt where
1 2 3 4 5

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132