2017-12-21 18 views
0

내 모듈 수식에이 데이터를 가지고 :하스켈 수출 데이터 생성자

data Formula = Formula { 
    typeFormula :: String, 
    nbClauses :: Int, 
    nbVars  :: Int, 
    clauses  :: Clauses  
} 

그리고 나는 그것을 내보낼하지만 올바른 구문을 모르는 :

module Formula (
    Formula (Formula), 
    solve 
) where 

누군가가 말할 수를 나에게 맞는 문법을 알려주시겠습니까?

+0

예, '수식 (수식)'입니다. 물어 보는 대신에 그냥 시도해보십시오. 알아내는 것이 훨씬 빠를 것 같아요. – arrowd

+0

하지만이 작동하지 않습니다 x) –

+0

그런 다음 적어도 오류 메시지를 게시하십시오. – arrowd

답변

2

일부 혼동은 내보내려고하는 생성자와 동일한 모듈 이름을 가진 것에서 비롯됩니다.

module Formula (
    Formula (Formula), 
    solve 
) where 

module Formula (
    module Formula (Formula (..)), 
    solve 
) where 

현재 수출 문이 모듈 제조법에 말한다, 모듈 수식과 함수에 정의 된 유형 Formula을 수출

module Formula (
    Formula (..), 
    solve 
) where 

또는

이어야한다 solve (모듈이 정의 된 곳이면 어디 까지나))

(..) 구문은 이전 유형의 모든 생성자를 내 보냅니다. 귀하의 경우에는 명시 적 표현과 같습니다.

module Formula (
    Formula (typeFormula,nbClauses, nbVars,clauses), 
    solve 
) where