Pregunta

Al comentar sobre las nuevas características en ghci deseé que ghci tenía la capacidad de declaración de tipo de declarar y declarar nuevos tipos de ADT, alguien informó que era de hecho posible, y después de buscar que se encuentran esta página que me lo dijo podría hacer

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

Al parecer, ese mismo tipo de sintaxis trabaja para la coincidencia de patrones (por ejemplo, dejar que un 1 = true;. A 2 = Falso).

La creación de los ADT haría casi perfecto? ¿Alguien sabe si es posible en la actualidad? ¿Debo hacer un archivo ADT cero y volver a cargarlo?

P.S. ¿Alguien sabe si hay planes de hacerlo? ¿Hay peticiones para GHC (i)?

También sé que es de código abierto, pero no estoy actualmente lo suficientemente inteligente como para introducirse en GHC (i).

¿Fue útil?

Solución

No, pero se podría definir nuevos tipos de HBI (un intérprete antes). No hay discusión acerca de traer esto de nuevo, a través de una biblioteca en ghci hackage.

Otros consejos

Tenga en cuenta que también se puede hacer de varias líneas de código explícito en ghci con :{ y :}: http://www.haskell.org/ghc /docs/6.12.2/html/users_guide/interactive-evaluation.html

Esto ha sido añadido como de GHC versión 7.4.1, que fue lanzado en febrero :

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, no se puede definir nuevos tipos de ghci.

Así que sí, tendrá que poner esas definiciones en un archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top