summaryrefslogtreecommitdiff
path: root/ProofGraph.hs
diff options
context:
space:
mode:
Diffstat (limited to 'ProofGraph.hs')
-rw-r--r--ProofGraph.hs48
1 files changed, 0 insertions, 48 deletions
diff --git a/ProofGraph.hs b/ProofGraph.hs
deleted file mode 100644
index 780f3ed..0000000
--- a/ProofGraph.hs
+++ /dev/null
@@ -1,48 +0,0 @@
-module ProofGraph (
- Node(..),
- Graph(..),
-
- empty,
- insert,
- delete,
- union
- ) where
-
-import Data.Set( Set )
-import qualified Data.Set as Set
-import qualified Data.List as List
-
-
-
-data Node a = Node { contents :: a
- , successors :: Set (Node a) } deriving (Eq, Ord)
-
-data Graph a = Graph { nodes :: Set (Node a) }
-
-
-
-instance (Show a, Eq a) => Show (Node a) where
- show x = let header = show . contents $ x
- footer = if ((successors x) == Set.empty)
- then "\n"
- else " -> " ++ List.intercalate ", " (map (show . contents) (Set.toList . successors $ x)) ++ "\n"
- in header ++ footer
-
-instance (Show a, Eq a) => Show (Graph a) where
- show x = "Graph: \n" ++ List.foldl' (++) [] (map show (Set.toList . nodes $ x)) ++ "\n"
-
-
-empty :: Graph a
-empty = Graph Set.empty
-
-
-insert :: Ord a => Node a -> Graph a -> Graph a
-insert node graph = Graph (Set.insert node (nodes graph))
-
-
-delete :: Ord a => Node a -> Graph a -> Graph a
-delete node graph = Graph (Set.delete node (nodes graph))
-
-
-union :: Ord a => Set (Node a) -> Graph a -> Graph a
-union nodeSet graph = Graph (Set.union nodeSet (nodes graph))