Вопросы с тегом «haskell»

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

1
Взаимодействие со структурами и анонимными союзами с c2hs
Как можно было бы кодировать этот кусок кода C в файле .chs, чтобы c2hs мог преобразовать его во что-то относительно хорошее? typedef enum { MONOME_BUTTON_UP = 0x00, MONOME_BUTTON_DOWN = 0x01, MONOME_ENCODER_DELTA = 0x02, MONOME_ENCODER_KEY_UP = 0x03, MONOME_ENCODER_KEY_DOWN = 0x04, MONOME_TILT = 0x05, /* update this if you add event types …
100 haskell  c2hs 

2
Средство проверки типов допускает очень неправильную замену типа, а программа все еще компилируется
Пытаясь отладить проблему в моей программе (2 круга с одинаковым радиусом рисуются для разных размеров с помощью Gloss *), я наткнулся на странную ситуацию. В моем файле, который обрабатывает объекты, у меня есть следующее определение для Player: type Coord = (Float,Float) data Obj = Player { oPos :: Coord, oDims …
100 haskell  types 

1
Elm Compiler работает вечно, компьютер просто нагревается
Я не уверен, что вызывает эту проблему, но в проекте, который я создаю, компилятор тратит часы на компиляцию модуля. Общий размер моей кодовой базы составляет 352 КБ, но ни один из модулей не превышает 10 КБ. Я использую собственный порт, но это очень тривиально; Я просто увлекаюсь Date.now()этим. Есть ли …

5
Может кто-нибудь объяснить функцию обхода в Haskell?
Я пытаюсь и не могу найти эту traverseфункцию Data.Traversable. Я не вижу в этом смысла. Поскольку я пришел из императивного фона, может ли кто-нибудь объяснить мне это с точки зрения императивного цикла? Псевдокод был бы очень признателен. Спасибо.

5
Что такое индексированная монада?
Что такое индексированная монада и мотивация этой монады? Я читал, что это помогает отслеживать побочные эффекты. Но подпись типа и документация никуда меня не ведут. Какой был бы пример того, как это может помочь отслеживать побочные эффекты (или любой другой допустимый пример)?
98 haskell  monads 

3
В чем смысл карты в Haskell, когда есть fmap?
Везде, где я пробовал пользоваться map, fmapтоже работает. Почему создатели Haskell почувствовали необходимость в mapфункции? Разве это не может быть то, что сейчас известно как язык, fmapи что fmapего можно удалить?
98 haskell 


6
Чем полезна абсурдная функция в Data.Void?
absurdФункция Data.Voidимеет следующую подпись, где Voidявляется логически необитаемым типом экспортируемого этого пакетом: -- | Since 'Void' values logically don't exist, this witnesses the logical -- reasoning tool of \"ex falso quodlibet\". absurd :: Void -> a Я знаю достаточно логики, чтобы получить из документации замечание о том, что это соответствует …

3
Как играть с Control.Monad.Writer в haskell?
Я новичок в функциональном программировании и недавно учился на Learn You a Haskell , но когда я прочитал эту главу , я застрял в программе ниже: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x]) multWithLog :: Writer [String] …
97 haskell  monads 

1
Что такое параморфизмы?
Читая эту классическую статью , я зацикливаюсь на параморфизмах. К сожалению, раздел довольно тонкий, и на странице Википедии ничего не сказано. Мой перевод на Haskell: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base …

1
Текущий модуль экспорта Haskell с дополнительным импортированным модулем
Можно ли написать модуль в Haskell, который реэкспортирует модуль в дополнение к экспорту всего, что видно внутри? Рассмотрим следующий модуль: module Test where import A f x = x Этот модуль экспортирует все, что определено внутри, поэтому он экспортирует, fно не реэкспортирует ничего, импортированное из A. С другой стороны, если …
96 haskell  module  export 

9
Офлайн-документация Haskell?
Каковы возможности, если таковые имеются, для получения офлайн-документации для основных библиотек Haskell (и, возможно, большего количества)? Иногда я беру свой ноутбук в кофейню, где нет Wi-Fi, и было бы неплохо иметь что-то вроде Hoogle, но для автономного использования.

9
В чем смысл const в Haskell Prelude?
Просматривая Haskell Prelude, я вижу функцию const : const x _ = x Я не могу найти ничего подходящего относительно этой функции. В чем смысл? Кто-нибудь может привести пример, где можно использовать эту функцию?
94 haskell 

1
Исключения в Йесод
Я создал демона, который использовал очень примитивную форму ipc(telnet и отправлял строку, содержащую определенные слова в определенном порядке). Я отключился и теперь использую JSONдля передачи сообщений на Yesodсервер. Тем не менее, в моем дизайне мне действительно нравились некоторые вещи, и я не уверен, что могу сделать сейчас. Вот что я …

3
Почему ghci desugar использует списки типов и семейства типов? Можно ли это выборочно отключить?
Я пытаюсь сделать типы, отображаемые ghci для моих библиотек, максимально интуитивно понятными, но я сталкиваюсь с множеством трудностей при использовании более продвинутых функций типов. Допустим, у меня есть этот код в файле: {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-} import GHC.TypeLits data Container (xs::[*]) = …
93 haskell  types  ghci 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.