试图在Data.Map.hs中使用一个函数,但它说的不在范围内......是不是因为#if定义了(TESTING)

时间:2012-03-22 20:26:14

标签: haskell map binary-search-tree

Data.Map中有一些函数,比如merge,glue,我想使用但编译器说它们不在范围内。我注意到它们在顶部列出:

#if defined(TESTING)
            -- * Internals
            , bin
            , balanced
            , join
            , merge
#endif

我认为这意味着我不能直接使用它们,除非我以某种方式定义了测试,但我不知道如何做到这一点以及在哪里。请回答好像我迟钝了;不要以为我知道你的意思是在命令行输入内容而不是在程序中输入内容。

如果重要的话,我使用的是Windows XP并使用GHCi。

1 个答案:

答案 0 :(得分:3)

你做不到。这些函数仅供库的内部测试使用。 TESTING在编译时确定,因此即使您愿意也无法更改它。

地图的内部树结构与使用该代码的人不相关,因此如果没有关于您正在尝试做什么的具体信息,很难说什么是更好的解决方案。