Вопросы по теме '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 просмотров
schedule
06.02.2023
: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 просмотров
schedule
19.09.2022
Изменение процессов 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 просмотров
schedule
16.02.2023
Оценка в 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