! Copyright (C) 2006, 2007 Slava Pestov. ! See https://factorcode.org/license.txt for BSD license. USING: assocs kernel sequences sets ; IN: graphs : add-vertex ( vertex edges graph -- ) [ nest adjoin ] curry with each ; inline : remove-vertex ( vertex edges graph -- ) [ at delete ] curry with each ; inline : closure-as ( vertex quot: ( vertex -- edges ) exemplar -- set ) new-empty-set-like [ swap (closure) ] keep ; inline : closure ( vertex quot: ( vertex -- edges ) -- set ) HS{ } closure-as ; inline