Вопросы по теме 'ghci'

Как просмотреть определение функции в Haskell/GHCi?
Я использую Haskell 2010.1.0.0.1 с GHC 6. Ввод :t в приглашении GHCi, за которым следует имя функции, показывает нам тип функции. Есть ли способ просмотреть определение функции?
19399 просмотров
schedule 31.08.2022

Нет экземпляра для ошибки
Следуя примеру в http://en.wikibooks.org/wiki/Haskell/Beginning Prelude> let abs x = if x < 0 then -x else x Prelude> abs 5 5 Prelude> abs -3 <interactive>:1:6: No instance for (Num (a0 -> a0)) arising from the...
1505 просмотров
schedule 15.01.2023

Почему GHCi странно печатает это утверждение?
Отвечая на вопрос о stackoverflow, я заметил, что GHCi (интерактивный) назначает слишком строгий тип в операторе let . А именно, учитывая код, import Control.Arrow f = maximum &&& id >>> fst &&& (\(m,l) ->...
254 просмотров
schedule 18.05.2022

Ошибка загрузки функции из файла в GHCI
Я совершенно новичок в Haskell. Чтобы понять основы, я начал работать с «Изучай Haskell во благо». Я застрял на простом вопросе загрузки функции из файла. Файл называется baby.hs и содержит функцию doubleMe x = x + x и ничего больше....
4255 просмотров
schedule 30.05.2023

Haskell GHCi — использование символа EOF на стандартном вводе с помощью getContents
Мне нравится разбирать строки на Python, просто вставляя их в интерпретатор. >>> s = """Adams, John ... Washington,George ... Lincoln,Abraham ... Jefferson, Thomas ... """ >>> print "\n".join(x.split(",")[1].replace(" ", "")...
3239 просмотров
schedule 15.04.2022

Как проверить приоритет инфиксного оператора Haskell
Я могу увидеть тип инфиксного оператора в GHCi с: t вот так: >:t (.) (.) :: (b -> c) -> (a -> b) -> a -> c Как я могу увидеть приоритет оператора в GHCi? это возможно? Кроме того, бонусный вопрос: есть ли способ увидеть...
4081 просмотров
schedule 18.09.2022

найти все типы, являющиеся экземплярами класса типов
Learnyouahaskell упоминает следующее : Типы в классе Enum: (), Bool, Char, Ordering, Int, Integer, Float and Double Есть ли способ узнать, какие типы являются экземплярами какого класса типов и наоборот в GHCi? Я хочу что-то вроде :t...
402 просмотров
schedule 17.05.2022

Почему этот фильтр Haskell прекращает работу?
Я не понимаю, почему следующий код Haskell завершается в GHCi: let thereExists f lst = (filter (==True) (map f lst)) /= [] thereExists (\x -> True) [1..] Я не ожидал, что вызов filter когда-либо завершится, учитывая, что его второй...
759 просмотров
schedule 11.02.2023

GHCI не такой уж ленивый на винде?
Введя следующее в GHCI в Windows: foldl (+) 0 $ take 100000000 $ map sqrt [1..] дает: <interactive>: out of memory при компиляции (с помощью GHC) и запуске этой программы: main = do let score = foldl (+) 0 $ take...
320 просмотров
schedule 25.04.2022

Могу ли я в GHCi использовать результат предыдущего выражения?
Я провожу некоторые эксперименты в GHCi, и у меня есть довольно долгая (5 минут) операция, которую я пытаюсь настроить. Результат начинает распечатываться на полпути, и я часто могу сказать, что мой алгоритм еще не настроен правильно через 1 минуту...
1457 просмотров
schedule 04.10.2022

Yesod живая перезагрузка Гамлета с GHCI вместо GHC?
Я только что услышал о Йесод и начал читать книгу. В главе о Шекспире, где-то на 3/4 ниже, говорилось... «Режим перезагрузки недоступен для Hamlet, только для Cassius, Lucius и Julius. В Hamlet слишком много сложных функций, которые напрямую...
498 просмотров
schedule 12.05.2022

Он работает при загрузке из файла, но не при вводе в ghci. Почему?
Если я помещу следующие 2 строки в foobar.hs f 1 = 1 f x = f (x-1) тогда $ ghci > :load foobar.hs > f 5 1 но если я сделаю $ ghci > let f 1 = 1 > let f x = f (x-1) > f 5 ^CInterrupted. потом не возвращается....
132 просмотров
schedule 14.04.2023

Не удается заставить функции Data.List работать в haskell
Я создаю программу на Haskell и хочу использовать библиотеку Data.List. Итак, в верхней части моей программы я добавил import Data.List , а ниже в одной из моих функций я набрал Data.List.isAlpha x , но это дает мне ошибку компиляции - Not in...
2885 просмотров
schedule 10.05.2023

Функция без хвостовой рекурсии не взрывается в GHCi. Почему?
Я ожидал, что мой стек взорвется со следующим кодом... но этого не произошло: *Main> let blowwss x = if x == 0 then 0 else (1 + blowwss (x-1)) *Main> blowwss 1000000 1000000 Функция не кажется хвостовой рекурсией, поэтому мне интересно,...
479 просмотров

:sprint для полиморфных значений?
Мне интересно, почему :sprint сообщает xs = _ в этом случае: Prelude> xs = map (+1) [1..10] Prelude> length xs 10 Prelude> :sprint xs xs = _ но не в этом случае: Prelude> xs = map (+1) [1..10] :: [Int] Prelude> length...
514 просмотров

Изменение процессов Emacs Inferior Haskell для включения обработки CPP
Если мы посмотрим на источник случайного пакета , у нас будет файл Random.hs . Из-за расширений CPP необходимо вызывать ghci с помощью следующей команды: ghci -cpp Random.hs В качестве альтернативы можно сделать: ghci -cpp а затем...
184 просмотров
schedule 20.03.2023

Как правильно перезагрузить и запустить :main как одну команду в GHCi?
Есть ли способ связать :reload/:r вместе с :main как единую команду в GHCi? Цель здесь состоит в том, чтобы не набирать оба каждый раз, когда я что-то меняю в другом терминале, а просто нажимать Enter .
1741 просмотров
schedule 29.06.2022

Haskell: как добавить патч?
Я просматриваю главу IO книги Learn You a Haskell и заметил несоответствие в том, как строки байтов отображаются для меня по сравнению со снимками экрана в книге (пример см. ниже). Если у людей нет других предложений, кажется, что решение (по крайней...
100 просмотров
schedule 19.04.2023

Функция, переданная в список привязки монады, может быть идентификатором без ошибки компилятора
При применении функции привязки монады списка к простой функции списка и идентификации: [[1,2],[3,4]] >>= \x -> x я получил [1,2,3,4] Однако определение класса типа Monad: class Monad m where (>>=) :: m a ->...
108 просмотров

Оценка в GHCI 7.8.3
Читаю сейчас книгу по параллельному программированию на Haskell. И там я вижу такой пример: Prelude> let x = 2 + 3 Prelude> :sp x x = _ Prelude> x 5 Prelude> :sp x x = 5 Но вместо этого в моем GHCi 7.8.3 от платформы Haskell...
103 просмотров
schedule 05.10.2022