나는 내가 지금 같은 CPP 조건부 추가하여베이스와의 하위 호환성을 얻을 수있는 것으로 나타났습니다 :haskell 패키지에 대해 cpp MIN_VERSION 조건문을 사용할 수 있습니까?
moo :: Moo
moo = Moo
{ happyMoo = Sound "moo"
#if MIN_VERSION_base(4,9,1)
, upgradedMoo = Sound "moo"
#endif
, sadMoo = Sound "moo"
}
하지만 내가 패키지 레벨의 종속성을 지정 오류가 발생합니다 (예 : #if MIN_VERSION_optparse-applicative(0,13,0)
같은 것을 사용) 내가 ' 이 GHC 기능에 대한 문서를 찾는 데 어려움을 겪고 있습니다.
MIN_VERSION_optparse-applicative
과 같은 것이 있는지 궁금한데, 그렇지 않다면 어떻게 hackage maintainers가 코드를 이전 버전과 어떻게 호환합니까?
'MIN_VERSION_optparse-applicative'는 유효하지 않은 CPP 식별자입니다. 'MIN_VERSION_optparse_applicative'를 시도하십시오. – freestyle
아아아, 나는 그것을 시도했지만 이번에는 효과가 있었다. 이전에 네 개의 버전 번호를 사용하고있는 것처럼 보입니다. 여기서 매크로는 세 개의 숫자를 사용해야합니다. – stites