2017-10-25 17 views

답변

2

LANGUAGEpragma를 통해 전처리를 위해 CPP를 사용하도록 명시 적으로 지정해야한다고 생각합니다.

에게
{-# LANGUAGE CPP #-} 
module Main where 

#if (__GLASGOW_HASKELL__ >= 821) 
ver = ">= 821" 
#else 
ver = "< 821" 
#endif 

main = putStrLn $ ver -- < 821 on my machine 

참조 :

편집 :

당신은해야한다 예를 들어

답변에 대한

-- Bar.hs 
{-# LANGUAGE CPP #-} 
module Bar(ver) where 

#if (__GLASGOW_HASKELL__ >= 821) 
ver = ">= 821" 
#else 
ver = "< 821" 
#endif 

-- Foo.hs 
module Main where 

import Bar 

main = putStrLn $ ver -- < 821 on my machine 
+0

감사합니다 : 당신이 (내가이 예제는 아래에 코멘트에 참조 요구 사항 "프로젝트 내에서 값의"를 해결 생각 ) 할 때마다 사전을 사용할 수! 당신의 해결책은 좋습니다. 내 프로젝트가 컴파일됩니다. 나는'-XCPP' pragma를 활성화해야한다는 것을 알고 있습니다. 나는 간단한 해결책에 관심이 많았다. 완벽하게 - ghci를 사용합니다. 나는 고립되어있는 것이 아니라 내 안의 가치에 관심이있다. 그런 목적을 위해 새로운'Main' 파일을 만드는 것은 정말로 편리하지 않습니다 ... – Shersh