[erlisp-devel] some thoughts ...

Aurélien Campéas aurelien.campeas at free.fr
Mon Jun 27 08:20:21 UTC 2005


Le dimanche 26 juin 2005 à 12:42 +0200, Dirk Gerrits a écrit :
> Hi,
> 
> Aurélien Campéas wrote:
> > a) I have quickly skimmed over the current source 
> 
> Cool.  So what do you think?  Anything you would have done differently?

I don't think much of it really :)
It seems small and well structured for now, and to me, looks like an
invitation to hack ...

Apart from that, you seem to have put much effort into the pattern
matcher/messaging part, which is good because I haven't had many
thoughts about it. The fault tolerance aspect of erlang is more
appealing to me ... (especially since I have been working on
dependability/fault-tolerance in the past monthes)

> 
> > and it seems that the important functionality of process linking is 
> > missing, isn't it ?
> 
> It is.  I've done some thinking on it, but no coding yet.  I first had
> (have?) to improve my knowledge of the Common Lisp Condition System [0],
> which is a whole other cup of tea than Erlang's. ;)

Exact. The condition system is one of the great beauties of CL, along
with CLOS and a few other things :) I had the opportunity to study it
last year and even afforded myself an entry in the (french, alas)
wikipedia on the topic, trying to make it accessible to the
non-specialist :

http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_d%
27exceptions#Le_Syst.C3.A8me_de_Conditions_de_Common_Lisp

I plan to detach it from exception handling and then translate it to
english.


> 
> By the way, linking is not the only bit of important functionality
> that's missing.  Development is still at a very early stage, due to my
> busy school schedule over the past year.  Hopefully this will be better
> during/after the coming summer.  Also, it appears there will now be a
> Google-funded student working on Erlisp during the summer. [1]

I've seen your announce, thanks to planet.lisp. That's just great, the
google examiners really have good taste when it comes to selection of
interesting projects ... ;-)

> 
> > b) I've also just read your "mop" section of the roadmap (section 2),
> > where you want to investigate other avenues for parallelism than
> > Erlang's one.
> > 
> > I suggest reading what's made available by Mozart/Oz should give you
> > most-important ideas about that. Erlang's concurrency is only one
> > possibility in Oz, actually one of the more complex and powerful, but
> > there is a whole scale of ways to go concurrent worth studying there.
> 
> Thanks for the suggestion, but I've already been pointed to Oz in the
> past.  I have the Oz book, and it has been in the Erlisp references
> section for some time.  So far I haven't had the time to read it all,
> but I've already been convinced that Oz and its concurrency aspects are
> worthy objects of study.
> 
> > FYI, the Oz book is available there : 
> > http://www.ulb.ac.be/di/rwuyts/INFO020_2003/vanRoyHaridi2003-book.pdf
> 
> This is a draft right?  My hardcover is from 2004.  Still, a digital
> (searchable!) version is very handy.  Thanks for the link!

Maybe this is a draft, it looks nevertheless quite complete. 

> 
> > It seems to me that wrt Oz, the parallel with the MOP is only
> > superficial. On the other hand, I know one thing called
> > "Agent-Group-Role" developped at lirmm which really looks like a mop for
> > multi-agent systems (whatever that means, in fact agent there has to be
> > seen as concurrent objects). You can have a first look at this :
> > http://www.ualr.edu/kxaydin/Agents/From%20Agents%20to%
> > 20Organizations.pdf
> 
> Maybe it is my lack of knowledge on multi-agent systems, but I don't
> really see the MOP relation here.

True, sorry, much of the relation still sits in my head right now :)
Moreover, it is still quite fuzzy and may prove a stupid idea of mine
when I reality-check it ...

> The CLOS MOP allows you to change the object system with which you build
> object oriented systems.

True for CLOS, however changeability (full reflexion) is not necessarily
what defines a MOP (in the general case) : it is merely a description of
the object system in terms of (an instance of) itself. Compile- or
Run-time modifiability of the system is a nice feature though.

> 
> The way I see it, AGR allows you to build multi-agent systems,

Precisely it defines a possible structuring of the interactions between
agents. I would tend to write generic agent interactions like we write
generic functions, with selection of the method (read : specific
interaction) based on the tuple of the roles arguments ... Well the
parallel with CLOS is maybe only superficial and surely, until now,
resides mainly in my head ...

>  but not
> change the way by which you do so.  But again, I could be wrong; I'm the
> newbie here. ;)

I am very newbyish too, so the wrongness can be on my side.

> 
> Oh but anyway, thanks for the link!
> 
> > I really had no time to allot to seriously playing with it but I intent
> > to someday ... :)
> 
> Are we still talking about AGR, or about Erlisp again?

Both, but I feel like going the Erlisp road first would be a good idea.
In fact I was on the AGR road last year, while keeping an interested eye
on Erlang, when you announced Erlisp, and I thought "that's it" ! AGR is
quite abstract. Erlang offers something tangible, from a proven
foundation and surely implementable. 

>   Either way, feel
> free to seriously play with either as much as you like, and let us know
> of your new-found insights. ;)

I must be honest here : I lack time and can't make any promise, even to
myself, about when to do things. But when I get some, I know what I'll
do :)
It will be interesting to see what matures out of the google summer
project, too.

Cheers,
Aurélien

> Kind regards,
> 
> Dirk Gerrits
> 
> [0] http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html

You surely have noted the previous one I suppose : 

http://www.nhplace.com/kent/Papers/Exceptional-Situations-1990.html

Good reading !





More information about the Erlisp-devel mailing list