Add Typeable instances for the new DData libraries
import Data.Int
import Data.Monoid
import qualified Data.IntSet as IntSet
import Data.Int
import Data.Monoid
import qualified Data.IntSet as IntSet
showElem (k,x) = shows k . showString ":=" . shows x
{--------------------------------------------------------------------
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
Debugging
--------------------------------------------------------------------}
-- | /O(n)/. Show the tree that implements the map. The tree is shown
import qualified Data.List as List
import Data.Monoid
import qualified Data.List as List
import Data.Monoid
showTail (x:xs) = showChar ',' . shows x . showTail xs
{--------------------------------------------------------------------
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
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.Monoid
import qualified Data.Set as Set
import qualified Data.List as List
withBar bars = "| ":bars
withEmpty bars = " ":bars
withBar bars = "| ":bars
withEmpty bars = " ":bars
+{--------------------------------------------------------------------
+ Typeable
+--------------------------------------------------------------------}
+
+#include "Typeable.h"
+INSTANCE_TYPEABLE2(Map,mapTc,"Map")
{--------------------------------------------------------------------
Assertions
{--------------------------------------------------------------------
Assertions
import Prelude hiding (filter,foldr,foldl,null,map)
import Data.Monoid
import qualified Data.List as List
import Prelude hiding (filter,foldr,foldl,null,map)
import Data.Monoid
import qualified Data.List as List
{--------------------------------------------------------------------
{--------------------------------------------------------------------
+ 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]
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]