From 09c61d7d0a94d33c60ecd9babce043b0c70547d0 Mon Sep 17 00:00:00 2001 From: Alex Chapman Date: Sun, 16 Mar 2008 13:25:27 +1100 Subject: [PATCH] new-graphs: starting a library that has directed and undirected graphs --- extra/new-graphs/new-graphs.factor | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 extra/new-graphs/new-graphs.factor diff --git a/extra/new-graphs/new-graphs.factor b/extra/new-graphs/new-graphs.factor new file mode 100644 index 0000000000..b82ed8a22d --- /dev/null +++ b/extra/new-graphs/new-graphs.factor @@ -0,0 +1,21 @@ +! Copyright (C) 2008 Alex Chapman +! See http://factorcode.org/license.txt for BSD license. +USING: accessors assocs kernel new-slots sequences vectors ; +IN: new-graphs + +TUPLE: graph edges ; +TUPLE: digraph ; +TUPLE: undigraph ; + +: ( -- graph ) + H{ } clone graph construct-boa H{ } clone over set-delegate ; + +: ( -- graph ) + digraph construct-empty tuck set-delegate ; + +: ( -- graph ) + undigraph construct-empty tuck set-delegate ; + +GENERIC: add-vertex ( key value graph -- ) +M: graph add-vertex ( key value digraph -- ) set-at ; +