preprocessor - Conditional Compilation inside Literate Haskell -


i have literate haskell file , want use conditional compilation. use bird style of literate programming. following code not work.

> #if min_version_base(4,6,0) > import control.exception > #endif 

i need solution cabal 1.14.0

edit:

cpphs has option --unlit unlits literate sourcecode, don't know how pass option cpphs in cabal.

as @kosmikus points out, can put c preprocessor directives outside > or \begin{code} , work expected – if not interfere processing of non-code parts of literal code.

you cannot use c preprocessor directives bird-style literate programming, unlitting step replaces > space, have no chance # first column. can verify passing -keep-tmp-files ghc , checkout generated .lpp file.

you can resort \begin{code}...\end{code} blocks both, if mix them them >-style lines of code, keep space in mind , add lines wrapped in \begin{code}...\end{code}:

> {-# language cpp #-}  literal comment  \begin{code} #if min_version_base(4,6,0)   import control.exception #endif \end{code}  > main = return () 

Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -