Re: 2nd gen Io

Steve Dekorte <[email protected]> Thu, 6 Mar 2014 16:28:04 -0800
Newsgroups gmane.comp.lang.io
Message-ID <[email protected]>
I=92d like to make the things that tend to be re-implemented in typical pro=
jects part of the language - security, persistence, concurrency, distributi=
on 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 t=
o add a pointer to each object in the system to it=92s =93owner=94 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 withi=
n it=92s 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 se=
curity (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 loadi=
ng of individual objects and standard representations that can be externall=
y manipulated and returned and merged with an optimistic locking mechanism.

The user interaction part involves extending slots to have metadata and a s=
tandard 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.
>=20
> Selon Steve Dekorte <[email protected]>:
>>=20
>> On Feb 19, 2014, at 1:28 AM, [email protected] wrote:
>>> Hi all,
>>>=20
>>> When there's no matching slot, the "forward" slot is activated.
>>>=20
>>> I have this idea about a "before" slot:
>>>=20
>>> If "before" doesn't exist, everything works as usual.
>>>=20
>>> 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.
>>>=20
>>> This could be used to test whether the sender as the "right" to access =
a
>>> particular slot, for example.
>>=20
>> Hi Julien,
>>=20
>> I like the idea. On my list for a 2nd gen Io is some form of support for
>> rights on all objects.
>>=20
>>> Is there already a way to do this at user level?
>>=20
>> 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 o=
bject
>> to another.
>>=20
>>> Also, would anybody have a little constructive criticism about Io?
>>=20
>> Always welcome! :)
>>=20
>> Steve





------------------------------------

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]=20
    [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/