2 Jun 18:17
Slate on a message-passing machine
From: Matthew Fulmer <tapplek <at> gmail.com>
Subject: Slate on a message-passing machine
Newsgroups: gmane.comp.lang.slate.general
Date: 2007-06-02 16:19:18 GMT
Subject: Slate on a message-passing machine
Newsgroups: gmane.comp.lang.slate.general
Date: 2007-06-02 16:19:18 GMT
For my Master's thesis, I will probably be working on a hardware architecture for efficiently executing object-oriented systems. Slate is definitely the most generic of these types of systems, and so I believe I should make the hardware directly applicable to slate, since all other object oriented semantics are a subset of those provided by Slate. For an example of the kind of hardware I am talking about, consider Jecel's Ring Network Architecture: http://www.merlintec.com:8080/hardware/19 . According to the example, the RNA architecture can send, lookup, and execute a message that is installed on a single receiver without software assistance. I wonder if this design can accommodate some, if not all, of the multi-dispatched message sends in slate. In other words, is there (hopefully large) a subset of slate message-passing semantics that can be resolved without resorting to sending extra messages? I hazard to guess that a subset of slate does have the same semantics as the operation natively handled by RNA, but it may be somewhat small. This seems to be the case when there is exactly one method with the given selector, and the receivers all have NoRole. This could be resolved as a single-send to the method object with the receivers as arguments. Is this correct? To implement Slate on a single-dispatch architecture, I think selectors would be sent a single-dispatch valueWith:With ..., message. To resolve, I suppose one would calculate the distance for each method, then minimize it. This could probably be done in one trip around the loop in an RNA architecture if the messages are laid out in the correct order. Am I correct in this assessment of Slate's dispatch mechanism? I would like to make sure that whatever we build can be used to efficiently implement Slate. I am still not sure how the correct method is calculated. I don't understand whether it is some kind of recursive computation given the delegates of each receiver, a search that only cares about the distance from the receiver to the message role, or some combination of the two. I hope my questions are clear; if not, I will try to clarify. Thanks! -- -- Matthew Fulmer -- http://mtfulmer.wordpress.com/ Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808
RSS Feed