From 7953b9b5c1573ac18bcb3f5067d0e916d5f0bb90 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 26 Apr 2016 13:30:11 -0500 Subject: [PATCH] actors: Add debug module with useful utilities. * 8sync/systems/actors/debug.scm: New file. * Makefile.am (SOURCES): Add it. --- 8sync/systems/actors/debug.scm | 38 ++++++++++++++++++++++++++++++++++ Makefile.am | 3 ++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 8sync/systems/actors/debug.scm diff --git a/8sync/systems/actors/debug.scm b/8sync/systems/actors/debug.scm new file mode 100644 index 0000000..61baf0c --- /dev/null +++ b/8sync/systems/actors/debug.scm @@ -0,0 +1,38 @@ +;;; 8sync --- Asynchronous programming for Guile +;;; Copyright (C) 2016 Christopher Allan Webber +;;; +;;; This file is part of 8sync. +;;; +;;; 8sync is free software: you can redistribute it and/or modify it +;;; under the terms of the GNU Lesser General Public License as +;;; published by the Free Software Foundation, either version 3 of the +;;; License, or (at your option) any later version. +;;; +;;; 8sync is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Lesser General Public License for more details. +;;; +;;; You should have received a copy of the GNU Lesser General Public +;;; License along with 8sync. If not, see . + +(define-module (8sync systems actors debug) + #:use-module (oop goops) + #:use-module (8sync systems actors) + #:export (hive-resolve-local-actor + hive-create-actor-gimmie)) + +(define hive-resolve-local-actor + (@@ (8sync systems actors) hive-resolve-local-actor)) + +(define (hive-create-actor-gimmie . args) + "Create an actor on the hive, and give us that actor. +Uses hive-create-actor* arguments." + (let ((actor-id (apply hive-create-actor args))) + (hive-resolve-local-actor hive actor-id))) + +(define-syntax-rule (hive-create-actor-gimmie* args ...) + "Create an actor on the hive, and give us that actor. +Uses hive-create-actor* arguments." + (let ((actor-id (hive-create-actor* args ...))) + (hive-resolve-local-actor hive actor-id))) diff --git a/Makefile.am b/Makefile.am index 51849a3..552b62b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,7 +49,8 @@ SOURCES = \ 8sync/repl.scm \ 8sync/systems/irc.scm \ 8sync/systems/web.scm \ - 8sync/systems/actors.scm + 8sync/systems/actors.scm \ + 8sync/systems/actors/debug.scm TESTS = \ tests/test-agenda.scm \ -- 2.31.1