actors: Make the <-* message sending procedures official, not aliases.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 11 Dec 2016 17:14:25 +0000 (11:14 -0600)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 11 Dec 2016 17:14:25 +0000 (11:14 -0600)
* 8sync/systems/actors.scm (send-message, send-message-wait)
  (reply-message, reply-message-wait): Removed.
  (<-, <-wait, <-reply, <-reply-wait): Converted from being aliases
  to being the official procedure names.

8sync/systems/actors.scm
tests/test-actors.scm

index 919ebb1ef16de0976c43b400bafc9684cf48a5f3..40f860c5b024922d7b7ef51e9850fbcd197d8e66 100644 (file)
@@ -68,9 +68,6 @@
             message-wants-reply
             message-ref
 
             message-wants-reply
             message-ref
 
-            send-message send-message-wait
-            reply-message reply-message-wait
-
             <- <-wait <-reply <-reply-wait
 
             ez-run-hive
             <- <-wait <-reply <-reply-wait
 
             ez-run-hive
@@ -186,7 +183,10 @@ If key not found and DFLT not provided, throw an error."
                 args)))))
 
 
                 args)))))
 
 
-(define (send-message from-actor to-id action . message-body-args)
+;;; See: https://web.archive.org/web/20081223021934/http://mumble.net/~jar/articles/oo-moon-weinreb.html
+;;;   (also worth seeing: http://mumble.net/~jar/articles/oo.html )
+
+(define (<- from-actor to-id action . message-body-args)
   "Send a message from an actor to another actor"
   (let* ((hive (actor-hive from-actor))
          (message (make-message (hive-gen-message-id hive) to-id
   "Send a message from an actor to another actor"
   (let* ((hive (actor-hive from-actor))
          (message (make-message (hive-gen-message-id hive) to-id
@@ -194,7 +194,7 @@ If key not found and DFLT not provided, throw an error."
                                 (kwarg-list-to-alist message-body-args))))
     (8sync (hive-process-message hive message))))
 
                                 (kwarg-list-to-alist message-body-args))))
     (8sync (hive-process-message hive message))))
 
-(define (send-message-wait from-actor to-id action . message-body-args)
+(define (<-wait from-actor to-id action . message-body-args)
   "Send a message from an actor to another, but wait until we get a response"
   (let* ((hive (actor-hive from-actor))
          (abort-to (hive-prompt (actor-hive from-actor)))
   "Send a message from an actor to another, but wait until we get a response"
   (let* ((hive (actor-hive from-actor))
          (abort-to (hive-prompt (actor-hive from-actor)))
@@ -209,8 +209,7 @@ If key not found and DFLT not provided, throw an error."
 ;;   not have an exception thrown and instead just have a message with
 ;;   the appropriate '*error* message returned.
 
 ;;   not have an exception thrown and instead just have a message with
 ;;   the appropriate '*error* message returned.
 
-(define (reply-message from-actor original-message
-                       . message-body-args)
+(define (<-reply from-actor original-message . message-body-args)
   "Reply to a message"
   (set-message-replied! original-message #t)
   (let* ((hive (actor-hive from-actor))
   "Reply to a message"
   (set-message-replied! original-message #t)
   (let* ((hive (actor-hive from-actor))
@@ -221,8 +220,7 @@ If key not found and DFLT not provided, throw an error."
                                     #:in-reply-to (message-id original-message))))
     (8sync (hive-process-message hive new-message))))
 
                                     #:in-reply-to (message-id original-message))))
     (8sync (hive-process-message hive new-message))))
 
-(define (reply-message-wait from-actor original-message
-                            . message-body-args)
+(define (<-reply-wait from-actor original-message . message-body-args)
   "Reply to a messsage, but wait until we get a response"
   (set-message-replied! original-message #t)
   (let* ((hive (actor-hive from-actor))
   "Reply to a messsage, but wait until we get a response"
   (set-message-replied! original-message #t)
   (let* ((hive (actor-hive from-actor))
@@ -236,16 +234,6 @@ If key not found and DFLT not provided, throw an error."
     (abort-to-prompt abort-to from-actor new-message)))
 
 
     (abort-to-prompt abort-to from-actor new-message)))
 
 
-;;; Aliases!
-;;; See: http://mumble.net/~jar/articles/oo-moon-weinreb.html
-;;;   (also worth seeing: http://mumble.net/~jar/articles/oo.html )
-
-(define <- send-message)
-(define <-wait send-message-wait)
-(define <-reply reply-message)
-(define <-reply-wait reply-message-wait)
-
-
 \f
 ;;; Main actor implementation
 ;;; =========================
 \f
 ;;; Main actor implementation
 ;;; =========================
@@ -516,8 +504,7 @@ more compact following syntax:
     ;; Possibly autoreply
     (if (message-needs-reply message)
         ;; @@: Should we give *autoreply* as the action instead of *reply*?
     ;; Possibly autoreply
     (if (message-needs-reply message)
         ;; @@: Should we give *autoreply* as the action instead of *reply*?
-        (reply-message actor message
-                       #:*auto-reply* #t)))
+        (<-reply actor message #:*auto-reply* #t)))
 
   (define (resolve-actor-to)
     "Get the actor the message was aimed at"
 
   (define (resolve-actor-to)
     "Get the actor the message was aimed at"
@@ -720,7 +707,7 @@ an integer."
 
 (define (bootstrap-message hive to-id action . message-body-args)
   (wrap
 
 (define (bootstrap-message hive to-id action . message-body-args)
   (wrap
-   (apply send-message hive to-id action message-body-args)))
+   (apply <- hive to-id action message-body-args)))
 
 
 \f
 
 
 \f
index 36614b227b4c9866a918eed085b681fe29e9a5ba..4c8795a75f089dd263287ff532a4a8b4ae02f7c2 100644 (file)
 (define-simple-actor <antsy-caller>
   ((pester-rep actor message)
    (~display "customer> I'm calling customer service about this!\n")
 (define-simple-actor <antsy-caller>
   ((pester-rep actor message)
    (~display "customer> I'm calling customer service about this!\n")
-   (let ((reply (send-message-wait actor (message-ref message 'who-to-call)
-                                   'field-call)))
+   (let ((reply (<-wait actor (message-ref message 'who-to-call)
+                        'field-call)))
      (if (message-ref reply '*auto-reply* #f)
          (~display "customer> Whaaaaat?  I can't believe I got voice mail!\n")
          (begin
            (~format "*customer hears*: ~a\n" (message-ref reply 'msg))
      (if (message-ref reply '*auto-reply* #f)
          (~display "customer> Whaaaaat?  I can't believe I got voice mail!\n")
          (begin
            (~format "*customer hears*: ~a\n" (message-ref reply 'msg))
-           (let ((reply (reply-message-wait
+           (let ((reply (<-reply-wait
                          actor reply
                          #:msg "Yes, it didn't work, I'm VERY ANGRY!")))
              (if (message-ref reply '*auto-reply* #f)
                          actor reply
                          #:msg "Yes, it didn't work, I'm VERY ANGRY!")))
              (if (message-ref reply '*auto-reply* #f)
   ((field-call actor message)
    (~display "good-rep> Hm, another call from a customer...\n")
    (let ((reply
   ((field-call actor message)
    (~display "good-rep> Hm, another call from a customer...\n")
    (let ((reply
-          (reply-message-wait
+          (<-reply-wait
            actor message
            #:msg "Have you tried turning it off and on?")))
      (~format "*rep hears*: ~a\n" (message-ref reply 'msg))
            actor message
            #:msg "Have you tried turning it off and on?")))
      (~format "*rep hears*: ~a\n" (message-ref reply 'msg))