haskell

Я хотел проверить foldl против foldr. Из того, что я видел, вы должны использовать foldl над foldr, когда вы можете из-за оптимизации хвостовой рекурсии. это имеет смысл. Однако после запуска этого теста я запутался: foldr (занимает 0.057 с при использовании команды time): a::a -> [a] -> [a] a x = ([...

Мне было любопытно понять, можно ли применить силу Haskell к встроенному миру реального времени, и в googling нашли Атом пакета. Я бы предположил, что в сложном случае код может иметь все классические ошибки C - сбои, повреждения памяти и т. д., которые затем нужно будет проследить до исходного кода Haskell, ...

там, кажется, есть несколько приоритетных реализаций очереди, доступных в готовом виде для Haskell. Например, здесь: данные.PriorityQueue.FingerTree (in fingertree-0.0.1.0 на hackage) данные.PurePriorityQueue (in pure-priority-queue-0.14 на hackage) оба из которых кажутся чистыми приоритетными структурами ...

может кто-нибудь объяснить как foldr работы? принять эти примеры: Prelude> foldr (-) 54 [10, 11] 53 Prelude> foldr (x y -> (x+y)/2) 54 [12, 4, 10, 6] 12.0 Я запутался в этих казнях. Есть предложения?...

Haskell является функциональным и чистым, поэтому в основном он имеет все свойства, необходимые для компилятора, чтобы иметь возможность решать неявный параллелизм. рассмотрим этот тривиальный пример: f = do a <- Just 1 b <- Just $ Just 2 -- ^ The above line does not utilize an `a` variable, so ...

задав этот вопрос, чтобы прояснить мое понимание классов типов и более высоких типов kinded, я не ищу обходных путей в Java. в Haskell, я мог бы написать что-то вроде class Negatable t where negate :: t -> t normalize :: (Negatable t) => t -> t normalize x = negate (negate x) затем при усло...

в моей области бизнеса-бэк-офис для финансового учреждения - очень часто программный компонент несет глобальную конфигурацию, регистрирует ее прогресс, имеет какое-то короткое замыкание обработки ошибок / вычислений... Вещи, которые могут быть хорошо смоделированы читателем, писателем, возможно, монадами и т....

Я понимаю, что это потенциально может рассматриваться как субъективный или, возможно, внетематический вопрос, поэтому я надеюсь, что вместо того, чтобы закрыть его, он будет перенесен, возможно, программистам. Я начинаю изучать Haskell, в основном для моего собственного назидания, и мне нравится много идей и...

что такое идиоматическое решение Haskell для инъекции зависимостей? например, предположим, что у вас есть интерфейс frobby, и вам нужно было передать экземпляр, соответствующий frobby вокруг (может быть несколько разновидностей этих экземпляров, скажем,foo и bar). типичные операции будут: функции, которые...

у меня есть список строк, и попытался это: ls = [ "banana", "mango", "orange" ] main = do map PutStrLn list_of_strings это не сработало, и я не могу понять, почему. ghc print-list.hs print-list.hs:3:0: Couldn't match expected type `IO t' against inferred type `[IO ()]' In the expression: m...