2012-07-06 10 views
7

Pregunta simple.Cómo importar el constructor PortNumber específico

Esto compila:

module Example where 

import Network 

port :: PortID 
port = PortNumber 3001 

Y esto no es así:

module Example where 

import Network (PortID, PortNumber) 

port :: PortID 
port = PortNumber 3001 

GHC dice:

Example.hs:6:8: Not in scope: data constructor `PortNumber' 

¿Por qué?

Respuesta

13

Tiene que ser

import Network (PortID(PortNumber)) 

como PortNumber parece ser un constructor de PortID. La otra importación simplemente importa todos Network y, por lo tanto, se encuentra PortNumber.

+3

Puede importar todos los constructores de un tipo de datos con p. Ej. 'importar red (PortID (..))'. – dflemstr

Cuestiones relacionadas