Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

self-interest · Self Programming Language

The Yahoo! Groups Product Blog

Check it out!

Group Information

  • Members: 475
  • Category: Object Oriented
  • Founded: Oct 13, 1998
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Messages

Advanced
Messages Help
Messages 1464 - 1493 of 2885   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#1464 From: Jecel Assumpcao Jr <jecel@...>
Date: Tue Nov 12, 2002 2:38 pm
Subject: Re: reflection (was: embedding based prototype languages)
jeceljr
Send Email Send Email
 
On Saturday 09 November 2002 04:49, Brian T Rice wrote:
> [OOPSLA paper]
> This work looks very promising but requires some time to stop and
> freeze the objects (and the relevant protocols) involved.

They claim that for even very large type hierarchies this only takes a
small fraction of a second on a fast machine. And that they have an
incremental version of their system (not described in the paper, I
think) where this would be even less of a problem.

> Possibly
> the best way to handle it would be to allow a collection of objects
> to use one meta-object to describe and implement that lookup
> algorithm for them all collectively.

This would work very well with their system if you have one meta-object
per "type partition", but I think it is the overhead of grouping
objects into partitions that you are trying to eliminate, right?

The numbers in the paper were very interesting, though I think that
there are far more "types" and messages in Self 4 than what they
evaluated. I wonder if that would have any effect in the results.

-- Jecel

#1465 From: James McCartney <asynth@...>
Date: Tue Nov 12, 2002 9:02 pm
Subject: Re: reflection (was: embedding based prototype languages)
james_e_mcca...
Send Email Send Email
 
On Tuesday, November 12, 2002, at 06:38  AM, Jecel Assumpcao Jr wrote:

>> [OOPSLA paper]
>> This work looks very promising but requires some time to stop and
>> freeze the objects (and the relevant protocols) involved.
>
> They claim that for even very large type hierarchies this only takes a
> small fraction of a second on a fast machine. And that they have an
> incremental version of their system (not described in the paper, I
> think) where this would be even less of a problem.

That is interesting, because they say that in the majority of cases
that the table creation time was less than 1/100 of a second. For my
own work, music, even a pause of several milliseconds is too long, but
this alg. might be fast enough. I'm looking for constant time lookup
and incremental update of inheritance. They say that they sacrifice
constant time lookup with this scheme. I'll have to read the paper now..

--
--- james mccartney   james@...   <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>

#1466 From: Jecel Assumpcao Jr <jecel@...>
Date: Tue Nov 12, 2002 10:32 pm
Subject: lookup table creation (was: reflection)
jeceljr
Send Email Send Email
 
On Tuesday 12 November 2002 19:02, James McCartney wrote:
> That is interesting, because they say that in the majority of cases
> that the table creation time was less than 1/100 of a second. For my
> own work, music, even a pause of several milliseconds is too long,
> but this alg. might be fast enough.

You need to create the table only when first reading in the system into
an "empty world". You probably won't be playing music just then.

An option would be to throw away the table and build a new one every
time the programmer makes any changes, and with this system even this
would be fast enough. If you just patch the tables then the pause will
be far shorter.

> I'm looking for constant time
> lookup and incremental update of inheritance. They say that they
> sacrifice constant time lookup with this scheme. I'll have to read
> the paper now..

They have a small binary search. In Self we have a linear search in the
PICs (polymorphic inline caches) so we don't have constant lookup times
either. In fact, no processor with caches will ever really have
constant lookup times.

-- Jecel

#1467 From: James McCartney <asynth@...>
Date: Tue Nov 12, 2002 10:56 pm
Subject: Re: lookup table creation (was: reflection)
james_e_mcca...
Send Email Send Email
 
On Tuesday, November 12, 2002, at 02:32  PM, Jecel Assumpcao Jr wrote:

> On Tuesday 12 November 2002 19:02, James McCartney wrote:
>> That is interesting, because they say that in the majority of cases
>> that the table creation time was less than 1/100 of a second. For my
>> own work, music, even a pause of several milliseconds is too long,
>> but this alg. might be fast enough.
>
> You need to create the table only when first reading in the system into
> an "empty world". You probably won't be playing music just then.

Well that is what I am doing now. However I would like to have a system
where new types and slots can be added dynamically while I *am* playing
music. That is what I am looking for. The only solution that is truly
incremental so far seems to be hashing.

>
> An option would be to throw away the table and build a new one every
> time the programmer makes any changes, and with this system even this
> would be fast enough. If you just patch the tables then the pause will
> be far shorter.

I'm already using row displacement dispatch tables which can do this. I
just cannot do it while playing.

>
>> I'm looking for constant time
>> lookup and incremental update of inheritance. They say that they
>> sacrifice constant time lookup with this scheme. I'll have to read
>> the paper now..
>
> They have a small binary search. In Self we have a linear search in the
> PICs (polymorphic inline caches) so we don't have constant lookup times
> either. In fact, no processor with caches will ever really have
> constant lookup times.

A memory cache miss is still O(1) time, just larger constant factor.
But a polymorphic cache miss is not O(1) because you then have to do an
actual lookup which is not O(1).

--
--- james mccartney   james@...   <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>

#1468 From: Ian Woollard <ian.woollard@...>
Date: Tue Nov 12, 2002 11:28 pm
Subject: Re: lookup table creation (was: reflection)
wolfekeeper
Send Email Send Email
 
Jecel Assumpcao Jr wrote:

>In fact, no processor with caches will ever really have
>constant lookup times.
>
>
Well, every processor I've ever seen, you can turn the caches off ;-)

>-- Jecel
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
>
>

#1469 From: Harald Gliebe <harald@...>
Date: Sun Dec 8, 2002 5:39 pm
Subject: [Ann:] Self on windows
hagliebe
Send Email Send Email
 
Hi,

I recently spent some time to get Self running on Windows and made a
first version available on http://www.gliebe.de/self/download.html .
It needs cygwin and XFree, which you can get from  http://www.cygwin.com
Have fun,

Harald

--
Harald Gliebe <harald@...>

#1470 From: <diegogomezdeck@...>
Date: Sun Dec 8, 2002 9:08 pm
Subject: Re: [Ann:] Self on windows
diegogomezdeck
Send Email Send Email
 
Harald,

This is a *really* good news!  Thank you very much for your work!!!!

On the other side: I was not abled to run it.  I get

$ ./Self.exe -s Demo.snap
Self VM fatal error (../../../vm/src/any/memory/universe.cpp, line 491):
Snapshot is corrupt near: String table, file position: 0xcbd2ca

VM Version: 4.1.10, Sun 08 Dec 02 14:15:11 Cygwin

Any idea?

TIA,

Diego Gomez Deck

> Hi,
>
> I recently spent some time to get Self running on Windows and made a
> first version available on http://www.gliebe.de/self/download.html . It
> needs cygwin and XFree, which you can get from  http://www.cygwin.com
> Have fun,
>
> Harald
>
> --
> Harald Gliebe <harald@...>

#1471 From: Harald Gliebe <harald@...>
Date: Sun Dec 8, 2002 9:11 pm
Subject: Re: [Ann:] Self on windows
hagliebe
Send Email Send Email
 
Diego,

it seems that the snapshot is really corrupt, it expects to find the
string 'String table' somewhere near the specified address in the
snapshot, but can't find it.
I just tried to download it myself and it worked for me, however I
noticed that the browser or webserver unpacked the gzipped file during
the download.
Could you run a md5 checksum over your snapshot to verify that the file
was correctly downloaded. I get

$ md5sum Demo.snap
5b2988f9805903a5a01f7da25a9ef5af  Demo.snap

and for completeness

$ md5sum Self.exe
03c46053ca6fb32a7f1835d492736904  Self.exe

Please tell me if the download hasn't worked for you, maybe I have to
change something with the webserver.

Btw, you should call Self on cygwin with -c flag (which disables
realtime signals, that are not yet completly implemented):

./Self -c -s Demo.snap

Best regards,

Harald





On Sun, 2002-12-08 at 22:08, diegogomezdeck@... wrote:
> Harald,
>
> This is a *really* good news!  Thank you very much for your work!!!!
>
> On the other side: I was not abled to run it.  I get
>
> $ ./Self.exe -s Demo.snap
> Self VM fatal error (../../../vm/src/any/memory/universe.cpp, line 491):
> Snapshot is corrupt near: String table, file position: 0xcbd2ca
>
> VM Version: 4.1.10, Sun 08 Dec 02 14:15:11 Cygwin
>
> Any idea?
>
> TIA,
>
> Diego Gomez Deck
>
> > Hi,
> >
> > I recently spent some time to get Self running on Windows and made a
> > first version available on http://www.gliebe.de/self/download.html . It
> > needs cygwin and XFree, which you can get from  http://www.cygwin.com
> > Have fun,
> >
> > Harald
> >
> > --
> > Harald Gliebe <harald@...>
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
Harald Gliebe <harald@...>

#1472 From: <diegogomezdeck@...>
Date: Sun Dec 8, 2002 10:21 pm
Subject: Re: [Ann:] Self on windows
diegogomezdeck
Send Email Send Email
 
Hi,

Both checksums are ok.  I also tried to create an snapshort for myself and
when I try to use the new snapshot I get the same problem.

Anyway, creating all from the sources with:

    Self -c -f ../../../objects/all2.self

seems to works!!

Any idea about the snapshots? version of cygnus?

Cheers,

Diego Gomez Deck


> Diego,
>
> it seems that the snapshot is really corrupt, it expects to find the
> string 'String table' somewhere near the specified address in the
> snapshot, but can't find it.
> I just tried to download it myself and it worked for me, however I
> noticed that the browser or webserver unpacked the gzipped file during
> the download.
> Could you run a md5 checksum over your snapshot to verify that the file
> was correctly downloaded. I get
>
> $ md5sum Demo.snap
> 5b2988f9805903a5a01f7da25a9ef5af  Demo.snap
>
> and for completeness
>
> $ md5sum Self.exe
> 03c46053ca6fb32a7f1835d492736904  Self.exe
>
> Please tell me if the download hasn't worked for you, maybe I have to
> change something with the webserver.
>
> Btw, you should call Self on cygwin with -c flag (which disables
> realtime signals, that are not yet completly implemented):
>
> ./Self -c -s Demo.snap
>
> Best regards,
>
> Harald

#1473 From: Michael Abd-El-Malek <michael.abd-el-malek@...>
Date: Sun Dec 8, 2002 10:07 pm
Subject: Re: [Ann:] Self on windows
michael_abd_...
Send Email Send Email
 
This is great!  Self now runs on under 4 operating systems, and 3
architectures.

Out of curiosity: what changes did you have to make for your port?

Mike

On Sunday, December 8, 2002, at 09:39  AM, Harald Gliebe wrote:

> Hi,
>
> I recently spent some time to get Self running on Windows and made a
> first version available on http://www.gliebe.de/self/download.html .
> It needs cygwin and XFree, which you can get from
> http://www.cygwin.com
> Have fun,
>
> Harald
>
> --
> Harald Gliebe <harald@...>

#1474 From: Albertina Lourenci <lourenci@...>
Date: Sun Dec 8, 2002 10:35 pm
Subject: Re: [Ann:] Self on windows
lourenci@...
Send Email Send Email
 
Harald Gliebe wrote:
Dear Harald:
I would like to know if it is possible to teach
the tutorial made by Dave and Randy in this windows
version?
If it is possible, please let me know about how many
Mbytes of memory I shall have? A PC with 500 MBytes
RAM memory is enough?
And what about the Linux version?
Which one is better? Which one should I try?
BEst wishes and my compliments for the achievement!
Albertina

> Diego,
>
> it seems that the snapshot is really corrupt, it expects to find the
> string 'String table' somewhere near the specified address in the
> snapshot, but can't find it.
> I just tried to download it myself and it worked for me, however I
> noticed that the browser or webserver unpacked the gzipped file during
> the download.
> Could you run a md5 checksum over your snapshot to verify that the file
> was correctly downloaded. I get
>
> $ md5sum Demo.snap
> 5b2988f9805903a5a01f7da25a9ef5af  Demo.snap
>
> and for completeness
>
> $ md5sum Self.exe
> 03c46053ca6fb32a7f1835d492736904  Self.exe
>
> Please tell me if the download hasn't worked for you, maybe I have to
> change something with the webserver.
>
> Btw, you should call Self on cygwin with -c flag (which disables
> realtime signals, that are not yet completly implemented):
>
> ./Self -c -s Demo.snap
>
> Best regards,
>
> Harald
>
> On Sun, 2002-12-08 at 22:08, diegogomezdeck@... wrote:
> > Harald,
> >
> > This is a *really* good news!  Thank you very much for your work!!!!
> >
> > On the other side: I was not abled to run it.  I get
> >
> > $ ./Self.exe -s Demo.snap
> > Self VM fatal error (../../../vm/src/any/memory/universe.cpp, line 491):
> > Snapshot is corrupt near: String table, file position: 0xcbd2ca
> >
> > VM Version: 4.1.10, Sun 08 Dec 02 14:15:11 Cygwin
> >
> > Any idea?
> >
> > TIA,
> >
> > Diego Gomez Deck
> >
> > > Hi,
> > >
> > > I recently spent some time to get Self running on Windows and made a
> > > first version available on http://www.gliebe.de/self/download.html . It
> > > needs cygwin and XFree, which you can get from  http://www.cygwin.com
> > > Have fun,
> > >
> > > Harald
> > >
> > > --
> > > Harald Gliebe <harald@...>
> >
> >
> >
> >
> >
> >
> > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
> --
> Harald Gliebe <harald@...>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Attachment: vcard [not shown]

#1475 From: Harald Gliebe <harald@...>
Date: Sun Dec 8, 2002 11:25 pm
Subject: Re: [Ann:] Self on windows
hagliebe
Send Email Send Email
 
Hi,

This is strange, I just checked the corresponding code and up to the
point of your error message, only some file reading and memory
allocation has been done. I'll have another look at it tomorrow to see
what could cause the error.

My cygwin version is 1.3.17.

Harald





On Sun, 2002-12-08 at 23:21, diegogomezdeck@... wrote:
> Hi,
>
> Both checksums are ok.  I also tried to create an snapshort for myself and
> when I try to use the new snapshot I get the same problem.
>
> Anyway, creating all from the sources with:
>
>    Self -c -f ../../../objects/all2.self
>
> seems to works!!
>
> Any idea about the snapshots? version of cygnus?
>
> Cheers,
>
> Diego Gomez Deck
>
>
> > Diego,
> >
> > it seems that the snapshot is really corrupt, it expects to find the
> > string 'String table' somewhere near the specified address in the
> > snapshot, but can't find it.
> > I just tried to download it myself and it worked for me, however I
> > noticed that the browser or webserver unpacked the gzipped file during
> > the download.
> > Could you run a md5 checksum over your snapshot to verify that the file
> > was correctly downloaded. I get
> >
> > $ md5sum Demo.snap
> > 5b2988f9805903a5a01f7da25a9ef5af  Demo.snap
> >
> > and for completeness
> >
> > $ md5sum Self.exe
> > 03c46053ca6fb32a7f1835d492736904  Self.exe
> >
> > Please tell me if the download hasn't worked for you, maybe I have to
> > change something with the webserver.
> >
> > Btw, you should call Self on cygwin with -c flag (which disables
> > realtime signals, that are not yet completly implemented):
> >
> > ./Self -c -s Demo.snap
> >
> > Best regards,
> >
> > Harald
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
Harald Gliebe <harald@...>

#1476 From: Jecel Assumpcao Jr <jecel@...>
Date: Mon Dec 9, 2002 6:59 pm
Subject: Re: [Ann:] Self on windows
jeceljr
Send Email Send Email
 
Harald,

thank you very much for this early and wonderful Christmas gift!

On Sunday 08 December 2002 20:35, Albertina Lourenci wrote:
> I would like to know if it is possible to teach
> the tutorial made by Dave and Randy in this windows
> version?

Don't you mean the tutorial by Mario and Randy? If so, then everything
described there should work with this version with a few exceptions:

   - none of the supplied snapshots includes the bank account object,
though the tutorial included in Demo.snap teaches you how to build it
(in fact, there is some overlap between the two tutorials)
   - the "Find slot..." menu option no longer works exactly as described
in the "Finding inherited methods" section (you should type the method
name you are looking for in the object's evaluator, select it and only
then choose "Find slot..." from the menu)
   - the debugger no longer has an "abort" button (use the "x" dismiss
button instead)
   - it seems that the two bugs described in the pie wedge "baseDrawOn:"
don't currently exist

These are changes from 4.0 to 4.1.6, not anything that is specific to
Windows. For the most part, things work exactly the same whether you
are on a Sparc, a Mac, Linux or Windows.

> If it is possible, please let me know about how many
> Mbytes of memory I shall have? A PC with 500 MBytes
> RAM memory is enough?

A machine with half as much would probably work fine. Since the "good"
compiler isn't there, it is important to have a fast processor. But
even on my 233MHz Pentium II machine it is usable.

> And what about the Linux version?

Same thing.

> Which one is better? Which one should I try?

The Windows version requires two extra packages, so it might be harder
for you to set it up. If you don't already have a Linux machine,
however, then getting Cygwin/XFree to work is easier than changing
OSes.

-- Jecel

#1477 From: Harald Gliebe <harald@...>
Date: Mon Dec 9, 2002 9:35 pm
Subject: Re: [Ann:] Self on windows
hagliebe
Send Email Send Email
 
Hi Mike,

Actually there were surprisingly few changes to make for the cygwin
version, the cygwin package provides excellent support for porting unix
apps to windows.
src/any and src/i386 are almost unchanged, most changes were necessary
in src/unix, often only different location of header files or method
signatures.
The bigger problems I encountered were the following:
- signal handling and timers: cygwin provides the standard signal
support, but not the advanced features like sigaction and signal stacks.
I also couldn't get the timers to work correctly. I worked around the
latter problem by using directly using a win32 multimedia timer.
- no syscall on cygwin: The syscall function doesn't exist on cygwin,
for the Self methods that uses syscalls (e.g. unixGlobals os mkdir:) I
had to define new primitives.

Btw, from the Self pages at Sun I asume that you together with David
Ungar are currently responsible for the Self versions for Solaris and
OS  X.
I added a command switch (-b) to the Linux and Cygwin version to import
a snapshot from Mac or Sparc which are stored in big-endian byte-order
(you still need to file in the linux/cygwin specific stuff to use it)
It would be nice if the Solaris/OS X versions would provide the same
functionality, so that you can use a snapshot on all supported
platforms.
I can send you a patch for this, if you're interested.

Ideally the byte-order could also be autodetected by the VM, but this
might require a change of the snapshot format to add the byte-order
information.

Harald



On Sun, 2002-12-08 at 23:07, Michael Abd-El-Malek wrote:
> This is great!  Self now runs on under 4 operating systems, and 3
> architectures.
>
> Out of curiosity: what changes did you have to make for your port?
>
> Mike
>
> On Sunday, December 8, 2002, at 09:39  AM, Harald Gliebe wrote:
>
> > Hi,
> >
> > I recently spent some time to get Self running on Windows and made a
> > first version available on http://www.gliebe.de/self/download.html .
> > It needs cygwin and XFree, which you can get from
> > http://www.cygwin.com
> > Have fun,
> >
> > Harald
> >
> > --
> > Harald Gliebe <harald@...>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
Harald Gliebe <harald@...>

#1478 From: harald@...
Date: Sun Dec 15, 2002 10:37 pm
Subject: Solved: Snapshot corrupt (was: Self on windows)
hagliebe
Send Email Send Email
 
Hi,

the error below is caused by some CR/LF conversion, when cygwin is
installed with default text file mode set to DOS. The VM used to open
the snapshots in text mode, which doesn't make any difference on Unix
platforms but may convert the file contents on Windows.
An update of the Cygwin VM (0.2.4.1) that fixes this bug is available on

http://www.gliebe.de/self/download.html .

Thanks for reporting the bug,

Harald

diegogomezdeck@... schrieb am 08.12.2002, 22:08:57:
> Harald,
>
> This is a *really* good news!  Thank you very much for your work!!!!
>
> On the other side: I was not abled to run it.  I get
>
> $ ./Self.exe -s Demo.snap
> Self VM fatal error (../../../vm/src/any/memory/universe.cpp, line 491):
> Snapshot is corrupt near: String table, file position: 0xcbd2ca
>
> VM Version: 4.1.10, Sun 08 Dec 02 14:15:11 Cygwin
>
> Any idea?
>
> TIA,
>
> Diego Gomez Deck
>
> > Hi,
> >
> > I recently spent some time to get Self running on Windows and made a
> > first version available on http://www.gliebe.de/self/download.html . It
> > needs cygwin and XFree, which you can get from  http://www.cygwin.com
> > Have fun,
> >
> > Harald
> >
> > --
> > Harald Gliebe
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

#1479 From: <diegogomezdeck@...>
Date: Sun Dec 15, 2002 11:52 pm
Subject: Re: Solved: Snapshot corrupt (was: Self on windows)
diegogomezdeck
Send Email Send Email
 
Eureka!!!

A milestone was reached!  We have Self running on Windows!!!

Thank you very much for the work...

Cheers,

Diego Gomez Deck

PS: I don't need to say that the last VM work fine :-)


> Hi,
>
> the error below is caused by some CR/LF conversion, when cygwin is
> installed with default text file mode set to DOS. The VM used to open
> the snapshots in text mode, which doesn't make any difference on Unix
> platforms but may convert the file contents on Windows.
> An update of the Cygwin VM (0.2.4.1) that fixes this bug is available
> on
>
> http://www.gliebe.de/self/download.html .
>
> Thanks for reporting the bug,
>
> Harald

#1480 From: James McCartney <asynth@...>
Date: Thu Jan 2, 2003 9:20 pm
Subject: design patterns
james_e_mcca...
Send Email Send Email
 
Have there been any papers written on implementing design patterns in
delegation/object based languages? I'm interested in how delegation or
object based inheritance can simplify design. For example these
patterns from the Gamma, et al book seem to become non-issues in such a
language :
Prototype - built in to object based languages.
Singleton - built in to object based languages.
Chain of Responsibility - can be done easily by delegating to next
object in chain.
State - can be done easily with an assignable parent slot.
Strategy - can be done easily with an assignable parent slot.
Decorator - can be done easily with an assignable parent slot.
Proxy - proxy can delegate to the other object.
But I am also and perhaps more interested in design idioms that
naturally arise out of differential programming, beyond the few that
are mentioned in the papers on the Self site.

--- james mccartney

#1481 From: Albertina Lourenci <lourenci@...>
Date: Fri Jan 3, 2003 3:09 pm
Subject: Re: design patterns
lourenci@...
Send Email Send Email
 
 

James McCartney wrote:
Dear James:

It is curious but there is a general trend in all new computational paradigms
(AOSD, HyperJ, etc)
to be unable to discard design patterns and assert it is possible to simplify
them at least! And of course they forget that doing this introduce the same
faults they are critcizing in design patterns in the new techniques.
In the chapter about Does Aspect Oriented Programming make sense ? in
my Scientific Report Devising a generative morphodynamic level, see
homepage: http://www.lsi.usp.br/~lourenci  I have tried to cover the most
intriguing papers relating design patterns and other viewpoints about them (and
at least the references make evident if read carefully what I state above. They
complicate things instead of making things simple, and holistic and worse do not
complexify the world.)
In the  deep discussion with Jim Coplien who spearheaded the design pattern
movement, I finally realized there is indeed something special about the design
patterns.I believe James Noble( who was part of the prototype community)
and Robert Biddle  have been trying to unravel the design patterns' true nature.
This is rather concerned with the nature of literature I mean the fact literature
feeds on figural language especially metaphor and metonymy. A wonderful
book about this is Paul de Man's Allegories of Reading Figural language
in Rousseau, Nietzche, Rilke and Proust.The preface is orgasmic!
After twelve years old, I suffocated all my romantic trends especially
poetry! However since I am an architect and an architectural language
has the nature of Chinese, I mean obviously poetry, I reencountered
in part this split in my research. Having abandoned verbal languages,
I went so far that right now I am applying modulation to architecture,
symmetry groups of the plane and the dotless plane and computer science!
There is a trend to consider the aesthetic superiority of metaphor over
metonymy.Our first examples dealing with the rhetorical
questions were rhetorizations of grammar, figures generated
by syntactical paradigms, wehreas the Proust example could be
better described as a grammatization of rhetoric. By passing
from a paradigmatic structure based on contingent association
'such as metonymy, the mechanical, repetitive aspect of
grammatical forms is shown to be operative in a passage that
seemed at first sight to celebrate the self-willed and autonomous
inventiveness of a subject....Yet our reading of the Proust passage
shows that precisely when the highest claims are being made for
the unifying power of metaphor, these very images rely in fact on
the deceptive use of semi-automatic grammatical patterns. The
deconstruction of metaphor and of all rhetorical patterns such
as mimesis, paronomasia, or personification that use resemblance
 as a way to disguise differences, takes us back to the impersonal
precision of grammar and of a semiology derived from
grammatical patterns.
There seems to be a difference then between what I called the
rhetorization of grammar (as in rhetorical question) and
the grammatization of rhetoric, as in the readings of the
type sketched out in the passage from Proust.

Hence after the rhetorical reading of the Proust passage,
we can no longer believe the assertion made in this passage
about the intrinsic metaphysical superiority of metaphor over
metonymy.
What is implied here, is that I abandoned the direct  concern
with metaphor and centered my attention on the pragmatic
metonymic modes. Something like Rauschenberg's did (see
my III Scientific REport). Whilst Alexander embraced metaphor
in the A pattern language which inspired the design patterns!
Or better this tunes with Agile Software Development. Not being able to
define the essence and not feeling confident on metaphors let's look
for situations where art and poetry can occur! This is exactly what
Alistair Cockburn does!

And curiously this opened the gate for discourse!

And of course there are many leaps in the reasoning here but concluding
when I introduce modulation into my ecodesign model and its underlying
geometric model, that necessarily must be implemented by computer
I am introducing rhetorics into software systems or the multiplicity
of meanings!!!
And obviously all my attempt is to deconstruct "class-based languages"
A class for me is simply a pattern!
The non-attractive metonymic nature of  prototype based language especially
Self  is the key for expressiveness!!!Its hermeneutic nature or its nature
of a game, allowing the multiplicity of discourse through Kansas it doesn't matter
where you are sitting down in the world opens the gate to the multiplicity of
discourse and reaches the core of the Peircean semiotics based on the interpretant!

So please when you simplify don't forget that metaphor and metonymy are different
faces of the same coin. One cannot live without the other! I mean the what (Jim
Coplien's efforts in software) and the how (Alistair's efforts in software) must be
intertwined! (see my paper for rOOts conference in my homepage!).

I am sure software is inaugurating a luminous era and I hope 2003 will
be a bright Year for software development!

Best wishes,
Albertina

Have there been any papers written on implementing design patterns in
delegation/object based languages? I'm interested in how delegation or
object based inheritance can simplify design. For example these
patterns from the Gamma, et al book seem to become non-issues in such a
language :
Prototype - built in to object based languages.
Singleton - built in to object based languages.
Chain of Responsibility - can be done easily by delegating to next
object in chain.
State - can be done easily with an assignable parent slot.
Strategy - can be done easily with an assignable parent slot.
Decorator - can be done easily with an assignable parent slot.
Proxy - proxy can delegate to the other object.
But I am also and perhaps more interested in design idioms that
naturally arise out of differential programming, beyond the few that
are mentioned in the papers on the Self site.

--- james mccartney
 
 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

Attachment: vcard [not shown]

#1482 From: Jecel Assumpcao Jr <jecel@...>
Date: Fri Jan 3, 2003 9:24 pm
Subject: Re: design patterns
jeceljr
Send Email Send Email
 
On Thursday 02 January 2003 19:20, James McCartney wrote:
> Have there been any papers written on implementing design patterns in
> delegation/object based languages? I'm interested in how delegation
> or object based inheritance can simplify design.

You might want to search the archives of this list for "design
patterns". There were several interesting discussions, including the
one starting at http://groups.yahoo.com/group/self-interest/message/841
and http://groups.yahoo.com/group/self-interest/message/882

> For example these
> patterns from the Gamma, et al book seem to become non-issues in such
> a language :
> Prototype - built in to object based languages.
> Singleton - built in to object based languages.
> Chain of Responsibility - can be done easily by delegating to next
> object in chain.
> State - can be done easily with an assignable parent slot.
> Strategy - can be done easily with an assignable parent slot.
> Decorator - can be done easily with an assignable parent slot.
> Proxy - proxy can delegate to the other object.

Exactly - see my own list in message 882.

> But I am also and perhaps more interested in design idioms that
> naturally arise out of differential programming, beyond the few that
> are mentioned in the papers on the Self site.

I can't think of any new patterns enabled by Self right now, but it
would be interesting to look into this.

Note that on the other hand there are a few patterns that are required
by Self due to "The Power Of Simplicity". Inheritance of structure (or
shape) is a pattern, shared behavior in traits trees is a pattern and
so on. Which is a good thing. A language can't and shouldn't have
everything and what is left out will have to be dealt with somehow.

-- Jecel

#1483 From: James McCartney <asynth@...>
Date: Fri Jan 3, 2003 11:39 pm
Subject: Re: design patterns
james_e_mcca...
Send Email Send Email
 
Thanks for the ref.

One thing about using delegation for something like Chain of
Responsibility: If you've delegated to a parent and that parent has its
own methods and state, then that parent may want to have self refer to
the parent instead of the original receiver in order that there are no
unintended naming conflicts with other parents of the receiver or the
receiver itself. How is this normally dealt with?

On Friday, January 3, 2003, at 01:24 PM, Jecel Assumpcao Jr wrote:

> You might want to search the archives of this list for "design
> patterns". There were several interesting discussions, including the
> one starting at http://groups.yahoo.com/group/self-interest/message/841
> and http://groups.yahoo.com/group/self-interest/message/882
--
--- james mccartney   james@...   <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>

#1484 From: christian.hresko <godpup@...>
Date: Sat Jan 4, 2003 5:25 am
Subject: little languages
godpup@...
Send Email Send Email
 
has anyone on this list read (or heard things about) the book
"Constructing Language Processors For Little Languages?"  since Self is
a little language, i thought this would be an appropriate place to ask.

thanks,

christian

#1485 From: Jecel Assumpcao Jr <jecel@...>
Date: Tue Jan 7, 2003 6:59 pm
Subject: Re: design patterns
jeceljr
Send Email Send Email
 
On Friday 03 January 2003 21:39, James McCartney wrote:
> One thing about using delegation for something like Chain of
> Responsibility: If you've delegated to a parent and that parent has
> its own methods and state, then that parent may want to have self
> refer to the parent instead of the original receiver in order that
> there are no unintended naming conflicts with other parents of the
> receiver or the receiver itself. How is this normally dealt with?

I would say that this is not normally dealt with. You know the old joke:

  "Doctor, it hurts when I do this."
  "Then don't do that!"

You avoid the problem by a careful selection of method names so there is
no conflict. Yes, I know that this is impossible in the general case.
But I am not sure changing the meaning of "self" will help that much.

   obj1 = (| chain* <- (| m1 = (m2+1). m2 = (42) |).
                  m3 = (m1/2).
                  otherParent* = xxx
   |)

I am supposing you are worried that obj1 might inherit a different "m2"
from otherParent and want to force "m1" to call the one in the chain
object and not any other. One solution is to use directed resend:

              m1 = (chain.m2+1)

though this will only work if all children refer to this object via a
"chain*" slot and it will fail if the method is invoked on the chain
object itself. Another issue is that "self" is only changed in the
lookup of "m2" and any messages sent inside "m2" will use obj1 as
"self" instead. That might be what you want, but I suspect it isn't.

Explicit delegation will change "self" for all further sends inside the
invoked method:

            m1 = (chain m2+1)

but, once again, we are counting on a particular structure in the
children. More generic solutions will be very awkward and involve
reflection, while simpler solutions are possible for particular cases
(a global oddball object normally has a name that it can use to refer
to itself, for example).

-- Jecel

#1486 From: Jecel Assumpcao Jr <jecel@...>
Date: Tue Jan 7, 2003 7:12 pm
Subject: Re: little languages
jeceljr
Send Email Send Email
 
On Saturday 04 January 2003 03:25, christian.hresko wrote:
> has anyone on this list read (or heard things about) the book
> "Constructing Language Processors For Little Languages?"  since Self
> is a little language, i thought this would be an appropriate place to
> ask.

I have heard about this book by Randy Kaplan, but haven't read it. I
thought a friend had and had sent me some comments but I wasn't able to
find them.

Note that though it is very tempting to think of Self as a little
language due to the quest for simplicity, most attempts to treat it as
such haven't yielded good results. Little languages inspired by Self,
on the other hand, seem to be doing better (see a short list at the end
of http://www.merlintec.com:8080/Self/).

-- Jecel

#1487 From: Kyle Hayes <kyle_hayes@...>
Date: Wed Jan 8, 2003 4:45 am
Subject: Re: little languages
kyle_hayes@...
Send Email Send Email
 
On Tuesday 07 January 2003 11:12, Jecel Assumpcao Jr wrote:
> On Saturday 04 January 2003 03:25, christian.hresko wrote:
> > has anyone on this list read (or heard things about) the book
> > "Constructing Language Processors For Little Languages?"  since Self
> > is a little language, i thought this would be an appropriate place to
> > ask.
>
> I have heard about this book by Randy Kaplan, but haven't read it. I
> thought a friend had and had sent me some comments but I wasn't able to
> find them.
>
> Note that though it is very tempting to think of Self as a little
> language due to the quest for simplicity, most attempts to treat it as
> such haven't yielded good results. Little languages inspired by Self,
> on the other hand, seem to be doing better (see a short list at the end
> of http://www.merlintec.com:8080/Self/).

I think that would be me.  However, I cannot for the life of me find the
book.  Moving will do that.   I only started to read the book if I recall
correctly...  So, I can't say much about it.

Best,
Kyle

#1488 From: Brian T Rice <water@...>
Date: Wed Jan 8, 2003 4:55 am
Subject: Re: little languages
water4512001
Send Email Send Email
 
On Tue, 7 Jan 2003, Jecel Assumpcao Jr wrote:

> On Saturday 04 January 2003 03:25, christian.hresko wrote:
> > has anyone on this list read (or heard things about) the book
> > "Constructing Language Processors For Little Languages?"  since Self
> > is a little language, i thought this would be an appropriate place to
> > ask.
>
> I have heard about this book by Randy Kaplan, but haven't read it. I
> thought a friend had and had sent me some comments but I wasn't able to
> find them.
>
> Note that though it is very tempting to think of Self as a little
> language due to the quest for simplicity, most attempts to treat it as
> such haven't yielded good results. Little languages inspired by Self,
> on the other hand, seem to be doing better (see a short list at the end
> of http://www.merlintec.com:8080/Self/).
>
> -- Jecel

There is (was?) a mailing list for the discussion of little languages by
the author, and Smalltalk and derivatives were discounted if they were not
command-line, declaratively driven.

--
Brian T. Rice
LOGOS Research and Development
mailto:water@...
http://tunes.org/~water/

#1489 From: Steve Dekorte <steve@...>
Date: Mon Jan 13, 2003 11:25 pm
Subject: Help promote protos
stevedekorte
Send Email Send Email
 
prototype-based languages t-shirts and other goodies:

    http://www.cafeshops.com/prototypes

Cheers,
Steve

#1490 From: christian.hresko <godpup@...>
Date: Tue Jan 14, 2003 6:38 am
Subject: Self OS X jaguar
godpup@...
Send Email Send Email
 
okay, i just installed jaguar, and downloaded all the latest Self
'stuff.'

for the life of me i can't get self to work.  this happened before.

if i try to use the SelfDroplet, i get:

Last login: Tue Jan 14 01:14:15 on ttyp1
cd "${SELF_WORKING_DIR}"/objects; ../vm/mac_osx/vmWelcome to Darwin!
_project/build/Self.app/Contents/MacOS/Self -s
"/Users/chresko/Desktop/Self/objects/Demo.snap"
[chresko:~] chresko% cd "${SELF_WORKING_DIR}"/objects;
../vm/mac_osx/vm_project/build/Self.app/Contents/MacOS/Self -s
"/Users/chresko/Desktop/Self/objects/Demo.snap"
SELF_WORKING_DIR: Undefined variable.


if i launch self from the command line, and try to do the the _RunScript
deal, i get numerous errors which i don't understand.  how on earth do
you get self working under OS X, jaguar?

if i edit the applescript by replacing SELF_WORKING_DIR with the correct
directory, it still doesn't work.

all of my self folders/directories are on my desktop.  if someone could
point the way, i'd appreciate it.

thanks,

christian

#1491 From: Theodore Witkamp <twitkamp@...>
Date: Tue Jan 14, 2003 1:14 pm
Subject: Re: Self OS X jaguar
twitkamp
Send Email Send Email
 
You should be able to set the SELF_WORKING_DIR to the full path of the
Self folder in your .tcshrc . Logout and log back in and the drop app
should work.

On Tuesday, January 14, 2003, at 01:38 AM, christian.hresko wrote:

> okay, i just installed jaguar, and downloaded all the latest Self
> 'stuff.'
>
> for the life of me i can't get self to work.  this happened before.
>
> if i try to use the SelfDroplet, i get:
>
> Last login: Tue Jan 14 01:14:15 on ttyp1
> cd "${SELF_WORKING_DIR}"/objects; ../vm/mac_osx/vmWelcome to Darwin!
> _project/build/Self.app/Contents/MacOS/Self -s
> "/Users/chresko/Desktop/Self/objects/Demo.snap"
> [chresko:~] chresko% cd "${SELF_WORKING_DIR}"/objects;
> ../vm/mac_osx/vm_project/build/Self.app/Contents/MacOS/Self -s
> "/Users/chresko/Desktop/Self/objects/Demo.snap"
> SELF_WORKING_DIR: Undefined variable.
>
>
> if i launch self from the command line, and try to do the the
> _RunScript
> deal, i get numerous errors which i don't understand.  how on earth do
> you get self working under OS X, jaguar?
>
> if i edit the applescript by replacing SELF_WORKING_DIR with the
> correct
> directory, it still doesn't work.
>
> all of my self folders/directories are on my desktop.  if someone could
> point the way, i'd appreciate it.
>
> thanks,
>
> christian
>
>
>
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>

#1492 From: <godpup@...>
Date: Tue Jan 14, 2003 7:11 pm
Subject: Re: Self OS X jaguar
godpup@...
Send Email Send Email
 
i think this is in the help file somewhere.  i'll have a look tonight.  thanks
for the info.

christian

On Tue, 14 Jan 2003 08:14:52 -0500 Theodore Witkamp <twitkamp@...>
wrote:

> You should be able to set the SELF_WORKING_DIR
> to the full path of the
> Self folder in your .tcshrc . Logout and log
> back in and the drop app
> should work.
>
> On Tuesday, January 14, 2003, at 01:38 AM,
> christian.hresko wrote:
>
> > okay, i just installed jaguar, and downloaded
> all the latest Self
> > 'stuff.'
> >
> > for the life of me i can't get self to work.
> this happened before.
> >
> > if i try to use the SelfDroplet, i get:
> >
> > Last login: Tue Jan 14 01:14:15 on ttyp1
> > cd "${SELF_WORKING_DIR}"/objects;
> ../vm/mac_osx/vmWelcome to Darwin!
> > _project/build/Self.app/Contents/MacOS/Self
> -s
> >
> "/Users/chresko/Desktop/Self/objects/Demo.snap"
> > [chresko:~] chresko% cd
> "${SELF_WORKING_DIR}"/objects;
> >
> ../vm/mac_osx/vm_project/build/Self.app/Contents/MacOS/Self
> -s
> >
> "/Users/chresko/Desktop/Self/objects/Demo.snap"
> > SELF_WORKING_DIR: Undefined variable.
> >
> >
> > if i launch self from the command line, and
> try to do the the
> > _RunScript
> > deal, i get numerous errors which i don't
> understand.  how on earth do
> > you get self working under OS X, jaguar?
> >
> > if i edit the applescript by replacing
> SELF_WORKING_DIR with the
> > correct
> > directory, it still doesn't work.
> >
> > all of my self folders/directories are on my
> desktop.  if someone could
> > point the way, i'd appreciate it.
> >
> > thanks,
> >
> > christian
> >
> >
> >
> >
> > 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/
>
>
>

#1493 From: Dru Nelson <dru@...>
Date: Tue Jan 14, 2003 7:17 pm
Subject: moving on..but kudos to the group
dnelsonfour1...
Send Email Send Email
 
hi people on the self list. I've been on this list for a while, but
my interests are changing. I think that Self *is* a great project and
it is good to see interest. I really appreciate the patient help that
Jecel has provided to me and others.

Have fun,

Dru Nelson
San Carlos, California

Messages 1464 - 1493 of 2885   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help