haskell

у меня возникли проблемы при вводе многострочных команд в ghci. Следующий 2-строчный код работает из файла: addTwo :: Int -> Int -> Int addTwo x y = x + y но когда я вхожу в ghci, я получаю ошибки. Я также попытался поместить код внутрь :{ ... :}, но они также не работают для этого примера, потому чт...

Что такое класс Comonad в Haskell? Как в Комонаде от управление.Comonad в пакете comonad (также приветствуются объяснения любых других пакетов, предоставляющих класс Comonad). Я смутно слышал о Comonad, но все, что я действительно знаю об этом, это то, что обеспечивает extract :: w a -> a, что-то вроде пар...

я прочесал интернет для фактического объяснения того, что делает это ключевое слово. Каждый учебник Haskell, который я посмотрел, просто начинает использовать его случайным образом и никогда не объясняет, что он делает (и я смотрел на многих). вот основной кусок кода из Реальный Мир Хаскелл использует Just. ...

есть ли веская причина, почему тип прелюдии.читать-это read :: Read a => String -> a вместо того, чтобы возвращать Maybe значение? read :: Read a => String -> Maybe a поскольку строка может не быть разбираемой Haskell, не будет ли последняя более естественной? или даже Either String a, где...

Я учусь у Хаскелла learnyouahaskell.com. у меня возникли проблемы с пониманием конструкторов типов и конструкторов данных. Например, я действительно не понимаю разницы между этим: data Car = Car { company :: String , model :: String , year :: Int } deriving ...

В чем именно разница между 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> rem 1 (-...

допустим, у меня есть следующая запись ADT: data Foo = Bar { a :: Integer, b :: String, c :: String } мне нужна функция, которая принимает запись и возвращает запись (того же типа), где все поля, кроме одного, имеют одинаковые значения с тем, который передается в качестве аргумента, например: walkDuck x =...

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

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

чтение это классическая бумага, Я застрял на paramorphisms. К сожалению, раздел довольно тонкий, и страница Википедии ничего не говорит. мой перевод Хаскелл: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h (x:xs) = f x xs (h xs) но...