actors: Move message body to being an argument list for procedures.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 12 Dec 2016 01:20:38 +0000 (19:20 -0600)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 12 Dec 2016 01:20:38 +0000 (19:20 -0600)
commitea14f5dc75cebaaf9cc21d96a6575b3738c43354
tree218999c28b32b35f94dd6e68e8cd8558015082f6
parent9adac66bf1a1cf8e363aef54ddc7c14120c8f0c6
actors: Move message body to being an argument list for procedures.

This also removes the whole define-mhandler, mlambda, etc stuff... as
well as message-ref, since the argument list can be just about anything.

* 8sync/systems/actors.scm (<message>, message-deferred-reply)
  (set-message-deferred-reply!, make-message, serialize-message)
  (serialize-message-pretty, read-message): Removed deferred-reply slot from
  <message>.
  (message-ref, %nothing-provided, with-message-args, mlambda)
  (define-mhandler): Removed.
  (message-needs-reply?): Renamed from message-needs-reply, removed
  reference to message-deferred-reply.
  (message-auto-reply?, <-auto-reply, call-with-message, msg-receive, =>):
  New procedures / macros.
  (<-, <-wait, <-reply, <-reply-wait, simple-dispatcher, hive-reply-with-error):
  Update to pass in arguments as an argument list.
  (%expand-action-item): Remove optional "inline" message handler form.
  (hive-process-message): Update for rename of message-needs-reply?;
  use <-auto-reply where appropriate, check for an action of
  either *reply* or *auto-reply*.

* tests/test-actors.scm: Adjust tests to meet new structure.
8sync/systems/actors.scm
tests/test-actors.scm