|
From: | Paolo Bonzini |
Subject: | Re: [Help-smalltalk] GNU Smalltalk Sprint |
Date: | Fri, 10 Dec 2010 22:00:45 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101103 Fedora/1.0-0.33.b2pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.6 |
On 12/10/2010 09:47 PM, Dmitry Matveev wrote:
2. To design an network protocol. I think that for a first time we could leave concurency and to use a syncronious protocol. I see entities in the communication: Client (VisualGST) and the Server (remote image). The active member is Client - it will send requests to Server and Server will respond. Server will not send anything without an appropriate request (for simplicity). I see a set of possible commands: - get a list of namespaces; - get a list of classes in namespace; - get a list of methods in class (instance side or class side); - register a new class with the supplied description (comment, instance/class variable names, ect); - remove a class; - get a source string of a concrete method in a concrete class; - compite a supplied source string for a concrete method in a concrete class.
Yes, that's a subset of the methods of Class (and Behavior via inheritance), Namespace (and Dictionary, also via inheritance), CompiledMethod (and MethodInfo via composition). It can grow as needed.
I think it would be more than enough for sprint:) Network protocol could be implemented using XML - I see the following advantages here: - easy to serialize; - portable, i.e. it would be possible to write a mode for Emacs that will communicate with image is a SLIME flavour (that's my dream!).
That's nice. It's even possible to plug a more compact format later (based e.g. on ObjectDumper and proxies, or on Spoon), since the Strategy pattern should be flexible enough.
Starting to work on the network protocol is good and probably enough for the sprint, I think. Also, the strategy pattern implementation could be a separate package from VisualGST so they can developed independently with their own unit tests.
Thanks! Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |