import Data.Int
import Data.Monoid
import qualified Data.IntSet as IntSet
+import Data.Typeable
{-
-- just for testing
showElem (k,x) = shows k . showString ":=" . shows x
{--------------------------------------------------------------------
+ Typeable
+--------------------------------------------------------------------}
+
+#include "Typeable.h"
+INSTANCE_TYPEABLE1(IntMap,intMapTc,"IntMap")
+
+{--------------------------------------------------------------------
Debugging
--------------------------------------------------------------------}
-- | /O(n)/. Show the tree that implements the map. The tree is shown
import qualified Data.List as List
import Data.Monoid
+import Data.Typeable
{-
-- just for testing
showTail (x:xs) = showChar ',' . shows x . showTail xs
{--------------------------------------------------------------------
+ Typeable
+--------------------------------------------------------------------}
+
+#include "Typeable.h"
+INSTANCE_TYPEABLE0(IntSet,intSetTc,"IntSet")
+
+{--------------------------------------------------------------------
Debugging
--------------------------------------------------------------------}
-- | /O(n)/. Show the tree that implements the set. The tree is shown
import Data.Monoid
import qualified Data.Set as Set
import qualified Data.List as List
+import Data.Typeable
{-
-- for quick check
withBar bars = "| ":bars
withEmpty bars = " ":bars
+{--------------------------------------------------------------------
+ Typeable
+--------------------------------------------------------------------}
+
+#include "Typeable.h"
+INSTANCE_TYPEABLE2(Map,mapTc,"Map")
{--------------------------------------------------------------------
Assertions
import Prelude hiding (filter,foldr,foldl,null,map)
import Data.Monoid
import qualified Data.List as List
+import Data.Typeable
{-
-- just for testing
{--------------------------------------------------------------------
+ Typeable/Data
+--------------------------------------------------------------------}
+
+#include "Typeable.h"
+INSTANCE_TYPEABLE1(Set,setTc,"Set")
+
+{--------------------------------------------------------------------
Utility functions that return sub-ranges of the original
tree. Some functions take a comparison function as argument to
allow comparisons against infinite values. A function [cmplo x]