Можно ли определить новые объявления в GHCI
-
27-09-2019 - |
Вопрос
Комментируя новые функции в GHCI, я пожелал, чтобы GHCI имел возможность объявить типовой декларацию и объявление новых типов ADT, кто-то сообщил, что он действительно возможен, и после поиска я нашелэта страница который сказал мне, что могу сделать
let numUniques' :: (Eq a) => [a] -> Int; numUniques' = length . nub
По-видимому, тот же самый синтаксис работает для сопоставления с рисунком (EX. Пусть 1 = true; A 2 = false).
Создание объявлений сделает его почти идеальным? Кто-нибудь знает, если он в настоящее время возможен? Должен ли я просто сделать ADT царапин и перезагрузить его?
PS Кто-нибудь знает, если есть какие-либо планы, чтобы сделать это? Есть ли запросы на функцию GHC (I)?
Также я знаю его открытый источник, но в настоящее время я не достаточно умных, чтобы взломать GHC (I).
Решение
Нет, но вы можете определить новые типы в HBI (более ранний переводчик). Там обсуждение о привлечении этого обратно через библиотеку GHCI по взлому.
Другие советы
Обратите внимание, что вы также можете сделать явным многострочным кодом в GHCI с :{
и :}
:
http://www.haskell.org/ghc/docs/6.12.2/html/users_guide/interactive-evaluation.html.
Это было добавлено в качестве версии GHC 7.4.1, которая была выпущена Вернувшись в феврале:
jcp@butler:~$ ghci
GHCi, version 7.6.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> data Test = Foo | Bar | Baz deriving (Read, Show)
Prelude> Foo
Foo
Prelude> read "Bar" :: Test
Bar
Prelude> :t Baz
Baz :: Test
Нет, вы не можете определить новые типы в GHCI.
Таким образом, да, вам нужно поставить эти определения в файл.