Описание тега haskell-prelude

Prelude - это стандартный модуль Haskell, который по умолчанию импортируется во все модули Haskell.
1 ответ

Как выйти из основного состояния после того, как Prelude(Haskell) загрузил модуль?

В Haskell после использования Prelude для загрузки некоторых файлов Prelude> :l xxxFileName Стремление становится *Main> xxxx Я не знаю, откуда взялась функция "Main", так как я не определил ни одной функции под названием "Main". Это особый ст…
1 ответ

Две функции в ^ реализации

Я не понимаю одну вещь о реализации ^ в haskell: (^) :: (Num a, Integral b) => a -> b -> a x0 ^ y0 | y0 < 0 = errorWithoutStackTrace "Negative exponent" | y0 == 0 = 1 | otherwise = f x0 y0 where -- f : x0 ^ y0 = x ^ y f x y | even y = f …
27 дек '18 в 02:55
1 ответ

Есть ли в Liquid Haskell включенная прелюдия?

Есть ли аннотированный вариант или Haskell Prelude для легкой миграции существующих программ, которые вызывают такие функции, как head или же length?
31 янв '16 в 18:26
1 ответ

Как можно упростить эту функцию?

Это функция: f [] = [] f (h:t) = (\x -> x - h) : f t Он берет список и возвращает список анонимных функций, которые вычитают каждый элемент из x. Видимо, есть какой-то способ написать всю эту функцию в 20 символов или меньше. Я пытался сделать эт…
10 июл '17 в 18:48
1 ответ

Недостающие складки

Если вы хотите свернуть список, я вижу четыре способа сделать это. Сложите справа от списка, с рекурсивным термином справа foldrr ​​(-) 100 [1..10] = 1 - (2 - (3 - (4 - (5 - (6 - (7 - (8 - (9) (10 - (100)))))))))))) = 95 foldrr :: (a -> b -> b…
1 ответ

Как решить проблемы при получении ошибки: не входит в объем

* Main>: t putStrn<Интерактивными>: 1: 1: Не в области видимости: `putStrn' Возможно, вы имели в виду один из них: `putStr' (импортировано из Prelude), `putStrLn' (импортировано из Prelude) Обратите внимание, что я практикую программирование на hask…
1 ответ

Почему я получаю сообщение об ошибке при попытке "прочитать" это значение?

Код.hs: data Person = Person { firstName :: String , lastName :: String , age :: Int } deriving (Eq, Show, Read) Компиляция: *Main&gt; :load "/home/optimight/baby.hs" [1 of 1] Compiling Main ( /home/optimight/baby.hs, interpreted ) Ok, modules loade…
23 июл '12 в 11:51
4 ответа

Прелюдия возведение в степень трудно понять

Я читал Прелюдию на Хаскеле и нашел ее довольно понятной, а потом наткнулся на определение экспоненты: (^) :: (Num a, Integral b) =&gt; a -&gt; b -&gt; a x ^ 0 = 1 x ^ n | n &gt; 0 = f x (n-1) x where f _ 0 y = y f x n y = g x n where g x n | even n…
3 ответа

Как определить лямбда-функцию, которая фильтрует список на основе подтипа типа суммы?

Пример взят из "программирования на Haskell из первых принципов". Цель функции фильтра - избавиться от всех объектов, кроме объектов типа "DbDate". На GitHub Сомоне я нашел способ фильтрации типов сумм с помощью понимания списка и сопоставления с об…
0 ответов

Передача конструкторов и данных в качестве аргументов в Haskell

Я пытаюсь создать небольшой инструмент проверки ошибок для игры, над которой я работаю, и я не уверен, как передавать типы данных в качестве аргументов. вот что я пытаюсь сделать, это файл, в котором мои аргументы данных -- | Represents the type of …
07 фев '16 в 19:38
1 ответ

Разница между прелюдией и есодом с MongoDB

Я пытаюсь заставить мой MongoDB работать в Хаскеле. Я использовал этот учебник в качестве отправной точки. Когда я выполняю эти команды в прелюдии, я получаю список коллекций: pipe &lt;- runIOE $ connect $ Host "XXXXX.mongolab.com" $ PortNumber 3331…
02 июл '13 в 02:08
1 ответ

Оператор сравнения и Prelude.compare

Глава 8 Программирование на Haskell (2e) определяет данные Tree и функция двоичного поиска occurs: data Tree a = Leaf a | Node (Tree a) a (Tree a) occurs :: Ord a =&gt; a -&gt; Tree a -&gt; Bool occurs x (Leaf y) = x == y occurs x (Node l y r) | x =…
29 окт '16 в 04:27
2 ответа

Есть ли в Prelude функция для сопряжения значения с этим значением, примененным к функции?

Я ищу функцию, которая выглядит примерно так: withSelf :: (a -&gt; b) -&gt; a -&gt; (a, b) withSelf f x = (x, f x) Я искал с помощью Google для такой функции; Я искал (a -&gt; b) -&gt; a -&gt; (a, b) а также a -&gt; (a -&gt; b) -&gt; (a, b), ни один…
29 мар '15 в 17:15
1 ответ

Объяснение функции чтения Хаскелла

Интересно, кто-нибудь знаком с Прелюдией? read функция в Хаскеле. Тип этой функции следующий. Read a =&gt; String -&gt; a Может кто-нибудь объяснить мне несколько примеров, как эта функция может быть использована и в какие типы может быть приведена …
04 мар '18 в 19:45
1 ответ

Haskell: как просмотреть историю команд внутри "Прелюдии"?

Здравствуйте: Я хочу перечислить все исторические команды в Prelude так, как это может сделать любая оболочка Unix в команде "history". Я попробовал несколько догадок, но потерпел неудачу. Как я могу это сделать?
29 фев '16 в 00:55
3 ответа

Что на самом деле делает $ function в haskell?

Я знаю $ :: (a-&gt;b) -&gt; a -&gt; b f $ x = f x Интуитивно, мне кажется, как бы сказать: 1. $ задерживает оценку функции слева 2. оценивает то, что справа 3. передает результат слева направо. И это имеет смысл для меня, когда, ghci&gt; length $ [1…
2 ответа

Создай и запусти, начинается с функции в прелюдии

Как я могу определить, запустить эту функцию в прелюдии, let beginsWithU (c:_) = c == 'u' || c == 'U' beginsWithU _ = False Строка № 2, дает parse error on input ‘=’, Я не могу использовать let снова, так как он переопределит шаблон в строке 1.
10 июл '15 в 13:05
1 ответ

Есть ли способ просмотреть список функций Prelude из консоли Haskell?

Есть ли способ просмотреть список функций Prelude (например, Data.Char) из консоли Haskell вместо посещения гугла?
02 янв '13 в 18:05
0 ответов

База данных фильмов на Haskell

Мне было интересно, почему я продолжаю получать ошибку: *** Исключение: Prelude.read: нет разбора. Это происходит после того, как я прохожу свой код и выбираю вариант 2. Это определяющий фильм type Title = String type Director = String type Year = I…
1 ответ

"Prelude.read: no parse", собственный тип данных

Я пытаюсь прочитать из файла два списка собственного типа данных "BoardEdge". Когда я пытаюсь запустить код, я получаю исключение: "Main.hs: Prelude.read: нет разбора" Как я подозреваю, я получаю это на функцию, ответственную за проверку ввода (vali…
16 май '19 в 14:04