2012-07-06 6 views
7

Domanda semplice.Come importare il costruttore PortNumber specifico

Questo compila:

module Example where 

import Network 

port :: PortID 
port = PortNumber 3001 

E questo non lo fa:

module Example where 

import Network (PortID, PortNumber) 

port :: PortID 
port = PortNumber 3001 

GHC dice:

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

Perché?

risposta

13

Deve essere

import Network (PortID(PortNumber)) 

come PortNumber sembra essere un costruttore di PortID. L'altra importazione importa semplicemente tutto il Network e quindi viene trovato PortNumber.

+3

È possibile importare tutti i costruttori di un tipo di dati con ad es. 'Importa rete (PortID (..))'. – dflemstr

Problemi correlati