Hello Dirk & all,
a) I have quickly skimmed over the current source and it seems that the important functionality of process linking is missing, isn't it ?
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. FYI, the Oz book is available there : http://www.ulb.ac.be/di/rwuyts/INFO020_2003/vanRoyHaridi2003-book.pdf
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
I really had no time to allot to seriously playing with it but I intent to someday ... :)
Cheers, Aurélien.
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?
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. ;)
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]
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!
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.
The CLOS MOP allows you to change the object system with which you build object oriented systems.
The way I see it, AGR allows you to build multi-agent systems, but not change the way by which you do so. But again, I could be wrong; I'm the newbie here. ;)
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? Either way, feel free to seriously play with either as much as you like, and let us know of your new-found insights. ;)
Kind regards,
Dirk Gerrits
[0] http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html [1] http://dirkgerrits.com/2005/06/26/9-lispnyc-summer-of-code-projects/
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 !
Aurélien Campéas wrote:
Le dimanche 26 juin 2005 à 12:42 +0200, Dirk Gerrits a écrit :
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.
Oh great. It looks like a really nice article, but my French is rather limited. The fish doesn't do too bad though. (http://tinyurl.com/bjmma)
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 ... ;-)
Not everyone thinks so, but I have nothing to complain about. ;)
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.
I think that's more or less a given for a system defined in itself. After all, you give the user the same system you built the system with. ;)
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.
Wow, that's great to hear. :)
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 :)
Time is a harsh mistress. ;)
It will be interesting to see what matures out of the google summer project, too.
Yes, and the other ones too. Some exciting things are happening in FFI-land, and it seems there's going to be a portable socket library for Erlisp too rely on too. ;)
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 !
Yes, but thanks for the reminder.