Re: 2nd gen Io
[email protected] Sat, 15 Mar 2014 09:54:46 +0100
| Newsgroups | gmane.comp.lang.io |
|---|---|
| Message-ID | <[email protected]> |
Ok, got it. Sounds like a logical evolution step. So... any incoming message is routed through the domain. What about outgoing messages? If I run untrusted code, maybe I want to isolate it, by asking the domain not to forward outgoing messages, or treat them even before they get out into the wild. With domains, isn't there a need for a scheduler? What is this idea about slots metadata, for user interaction? Didn't get it. Selon Steve Dekorte <[email protected]>: > > Right the domain object is the top of the ownership hierarchy of the objects > beneath it, owns the only execution context that ever directly interacts with > those objects. Any message to an object in its domain is routed through the > domain object and put on its actor message queue for execution. Even though > the domain object itself is not the target, it will verify the authority of > the message and dispatch it to the appropriate target in its own execution > context. > > > On Mar 13, 2014, at 9:33 AM, [email protected] wrote: > > > > > > > > Sorry for the following dumb question :) > > > > "Any object can become a domain ..." > > > > In IO2, if I understand correctly, we have objects that represent execution > > threads, these objects are called domains, and they "run" other objects > (those > > that belong to them)? > > > > > > > > > > > > > > > > > > Selon Steve Dekorte <[email protected]>: > > > >> > >> IÂd like to make the things that tend to be re-implemented in typical > >> projects part of the language - security, persistence, concurrency, > >> distribution and user interaction. All of these could be seen as mapping > >> problems and their solution as adding explicit mapping boundaries. > >> > >> The first idea (which was probably already done in Smalltalk in 1980s) is > to > >> add a pointer to each object in the system to itÂs Âowner and have > object > >> ownership domains where the domain leader is an actor/process whose > execution > >> thread is used for processing all messages sent to objects within itÂs > >> domain. Any object can become a domain of the objects below it in the > >> ownership graph. Domain boundaries are used to solve the problems of > security > >> (tracking and verifying authority to invoke behaviors), concurrency (avoid > >> unexpected state changes, closely associate execution with the state it > will > >> be working on), distribution and persistence (boundaries determine the > state > >> which needs to be persisted or moved). > >> > >> Part of the persistence component is to support the indexing and lazy > loading > >> of individual objects and standard representations that can be externally > >> manipulated and returned and merged with an optimistic locking mechanism. > >> > >> The user interaction part involves extending slots to have metadata and a > >> standard set of properties which are used for the interface mapping. > >> > >> This would be a big project but hopefully there will be time in the future > to > >> take a stab at it. > >> > >> Sorry for the delay in responding, > >> Steve > >> > >>> On Feb 24, 2014, at 6:06 AM, [email protected] wrote: > >>> Come on Steve, there are Io fans who wanna hear about it! Let us chat. > >>> > >>> Selon Steve Dekorte <[email protected]>: > >>>> > >>>>> On Feb 19, 2014, at 1:28 AM, [email protected] wrote: > >>>>> Hi all, > >>>>> > >>>>> When there's no matching slot, the "forward" slot is activated. > >>>>> > >>>>> I have this idea about a "before" slot: > >>>>> > >>>>> If "before" doesn't exist, everything works as usual. > >>>>> > >>>>> If "before" exists, it is always activated (and it receives the > message) > >>>> before > >>>>> the slot lookup. Then, it produces a message (possibly the same) which > >> will > >>>> be > >>>>> treated as usual. > >>>>> > >>>>> This could be used to test whether the sender as the "right" to access > a > >>>>> particular slot, for example. > >>>> > >>>> Hi Julien, > >>>> > >>>> I like the idea. On my list for a 2nd gen Io is some form of support for > >>>> rights on all objects. > >>>> > >>>>> Is there already a way to do this at user level? > >>>> > >>>> You can get the same effect using a proxy to forward message to the real > >>>> object. > >>>> Io uses proxies for futures and supports turning all references of one > >> object > >>>> to another. > >>>> > >>>>> Also, would anybody have a little constructive criticism about Io? > >>>> > >>>> Always welcome! :) > >>>> > >>>> Steve > >> > >> > >> > >> > >> > >> ------------------------------------ > >> > >> Yahoo Groups Links > > > > > > > > > > ------------------------------------ > > > > Yahoo Groups Links > > > > > > > > > > ------------------------------------ Yahoo Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/iolanguage/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/iolanguage/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo Groups is subject to: https://info.yahoo.com/legal/us/yahoo/utos/terms/