预处理器可用于此目的。Haste 定义了__HASTE__
宏,因此将代码包装在条件语句中就足够了:
{-# LANGUAGE CPP #-}
main = do
#ifdef __HASTE__
print "haste!"
#endif
#ifndef __HASTE__
print "not haste!"
#endif
print "everybody"
不要忘记使用{-# LANGUAGE CPP #-}
pragma 启用 C 预处理器扩展。
您还可以在“.cabal”文件中实现类似的效果:
Build-Depends:
bytestring >= 0.9.2.1
if flag(haste-inst)
Build-Depends:
base == 4.6.0.1,
array == 0.4.0.1
else
Build-Depends:
base,
array,
random,
websockets >= 0.8
(来源https://github.com/valderman/haste-compiler/blob/0.4/libraries/haste-lib/haste-lib.cabal#L63)
请注意,该haste-inst
标志已haste-cabal
在 Haste 的最新开发版本中重命名为。