From f22d42f98cd63952c08c1e737f24cec1581b41f1 Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Tue, 3 Mar 2020 00:12:45 +0100 Subject: [PATCH] rs: Add pretty-print-state-graph. --- rs.rkt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rs.rkt b/rs.rkt index ac04a48..96cc2ec 100644 --- a/rs.rkt +++ b/rs.rkt @@ -26,13 +26,14 @@ [dds-build-n-step-state-graph (-> dynamics? (set/c state? #:kind 'dont-care) number? graph?)] [dds-build-state-graph-annotated (-> dynamics? (set/c state? #:kind 'dont-care) graph?)] [dds-build-n-step-state-graph-annotated (-> dynamics? (set/c state? #:kind 'dont-care) number? graph?)] - [build-interactive-process (-> reaction-system/c (listof (set/c species?)) graph?)]) + [build-interactive-process (-> reaction-system/c (listof (set/c species?)) graph?)] + [pretty-print-state-graph (-> graph? graph?)]) ;; Predicates (contract-out [species? (-> any/c boolean?)]) ;; Contracts (contract-out [reaction-system/c contract?]) ;; Syntax - unorg-rs org-rs read-ctx) + unorg-rs org-rs read-ctx ppsg) ;;; ================= ;;; Basic definitions @@ -171,3 +172,10 @@ (define (build-interactive-process rs contexts) (dds-build-state-graph-annotated (dynamics rs) (set (state (set) contexts)))) + +;;; Pretty prints the state graph of a reaction system. +(define (pretty-print-state-graph sgr) + (update-graph sgr #:e-func pretty-print-set-sets)) + +;;; A shortcut for pretty-print-state-graph. +(define-syntax-rule (ppsg sgr) (pretty-print-state-graph sgr))