Каков статус многоядерного программирования на Haskell? Какие проекты, инструменты и библиотеки доступны сейчас? Какие отчеты об опыте
Каков статус многоядерного программирования на Haskell? Какие проекты, инструменты и библиотеки доступны сейчас? Какие отчеты об опыте
Я пытаюсь определить любую простую функцию, которая занимает несколько строк в GHCI, взять в качестве примера следующее: let abs n | n >= 0 = n | otherwise = -n До сих пор я пытался нажать Enter после первой строки: Prelude> let abs n | n >= 0 = n Prelude> | otherwise = -n...
Черты в Rust кажутся по крайней мере внешне похожими на классы типов в Haskell, однако я видел, как люди пишут, что между ними есть некоторые различия. Мне было интересно, что именно эти...
У меня проблемы с получением GHC, чтобы специализировать функцию с ограничением класса. У меня есть минимальный пример моей проблемы здесь: Foo.hs и Main.hs . Два файла компилируются (GHC 7.6.2, ghc -O3 Main) и запускаются. ПРИМЕЧАНИЕ: Foo.hs действительно урезано. Если вы хотите понять, зачем...
Да, эти : {-#LANGUAGE TypeOperators, RankNTypes #-} import Control.Morphism.Zygo import Control.Morphism.Prepro import Control.Morphism.Histo import Control.Functor.Algebra import Control.Functor.Extras import Control.Functor.Fix import Control.Comonad.Cofree zygohistomorphic_prepromorphism ::...
Во-первых, Real World Haskell , который я читаю, говорит никогда не использовать, foldlа вместо этого использовать foldl'. Поэтому я верю в это. Но я не знаю, когда использовать foldrпротив foldl'. Хотя я вижу структуру их работы по-разному, но я слишком глуп, чтобы понять, когда «что лучше». Я...
Есть простой ответ: почему GHC такой большой? OCaml: 2 МБ Python: 15 МБ SBCL: 9 МБ OpenJRE - 26 МБ GHC: 113 МБ Не интересуется евангелизацией «Почему меня не волнует размер, если Haskell - правильный инструмент»; это технический...
У меня есть типы данных, определенные как: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } Теперь у меня есть постоянная модель, определенная как: Person name Text Committee...
Я пытаюсь использовать ghc-modплагин vim для проверки типа / синтаксиса и т. Д. Однако я обнаружил, что ghc-modв сообщениях об ошибках всегда используются полные пути типов, например: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ || Expected type:...
Я пытаюсь понять, как правильно использовать API OpenSSL.Session в параллельном контексте. Например, предположим, что я хочу реализовать a stunnel-style ssl-wrapper, я бы ожидал получить следующую базовую структуру скелета, которая реализует наивныйfull-duplex tcp-port-forwarder: runProxy ::...
Я не понимаю, что такое «подъем». Должен ли я сначала понять монады, прежде чем понять, что такое «лифт»? (Я тоже совершенно не осведомлен о монадах :) Или кто-то может объяснить мне это простыми...
Я надеялся встроить интерпретатор на Haskell, hintчтобы я мог написать плагины на Haskell для использования с моей программой. Я не хочу отправлять всю платформу Haskell для моих исполняемых файлов. Обычно исполняемые файлы Haskell довольно автономны. Например, удаление PATHне вызывает проблемы: $...
Любые указатели на то, как эффективно решить следующую функцию в Haskell, для больших чисел (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Я видел примеры запоминания в Хаскеле для решения чисел Фибоначчи, которые включали (лениво) вычисление всех чисел Фибоначчи до требуемого n. Но в этом...
У меня проблема с вводом многострочных команд в ghci. Следующий двухстрочный код работает с файлом: addTwo :: Int -> Int -> Int addTwo x y = x + y Но когда вхожу в ghci, появляется ошибка: <interactive>:1:1: error: Variable not in scope: addTwo :: Int -> Int -> Int Я также...
Есть ли функция для объединения элементов списка с разделителем? Например: > foobar " " ["is","there","such","a","function","?"] ["is there such a function ?"] Спасибо за любой
Мы разрабатываем программу, которая принимает и пересылает «сообщения», сохраняя при этом временную историю этих сообщений, чтобы она могла рассказать вам историю сообщений по запросу. Сообщения идентифицируются численно, обычно имеют размер около 1 килобайта, и нам необходимо хранить сотни тысяч...
В чем именно разница между modи remв Haskell? Оба, кажется, дают одинаковые результаты *Main> mod 2 3 2 *Main> rem 2 3 2 *Main> mod 10 5 0 *Main> rem 10 5 0 *Main> mod 1 0 *** Exception: divide by zero *Main> rem 1 0 *** Exception: divide by zero *Main> mod 1 (-1) 0 *Main>...
Я читал Real World Haskell , и я приближался к концу, но вопрос стиля был мелочным у меня делать с (.)и ($)операторами. Когда вы пишете функцию, которая является композицией других функций, вы пишете ее так: f = g . h Но когда вы применяете что-то в конце этих функций, я пишу это так: k = a $ b $ c...
Я наткнулся на фрагмент кода Haskell, который выглядит так: ps@(p:pt) Что означает @символ в этом контексте? Кажется, я не могу найти никакой информации в Google (к сожалению, сложно искать символы в Google), и я не могу найти функцию в документации Prelude, поэтому я полагаю, что вместо этого это...
Зависимые типы методов, которые раньше были экспериментальной функцией, теперь включены по умолчанию в магистрали , и, по-видимому, это, похоже, вызвало некоторое волнение в сообществе Scala. На первый взгляд не сразу понятно, для чего это может быть полезно. Хайко Seeberger опубликовал простой...