Описание тега haskell-prelude
Prelude - это стандартный модуль Haskell, который по умолчанию импортируется во все модули Haskell.
1
ответ
Как выйти из основного состояния после того, как Prelude(Haskell) загрузил модуль?
В Haskell после использования Prelude для загрузки некоторых файлов Prelude> :l xxxFileName Стремление становится *Main> xxxx Я не знаю, откуда взялась функция "Main", так как я не определил ни одной функции под названием "Main". Это особый ст…
18 фев '16 в 05:51
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…
02 июл '17 в 08:54
1
ответ
Как решить проблемы при получении ошибки: не входит в объем
* Main>: t putStrn<Интерактивными>: 1: 1: Не в области видимости: `putStrn' Возможно, вы имели в виду один из них: `putStr' (импортировано из Prelude), `putStrLn' (импортировано из Prelude) Обратите внимание, что я практикую программирование на hask…
29 июл '12 в 01:03
1
ответ
Почему я получаю сообщение об ошибке при попытке "прочитать" это значение?
Код.hs: data Person = Person { firstName :: String , lastName :: String , age :: Int } deriving (Eq, Show, Read) Компиляция: *Main> :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) => a -> b -> a x ^ 0 = 1 x ^ n | n > 0 = f x (n-1) x where f _ 0 y = y f x n y = g x n where g x n | even n…
28 авг '15 в 12:17
3
ответа
Как определить лямбда-функцию, которая фильтрует список на основе подтипа типа суммы?
Пример взят из "программирования на Haskell из первых принципов". Цель функции фильтра - избавиться от всех объектов, кроме объектов типа "DbDate". На GitHub Сомоне я нашел способ фильтрации типов сумм с помощью понимания списка и сопоставления с об…
27 фев '19 в 20:27
0
ответов
Передача конструкторов и данных в качестве аргументов в Haskell
Я пытаюсь создать небольшой инструмент проверки ошибок для игры, над которой я работаю, и я не уверен, как передавать типы данных в качестве аргументов. вот что я пытаюсь сделать, это файл, в котором мои аргументы данных -- | Represents the type of …
07 фев '16 в 19:38
1
ответ
Разница между прелюдией и есодом с MongoDB
Я пытаюсь заставить мой MongoDB работать в Хаскеле. Я использовал этот учебник в качестве отправной точки. Когда я выполняю эти команды в прелюдии, я получаю список коллекций: pipe <- 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 => a -> Tree a -> Bool occurs x (Leaf y) = x == y occurs x (Node l y r) | x =…
29 окт '16 в 04:27
2
ответа
Есть ли в Prelude функция для сопряжения значения с этим значением, примененным к функции?
Я ищу функцию, которая выглядит примерно так: withSelf :: (a -> b) -> a -> (a, b) withSelf f x = (x, f x) Я искал с помощью Google для такой функции; Я искал (a -> b) -> a -> (a, b) а также a -> (a -> b) -> (a, b), ни один…
29 мар '15 в 17:15
1
ответ
Объяснение функции чтения Хаскелла
Интересно, кто-нибудь знаком с Прелюдией? read функция в Хаскеле. Тип этой функции следующий. Read a => String -> a Может кто-нибудь объяснить мне несколько примеров, как эта функция может быть использована и в какие типы может быть приведена …
04 мар '18 в 19:45
1
ответ
Haskell: как просмотреть историю команд внутри "Прелюдии"?
Здравствуйте: Я хочу перечислить все исторические команды в Prelude так, как это может сделать любая оболочка Unix в команде "history". Я попробовал несколько догадок, но потерпел неудачу. Как я могу это сделать?
29 фев '16 в 00:55
3
ответа
Что на самом деле делает $ function в haskell?
Я знаю $ :: (a->b) -> a -> b f $ x = f x Интуитивно, мне кажется, как бы сказать: 1. $ задерживает оценку функции слева 2. оценивает то, что справа 3. передает результат слева направо. И это имеет смысл для меня, когда, ghci> length $ [1…
03 апр '13 в 10:25
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…
10 мар '16 в 13:45
1
ответ
"Prelude.read: no parse", собственный тип данных
Я пытаюсь прочитать из файла два списка собственного типа данных "BoardEdge". Когда я пытаюсь запустить код, я получаю исключение: "Main.hs: Prelude.read: нет разбора" Как я подозреваю, я получаю это на функцию, ответственную за проверку ввода (vali…
16 май '19 в 14:04