Question

En commentant sur les nouvelles fonctionnalités dans ghci je voulais que ghci avait la capacité de déclaration de type Déclarez et déclarant nouveaux types d'ADT, quelqu'un a informé qu'il était en effet possible, et après la recherche que je trouve cette page qui m'a dit que je pourrait faire

let numUniques' :: (Eq a) => [a] -> Int; numUniques' = length . nub

Il semble que même type de syntaxe fonctionne pour la correspondance de motif (ex laisser un 1 = True, a. 2 = False).

Création d'ADTs serait presque parfait? Est-ce que quelqu'un sait s'il est actuellement possible? Dois-je faire un fichier zéro ADT et le recharger?

P.S. Est-ce que quelqu'un sait s'il y a des plans pour le faire? Y at-il des demandes pour GHC (i)?

Aussi je sais que l'open source, mais je ne suis pas assez intelligent pour pirater actuellement sur GHC (i).

Était-ce utile?

La solution

Non, mais vous pouvez définir de nouveaux types de HBI (un interprète plus tôt). Il y a discussion sur ce qui porte arrière, via une bibliothèque ghci sur hackage.

Autres conseils

Notez que vous pouvez également faire un code explicite multiligne dans ghci avec :{ et :}: http://www.haskell.org/ghc /docs/6.12.2/html/users_guide/interactive-evaluation.html

Cela a été ajouté de la version GHC 7.4.1, qui a été publié en Février :

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

Non, vous ne pouvez pas définir de nouveaux types dans ghci.

Alors oui, vous aurez besoin de mettre ces définitions dans un fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top