I've got some free time (an hour or two every day) that I'd like to use working on Self, but I'm unsure of who currently oversees the project. Is there any single person or organization that is responsible for future versions?
Oh, and does anyone know how to get out of digest mode for this list? Yahoo seems to be sending out digests fairly sporadically.
Thanks,
josh
I´d like to know if there is somebody working in aspect with Self, thanks, Janina
Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil: http://ar.mobile.yahoo.com/sms.html
Janina Rubacha wrote:
Dear Janina: I am deeply interested in AOSD with prototype based languages such as Self.My main problem is that while it was easy for me to understand how the considered prototype based programming language BETA and the Mjolner Beta system, the Self system is really a black box for me. You may visit my home pages Http://www.lsi.usp.br/~lourenci By October 10 I will submit together with Constantinos Constantinides and Jim Coplien a paper for next AOSD'03, then you will understand my ideas better. I will also have Scientific Report 3 ready.
In case you could join our interests you are welcome! Best wishes Albertina
I´d like to know if there is somebody working in aspect with Self, thanks, Janina
Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil: http://ar.mobile.yahoo.com/sms.html
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
On 8/20/02 10:04 PM, "Janina Rubacha" janinarubacha@yahoo.com.ar wrote:
I´d like to know if there is somebody working in aspect with Self, thanks, Janina
I don't do it and I think it is even unnecessary in languages like self or also Smalltalk, for Java it is some else. Can you explain why you are looking for that? Is it just because you want to know how it is implemented in self or is it because you think AOP is really helpful for self?
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have. Maybe this is not 100% correct - so let me say, it solves problems by adding a new mechanism (additional complexity, effort to learn, source of error, etc.) that a good designed language can solve with the build in mechanisms with only a little bit of additional effort.
For example, Self has mixins and dynamic inheritance with this two mechanisms you can solve a lot of the AOP stuff.
Thorsten
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
For example, Self has mixins and dynamic inheritance with this two mechanisms you can solve a lot of the AOP stuff.
Yes, I've thought the same thing. Of the AOP descriptions I've read, it all sounds like just adding some extra parent links in Self would accomplish the same thing. I once asked one of the PARC guys working on AspectJ why they didn't use a more dynamic language instead of trying to put these features into a language that doesn't want to be dynamic. He said that they can get funded if they use Java.
I've also wondered what AOP has to do with the original (excellent) paper that seemed to coin the term.(I think Jecel posted it here a while back). That paper focused on the problem of how abstractions make assumptions, so no given abstraction will be well suited for all problems. The examples given were the hardware abstractions many operating systems provide. Dynamic language features allow for greater flexibility and therefore less dependence on initial assumptions, so I can see why tinkering with some dynamic features is related to the problem - but if your goal is to address the abstraction assumption problem, I don't see how the one feature AspectJ adds to Java makes a significant contribution to the solution. Why not go farther and say "there's all sorts of other assumptions that inflexible systems force upon your abstractions, so let's see what we can do with highly flexible systems"?
Sorry for the rant. That's been building up for a while. :-]
Cheers, Steve
On Wednesday 21 August 2002 10:13, Steve Dekorte wrote:
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
For example, Self has mixins and dynamic inheritance with this two mechanisms you can solve a lot of the AOP stuff.
Yes, I've thought the same thing. Of the AOP descriptions I've read, it all sounds like just adding some extra parent links in Self would accomplish the same thing.
And James McCartney suggested Lisp-like macros.
I think AOP is an excellent idea and that you haven't understood the full scope of it if you think such simple solutions would do the same thing. They could certainly handle one or another AOP example, but would not deal with the full idea. Of course, neither does AspectJ as Steve pointed out in the part I deleted.
And as I was explaining to Albertina the other day, doing things at the slot level isn't fine grained enough for true AOP.
[....] I don't see how the one feature AspectJ adds to Java makes a significant contribution to the solution. Why not go farther and say "there's all sorts of other assumptions that inflexible systems force upon your abstractions, so let's see what we can do with highly flexible systems"?
This is the key - David Ungar's ECOOP'95 talk described the American and Scandinavian schools of object programming as "cowboys" and "cabinet makers". Dynamic languages are better for exploring while static languages are better for modeling.
Well, AOP is a fantastic way to add flexibility to your model. We don't need that flexibility in Self since we can change things *after* the program is already running! We don't have to think of everything in advance. All our tools are still with us when the need to change becomes obvious (when the weavers and compilers of static systems have done their jobs and left a long time ago).
So the short answer is that we don't have AOP in Self but don't really want it either.
Some things just don't mix. Take AOP and eXtreme Programming, for example. XP is obviously for cowboys: "we fix things as we go along". One of its most important rules is "don't program today for what you think you will need tomorrow - don't leave hooks for future code" and yet that describes exactly what AOP is! You can't always stuff all good ideas into a single project.
-- Jecel
I have the same question. All of the examples given seemed to be something that having LISP like macros would solve. A call for better macro systems in languages would seem to me the appropriate response to the problem. But perhaps I missed something.
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have.
James McCartney wrote:
Dear James: I studied CLOS and Common Lisp ten years ago. I forgot what macro systems means. Would you mind gently explaining it to me? Best wishes Albertina
I have the same question. All of the examples given seemed to be something that having LISP like macros would solve. A call for better macro systems in languages would seem to me the appropriate response to the problem. But perhaps I missed something.
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have.
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
========================================== This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
The best reference would probably be the book _On_Lisp_. (Which I just discovered you can download for free from http://www.paulgraham.com/onlisp.html ) A macro is basically a way to run language code at compile time to generate language code. With this you can do any kind of stitching together of concerns that you would want. If you wrote a set of macros to create your classes you could have them generate code for your methods, including any 'aspect' like concerns.
On Thursday, August 22, 2002, at 07:40 AM, Albertina Lourenci wrote:
James McCartney wrote:
Dear James: I studied CLOS and Common Lisp ten years ago. I forgot what macro systems means. Would you mind gently explaining it to me? Best wishes Albertina
I have the same question. All of the examples given seemed to be something that having LISP like macros would solve. A call for better macro systems in languages would seem to me the appropriate response to the problem. But perhaps I missed something.
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have.
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
========================================== This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
<lourenci.vcf>
James McCartney wrote:
Dear James: Special thanks! At Enschede, during AOSD conference in April Robert Filman suggested me to transform my ecodesign model into a domain specific language. There Jeff Gray one of the organizers of the Workshop on Early Aspects did his PHD thesis in a domain specific language. Later on I read Kiczales said that AOP began as a domain specific language. Then I ask Jeff Gray:
The earliest work on AOP languages, as far as I can tell, was done by Cristina Lopes at Northeastern. Karl Lieberherr was her advisor, I think. She created two languages, called COOL and RIDL, that were focused on synchornization and distribution. I a not sure why those two concerns were chosen, but perhaps those were the most evident concerns that demonstrated crosscutting. From that, the AspectJ work has taken a more general approach that also permits such concerns to be captured. This was his answer.Furthermore: I am not sure have I sent you my thesis yet? There is a section in there that talks about domain-specific languages, in particular, those that are visual.
BTW, there have been several workshops at OOPSLA on the idea of visual domain-specific languages. In case you would like a peek, they are at:
http://www.isis.vanderbilt.edu/oopsla2k1/
http://www.cis.uab.edu/info/OOPSLA-DSVL2/
When I say domain-specific language, I am really referring to a visual language that can be used to create models for a particular domain.
For example, think about an environment that would allow you to create models of automobile plant factories using a visual formalism.
Or, a chemical factory, or, any other kind of factory. The models for each factory are peculiar to each domain that they represent. That is, the models have a specific ontology depending on the domain (they have different entities, different associations among those entities, and even different visual iconic representations).
This is a little different than the traditional definition of a domain-specific language. In fact, I think you were totally correct to say that such languages when they become transdisciplinary are just programming languages.
Well this makes me wonder! My ecodesign model and its underlying geometric model inspired by the symmetry groups of the plane and the dotless plane from Escher enables me to generate all sorts of architectonic objects, from home to a cathedral!! and from the union of architectonic objects with the same reasoning you generate cities and hence can plan and design sustainable cities.
The weaver of crosscutting concerns here is this geometric modeling!
Jim Coplien is trying to formalize design patterns as a pattern language through symmetry groups.
Then my question is:
see below
The best reference would probably be the book _On_Lisp_. (Which I just discovered you can download for free from http://www.paulgraham.com/onlisp.html ) A macro is basically a way to run language code at compile time to generate language code. With this you can do any kind of stitching together of concerns that you would want. If you wrote a set of macros to create your classes you could have them generate code for your methods, including any 'aspect' like concerns.
In my case I want first to create prototypes, responsible for crosscutting concerns inspired on musical chords. I suspect I have to create this on top of Self. This means using such macros I can extend the Self compiler and have my job done? In this case it is already born transdisciplinary, because all one would have to do is to substitute the notion of tones by the elements of the application in focus. Then people do not know how to model mimicking my ecodesign model. All I should do is to transform it into a programming language implemented on top of Self for example?
Things sound simpler than I thought! I will take a look at the site and at Jeff's PHD thesis. If you have some more suggestion, it is welcome. Best wishes Albertina
On Thursday, August 22, 2002, at 07:40 AM, Albertina Lourenci wrote:
James McCartney wrote:
Dear James: I studied CLOS and Common Lisp ten years ago. I forgot what macro systems means. Would you mind gently explaining it to me? Best wishes Albertina
I have the same question. All of the examples given seemed to be something that having LISP like macros would solve. A call for better macro systems in languages would seem to me the appropriate response to the problem. But perhaps I missed something.
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have.
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
========================================== This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
<lourenci.vcf>
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
========================================== This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
James McCartney wrote: I have already downloaded the On Lisp": On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. Is this a synonym for exploratory programming? I mean if I read this book I may grasp the gist of the Smalltalk programming environment, I mean finally understand how Self is built?
It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look at object-oriented programming than previous Lisp books, showing the step-by-step construction of a working model of the Common Lisp Object System (CLOS).
Is CLOS and Smalltalk and Self built alike?
As well as an indispensable reference, On Lisp is a source of software. Its examples form a library of functions and macros that readers will be able to use in their own Lisp programs.
Prentice Hall, 1993, 432 pages, paperbound. ISBN 0130305529.
New: Download it for free.
I keep awaiting your directions. Please help me out! Albertina
"The first book that really explains what Lisp is all about."
The best reference would probably be the book _On_Lisp_. (Which I just discovered you can download for free from http://www.paulgraham.com/onlisp.html ) A macro is basically a way to run language code at compile time to generate language code. With this you can do any kind of stitching together of concerns that you would want. If you wrote a set of macros to create your classes you could have them generate code for your methods, including any 'aspect' like concerns.
On Thursday, August 22, 2002, at 07:40 AM, Albertina Lourenci wrote:
James McCartney wrote:
Dear James: I studied CLOS and Common Lisp ten years ago. I forgot what macro systems means. Would you mind gently explaining it to me? Best wishes Albertina
I have the same question. All of the examples given seemed to be something that having LISP like macros would solve. A call for better macro systems in languages would seem to me the appropriate response to the problem. But perhaps I missed something.
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have.
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
========================================== This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
<lourenci.vcf>
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
========================================== This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
OK this is not directly to do with Self so I'll try to keep it short.
On Thursday, August 22, 2002, at 10:56 AM, Albertina Lourenci wrote:
Is this a synonym for exploratory programming?
Not exactly. Though, I guess exploratory programming is enabled by interactive bottom up programming.
I mean if I read this book I may grasp the gist of the Smalltalk programming environment, I mean finally understand how Self is built?
The book will tell you about macros in general and more specifically in Lisp. I'm not sure how you would do the same things in Smalltalk/Self.
Is CLOS and Smalltalk and Self built alike?
Hard to answer. There are common elements and great differences. By preference, I'm more in the Smalltalk/Self camp than the Lisp/Scheme one. So I can't say a lot about Lisp, but I do appreciate and envy the power of a few Lisp/Scheme things like continuations and macros.
I keep awaiting your directions. Please help me out! Albertina
I cannot give directions, only point the way I've come, since I am a wanderer myself.
-- --- james mccartney james@audiosynth.com http://www.audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ftp://www.audiosynth.com/pub/updates/SC2.2.16.sea.hqx
James McCartney wrote:
OK this is not directly to do with Self so I'll try to keep it short.
On Thursday, August 22, 2002, at 10:56 AM, Albertina Lourenci wrote:
Is this a synonym for exploratory programming?
Not exactly. Though, I guess exploratory programming is enabled by interactive bottom up programming.
If Smalltak is a merge of OO paradigm and LISP, could someone tell me what's the difference between Smalltalk and LISP? Also point references to the so-called exploratory programming? How Self is different from Smalltalk? How does Actors influence Self more than Smalltalk? I believe it is pretty easy to understand typing system. There are a hundred of paper about this. But literature about untyped systems is very scattered and hard to find. Probably this is the main reason most programmers stick to classes and typed systems.
I mean if I read this book I may grasp the gist of the Smalltalk programming environment, I mean finally understand how Self is built?
The book will tell you about macros in general and more specifically in Lisp. I'm not sure how you would do the same things in Smalltalk/Self.
Is CLOS and Smalltalk and Self built alike?
Hard to answer. There are common elements and great differences. By preference, I'm more in the Smalltalk/Self camp than the Lisp/Scheme one.S o I can't say a lot about Lisp, but I do appreciate and envy the power ofa few Lisp/Scheme things like continuations and macros.
My little experience with CLOS made clear it is not exactly a very expressive language. To achieve high expressiveness I should implement everything in a Blackboard architecture. This means everything was driven by rather anticipated commands. A far cry from the game experience my ecodesign model and its underlying geometric model provide. For me the interaction paradigm is better exploited in Self and this makes programming a rather magic experience. Like in Beta one should know a lot before trying to implement anything. One cannot experience stitching things together. And then naturally undoing and trying better ways. Everything must be born perfect rather like in a top down way.
I keep awaiting your directions. Please help me out! Albertina
I cannot give directions, only point the way I've come, since I am a wanderer myself.
I believe everybody in computer science is rather a wanderer. This does not sound that bad, because despite all we are moving. The question is are we moving fast enough to prevent mankind from collapse? Am I the only one in a hurry? Maybe I am wrong and everybody is right.
-- --- james mccartney james@audiosynth.com http://www.audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ftp://www.audiosynth.com/pub/updates/SC2.2.16.sea.hqx
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
=
This email message has been verified against viruses and SPAM using MIMESweeper. Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper. http://www.mimesweeper.com ==========================================
Thorsten Dittmar wrote:
For example, Self has mixins and dynamic inheritance with this two mechanisms you can solve a lot of the AOP stuff.
In 1988, I had to start implementing my ecodesign model. I immediately realize that OO programming would fit my needs (despite the fact that no computer scientist in Brazil had apparently heard of it -- in 1990 everybody was aware of C++!!!). Then I had lots of problems because I have parallel, crosscutting and composition of concerns in my ecodesign model. Each new OO programming language that would appear I would exam to check if it would fit my needs. C++, Simula, Eiffel, Sather, CLOS. This sounded good! Well then I had to develop a Blackboard Architecture to implement my ecodesign model (1992) In the meantime I heard of BETA, according to Jecel it is obviously the first prototype based language. I liked everything there especially concurrency. Then I made up my mind it was OK! With the time being I realized it was not exactly possible to program in it in a bottom up way! Or in an hermeneutic way or like a conversation simulating the way a sustainable building unfolds. Then I heard of Self.
I am very happy with Self! Then I thought mixins in Self would help me to implement the crosscutting concerns of my ecodesign model. I started my postdoctorate studies with this in mind!
I read The programming language Jigsaw: mixins, modularity and multiple inheritance. This story of modularity did not make me happy!
Then I started studying reflection! Finally I found MDSOC, US, AOSD and so on!!!!
It is a BAbel effect !
I have taken the liberty to quote these discussions from AOSD list: The discussion started with this question:
From: Wesley C. Virnelson [wvirnelson@yahoo.com]
Subject: [aosd-discuss] Multiple inheritance
Wouldn't this whole crosscutting problem go away if Java
allowed multiple
iheritance?
Then the answer:
From: discuss-admin@aosd.net [mailto:discuss-admin@aosd.net]On Behalf Of
L Carver Sent: Monday, July 01, 2002 11:04 AM To: discuss@aosd.net Cc: wvirnelson@yahoo.com Subject: RE: [aosd-discuss] Multiple inheritance
No. Very often an aspect's complete implementation will require changes to multiple classes. No amount of multiple inheritance in a single class will support coordinated changes to multiple classes.
http://www.pnambic.com/leeca ... The real cycle you're working on is a cycle called 'yourself'.
-----Ursprungligt meddelande----- Från: Alan Moore [mailto:alan@closedsource.com] Skickat: den 2 juli 2002 09:11 Till: discuss@aosd.net Ämne: RE: [aosd-discuss] Multiple inheritance
If you consider the case of two (or more) classes all of which multiply inherit from a common aspect class to be crosscutting then MI in Java might get you something.
Aspectj goes beyond derivation semantics by supporting crosscutting based on various meta-data/signatures the ajc compiler knows about your code base.
The well known join points such as constructors, method calls, etc. are a start and could be emulated using derivation (I think ajc might use a related implementation technique) but this seems to be only half the story and the aspectj language is not limited in this respect.
The pattern matching in aspectj gives it a degree of freedom derivation cannot.
see: http://aspectj.org/doc/dist/progguide/apb.html#d0e4077
alan ________________________________________________ "Over himself, over his own mind and body, the individual is sovereign." - John Stuart Mill.
-----Original Message----- From: discuss-admin@aosd.net [mailto:discuss-admin@aosd.net]On Behalf Of L Carver Sent: Monday, July 01, 2002 11:04 AM To: discuss@aosd.net Cc: wvirnelson@yahoo.com Subject: RE: [aosd-discuss] Multiple inheritance
No. Very often an aspect's complete implementation will require changes to multiple classes. No amount of multiple inheritance in a single class will support coordinated changes to multiple classes.
Hi,
IMHO "real" multiple inheritance in Java would not get you the same thing that AOP does. I think AOP is much better.
You can ofcourse use MI to add lots of cross-cutting functionality to a class, but you cannot (easily) dynamically add or remove MI functionality without altering the code of the class. For instance Tracing or Debug logging. I would not want that to be inherited and then have log statements all over my classes.
If you could use MI, and still wanted to avoid code bloating and tangling:H ow would you go about to dynamically change it so that, for instance, after each method call in class Foo, call another method from the inherited class Bar?
You'd have to use dynamic proxies (or some trick of your own), with some set of meta-rules describing what inherited methods to call, and then you're pretty much doing AOP anyway.
Also, "real" MI is an additional complexity that is not needed when you have AOP. Simple is good.
On a side note to Alan; AFAIK the ajc generates new Java methods in the affected class to intercept calls (act as pointcuts) and can then perform the advice code or the origin method. An example below.
Yours, Magnus
From a decompiled ajc-compiled class:
...
public Call call(Customer receiver) { Call call = new Call(this, receiver); addCall$method_call(this, call); // This line is added by the ajc return call; }
...
/** ajc-generated method that receives the call above, generates reflective access to the joinpoint and performs advice code by calling another generated method (around28_addCall$method_call), which implements advice from an "around" statement in an aspect.*/
private void addCall$method_call(Customer target, Call c) throws Error { JoinPoint thisJoinPoint = Factory.makeJP(addCall$ajcjp1, this, target, new
Object[] { c }); Logging.cflow$ajc0.push(new CFlow()); try {
// In the method below, the "around" advice code is found
around28_addCall$method_call(null, thisJoinPoint,
Logging.aspectInstance, target, c); } catch(Error ajcexc$27) { if(!Logging.cflow$ajc0.isValid()) Logging.aspectInstance.afterThrowing0$ajc(ajcexc$27); throw ajcexc$27; } finally { Logging.cflow$ajc0.pop(); } } Well I continued puzzled by the Babel Effect and then finally I met recent Jörg Kienzle's recent PHD thesis about
concurrency. He also wrote a paper Does aspect oriented programmming make sense? for last ECOOP'02!You can download this on site:
http://lglwww.epfl.ch/~jkienzle/
Then he shyly tries to show that nonfunctional aspects like concurrency are part of the functional aspect. In this case especially when you add more semantics to the analysis of concurrency, AOP may not make sense!
I am delighted because KIenzle's PHD thesis and paper is what I call a CLEAR BOX! Everything is evident there even for artists like me!!!!A far cry from all this writing about aspects and nonfunctional aspects.Everything is palatable there, even ASPECT J implementation!
And in this context it is possible to perceive how the introduction of musical chords may really contribute to devise a morphodynamic level in computer science. SEmioticians like Petitot Cocorda working with René Thom strive to show the topologization of concepts!
How and where SElf enter in this story?
Sharing is weaving. And according to Daniel Bardou this can be done gracefully in prototype- based languages. My main difficulty is how can I introduce constructs in Self, I mean in the context of prototypes that will enable me simulate the talkative nature of my ecodesign model?
Or something like a better AOSD?
Having studied the Mjolner BETA system I realized how I could add constructs. But I really cannot understand the environmental system where SElf is embedded!
AS I said, the way Jörg Kienzle reasons it is very easy to understand everything about concurrency control, recovery, fault tolerance, logging, caching everything! I would
like to read something similar about Self! Then I would know how to introduce the necessary constructs that would mimic a better AOSD!
Any contribution is welcome! Albertina
Hi Thorsten,
Im considering doing my bachelor thesis combining datawarehousing concepts with aspect oriented programming. I know that object oriented issues have been already applied to several stages of the datawarehousing process and I´d be very interested in studing in my thesis how to apply aspect oriented,too. That´s why I´m doing some research in aop applications in part to see wheter I will use a particular implementation and I remember that I saw something about mixins and dinamic inheritance, of course, in Self, but I thought there were some formalism to apply Self to aspect oriented programmming, that was exactly my question : ),... Thanks anyway... Janina --- Thorsten Dittmar thorsten.dittmar@daedalos.com escribió: > On 8/20/02 10:04 PM, "Janina Rubacha"
janinarubacha@yahoo.com.ar wrote:
I´d like to know if there is somebody working in aspect with Self, thanks, Janina
I don't do it and I think it is even unnecessary in languages like self or also Smalltalk, for Java it is some else. Can you explain why you are looking for that? Is it just because you want to know how it is implemented in self or is it because you think AOP is really helpful for self?
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have. Maybe this is not 100% correct - so let me say, it solves problems by adding a new mechanism (additional complexity, effort to learn, source of error, etc.) that a good designed language can solve with the build in mechanisms with only a little bit of additional effort.
For example, Self has mixins and dynamic inheritance with this two mechanisms you can solve a lot of the AOP stuff.
Thorsten
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil: http://ar.mobile.yahoo.com/sms.html
Amen! Good support for factoring, inheritance, polymorphism, blocks seem to go a long way (in my opinion). Of course there is more than one way to abstract a program, but that doesn't mean one needs a whole new programming language (the "stitcher" can be regarded as just another compiler) to do it.
- Dave
On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
On 8/20/02 10:04 PM, "Janina Rubacha" janinarubacha@yahoo.com.ar wrote:
I´d like to know if there is somebody working in aspect with Self, thanks, Janina
I don't do it and I think it is even unnecessary in languages like self or also Smalltalk, for Java it is some else. Can you explain why you are looking for that? Is it just because you want to know how it is implemented in self or is it because you think AOP is really helpful for self?
I'm asking because I followed the discussion about AOP over years and I had always the feeling that it solves problems that a good designed language does not have. Maybe this is not 100% correct - so let me say, it solves problems by adding a new mechanism (additional complexity, effort to learn, source of error, etc.) that a good designed language can solve with the build in mechanisms with only a little bit of additional effort.
For example, Self has mixins and dynamic inheritance with this two mechanisms you can solve a lot of the AOP stuff.
Thorsten
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Josh,
Glad you are interested! For the Sun and Mac, that would be me.
- David Ungar
On Tuesday, August 20, 2002, at 07:50 AM, Josh Flowers wrote:
I've got some free time (an hour or two every day) that I'd like to use working on Self, but I'm unsure of who currently oversees the project. Is there any single person or organization that is responsible for future versions?
Oh, and does anyone know how to get out of digest mode for this list? Yahoo seems to be sending out digests fairly sporadically.
Thanks,
josh
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
David, I need to find a way to get off of this list.How? Scott Spencer Recurrent Technologies Inc. 408-727-1122 Voice 408-727-8002 Fax
scott@recurrent.com
Used/Refurbished Sun-Cisco-Networking hardware specialists ----- Original Message ----- From: "David Ungar" David.Ungar@Sun.COM To: self-interest@yahoogroups.com; joshflowers@mac.com Sent: Tuesday, August 20, 2002 2:59 PM Subject: Re: [self-interest] Working on Self
Josh,
Glad you are interested! For the Sun and Mac, that would be me.
- David Ungar
On Tuesday, August 20, 2002, at 07:50 AM, Josh Flowers wrote:
I've got some free time (an hour or two every day) that I'd like to use working on Self, but I'm unsure of who currently oversees the project. Is there any single person or organization that is responsible for future versions?
Oh, and does anyone know how to get out of digest mode for this list? Yahoo seems to be sending out digests fairly sporadically.
Thanks,
josh
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
On Tuesday, August 20, 2002, at 03:06 PM, scott@recurrent.com wrote:
I need to find a way to get off of this list.How?
Doing a google search for "self-interest@yahoogroups.com" turns up the single item:
http://groups.yahoo.com/group/self-interest/
which is where you can find a subscribe/unsubscribe interface.
Cheers, Steve
On Tuesday 20 August 2002 19:57, Steve Dekorte wrote:
On Tuesday, August 20, 2002, at 03:06 PM, scott@recurrent.com wrote:
I need to find a way to get off of this list.How?
Doing a google search for "self-interest@yahoogroups.com" turns up the single item:
http://groups.yahoo.com/group/self-interest/
which is where you can find a subscribe/unsubscribe interface.
Exactly, but I had already unsubscribed Scott "manually" (and sent him a note about it) so he didn't see your advice. Unfortunately between pop up ads and forgotten (or never registered) passwords Yahoo's interface can be rather hostile, but the addresses described there for subscribing and unsubscribing via email should work and I do get any requests sent to the listed "group moderator" address. BTW, I changed Josh's mode to "individual emails" as he requested.
Back to the original question, Dave already answered about Mac and Sparc so I will just say that the only other "serious" Self is Harald Gliebe's port to the PC running Linux (based on Gordon Cichon's work).
See my list of Self stuff at http://www.merlintec.com:8080/Self
-- Jecel
Scott,
Sorry, I don't maintain the list--I don't know how to get off it it, maybe try yahoogroups.com.
- Dave
On Tuesday, August 20, 2002, at 03:06 PM, scott@recurrent.com wrote:
David, I need to find a way to get off of this list.How? Scott Spencer Recurrent Technologies Inc. 408-727-1122 Voice 408-727-8002 Fax
scott@recurrent.com
Used/Refurbished Sun-Cisco-Networking hardware specialists ----- Original Message ----- From: "David Ungar" David.Ungar@Sun.COM To: self-interest@yahoogroups.com; joshflowers@mac.com Sent: Tuesday, August 20, 2002 2:59 PM Subject: Re: [self-interest] Working on Self
Josh,
Glad you are interested! For the Sun and Mac, that would be me.
- David Ungar
On Tuesday, August 20, 2002, at 07:50 AM, Josh Flowers wrote:
I've got some free time (an hour or two every day) that I'd like to use working on Self, but I'm unsure of who currently oversees the project. Is there any single person or organization that is responsible for future versions?
Oh, and does anyone know how to get out of digest mode for this list? Yahoo seems to be sending out digests fairly sporadically.
Thanks,
josh
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
On 8/20/02 4:50 PM, "Josh Flowers" joshflowers@mac.com wrote:
If you don't want to work on the vm I'm looking for somebody who wants to work on a refactoring engine.
Thorsten
self-interest@lists.selflanguage.org