graphs: move some words to private.

db4
John Benediktsson 2012-08-30 11:31:52 -07:00
parent 9eaf91de16
commit 0b8aa8efe0
1 changed files with 8 additions and 0 deletions

View File

@ -3,12 +3,16 @@
USING: assocs kernel namespaces sequences sets ;
IN: graphs
<PRIVATE
: if-graph ( vertex edges graph quot -- )
dupd [ 3drop ] if ; inline
: nest ( key graph -- hash )
[ drop H{ } clone ] cache ; inline
PRIVATE>
: add-vertex ( vertex edges graph -- )
[ [ nest dupd set-at ] curry with each ] if-graph ; inline
@ -25,6 +29,8 @@ IN: graphs
swapd [ [ rot ] dip at delete-at drop ] 2curry assoc-each
] if-graph ; inline
<PRIVATE
: (closure) ( obj assoc quot: ( elt -- assoc ) -- )
2over key? [
3drop
@ -33,5 +39,7 @@ IN: graphs
[ [ drop ] 3dip (closure) ] 2curry assoc-each
] if ; inline recursive
PRIVATE>
: closure ( obj quot -- assoc )
H{ } clone [ swap (closure) ] keep ; inline