Domanda

Mentre commentando nuove funzionalità di ghci ho voluto che ghci aveva la capacità di dichiarazione del tipo di dichiarazione e dichiarando nuovi tipi di ADT, qualcuno ha informato che si trattava effettivamente possibile, e dopo una ricerca ho trovato questa pagina che mi ho detto poteva fare

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

A quanto pare lo stesso tipo di sintassi funziona per il pattern matching (ex lasciare che un 1 = true;. 2 = False).

La creazione di ADT renderebbe quasi perfetto? Qualcuno sa se è attualmente possibile? Devo solo fare un file di ADT graffi e ricaricarlo?

P.S. Qualcuno sa se ci sono piani per farlo? Ci sono richieste di funzionalità di GHC (i)?

Anche io so il suo open source, ma io non sono attualmente abbastanza intelligente per incidere sulla GHC (i).

È stato utile?

Soluzione

No, ma è possibile definire nuovi tipi di HBI (un interprete in precedenza). Non c'è discussione su questo portare indietro, attraverso un ghci biblioteca in hackage.

Altri suggerimenti

Si noti che si può anche fare il codice multilinea esplicito ghci con :{ e :}: http://www.haskell.org/ghc /docs/6.12.2/html/users_guide/interactive-evaluation.html

Questo è stato aggiunto come di GHC versione 7.4.1, che è stato rilasciato a febbraio :

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

No, non è possibile definire nuovi tipi di ghci.

Quindi sì, avrete bisogno di mettere queste definizioni in un file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top