Discussion:
Ceres and Oberon
(too old to reply)
Eduardo Cavazos
2011-08-30 18:25:06 UTC
Permalink
Presentation from earlier this year by Niklaus Wirth on Oberon:

http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true

Towards the end Niklaus demos an actual Ceres workstation.
Jakob Praher
2011-08-30 20:02:05 UTC
Permalink
Dear Eduardo,
Thanks for sharing this. There is a great overlap between Alan's and
Niklaus Wirth's sentiments.
Very inspiring and to the point. Is anybody using Oberon currently as a
working environment?
@Alan: Can you remember the discussion with Niklaus from the PARC days?
Best,
Jakob
Post by Eduardo Cavazos
http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true
Towards the end Niklaus demos an actual Ceres workstation.
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Alan Kay
2011-08-30 20:38:44 UTC
Permalink
Sure. He was invited to spend a year in CSL in the mid 70s and decided to do an Alto like machine with an Alto-like UI and that ran Alto-like languages (turned out to be an odd combination of Mesa and Smalltalk).

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Tuesday, August 30, 2011 1:02 PM
Subject: Re: [fonc] Ceres and Oberon
Dear Eduardo,
Thanks for sharing this. There is a great overlap between Alan's and
Niklaus Wirth's sentiments.
Very inspiring and to the point. Is anybody using Oberon currently as a
working environment?
@Alan: Can you remember the discussion with Niklaus from the PARC days?
Best,
Jakob
Post by Eduardo Cavazos
http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true
Towards the end Niklaus demos an actual Ceres workstation.
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Jakob Praher
2011-08-30 21:23:55 UTC
Permalink
Post by Alan Kay
Sure. He was invited to spend a year in CSL in the mid 70s and decided
to do an Alto like machine with an Alto-like UI and that ran Alto-like
languages (turned out to be an odd combination of Mesa and Smalltalk).
Did you exchange some ideas? He really apreciated object orientation
when he designed his drawing program. Did you explain Smalltalk to him?
The talk makes me think about complexity of software and ability to
understand code.

I think there two sides:
a) no abstraction at all (assembly code) : complicated since simple
things are huge
b) over-use of abstraction : complicated since hard to see where the
real stuff is going on

Maybe it also has something to do with bottom up vs top down.

Cheers.
Jakob
Post by Alan Kay
Cheers,
Alan
------------------------------------------------------------------------
*Sent:* Tuesday, August 30, 2011 1:02 PM
*Subject:* Re: [fonc] Ceres and Oberon
Dear Eduardo,
Thanks for sharing this. There is a great overlap between Alan's and
Niklaus Wirth's sentiments.
Very inspiring and to the point. Is anybody using Oberon
currently as a
working environment?
@Alan: Can you remember the discussion with Niklaus from the
PARC days?
Best,
Jakob
http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true
<http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true>
Post by Eduardo Cavazos
Towards the end Niklaus demos an actual Ceres workstation.
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Steve Dekorte
2011-08-30 21:50:47 UTC
Permalink
a) no abstraction at all (assembly code) : complicated since simple things are huge
b) over-use of abstraction : complicated since hard to see where the real stuff is going on
Likewise assembly abstracts over common gate arrangements and can make it difficult to see the real stuff going on. And when this abstraction is assumed to be atomic, it makes it difficult to see how to see potentially better alternatives. It's easy to confuse the symbol/category/abstraction for the thing, to confuse one useful pattern in the information for the information itself.
Wesley Smith
2011-08-30 21:49:57 UTC
Permalink
a) no abstraction at all (assembly code) : complicated since simple things
are huge
b) over-use of abstraction : complicated since hard to see where the real
stuff is going on
Maybe it also has something to do with bottom up vs top down.
I think you need both. One side is a kind of emergence, the other is
teleonomic. The trick as I see it is to figure out how to manage the
ambiguous areas where the two meet.

wes
karl ramberg
2011-08-30 21:48:20 UTC
Permalink
I downloaded a Oberon system once and I couldnot understand how to do
anything.
I could see stuff on the screen but the way the windows worked got me quite
confused.
It's nice to know that people are still working on it and I will try to get
a book to learn more about it.


Karl
Post by Alan Kay
Sure. He was invited to spend a year in CSL in the mid 70s and decided to
do an Alto like machine with an Alto-like UI and that ran Alto-like
languages (turned out to be an odd combination of Mesa and Smalltalk).
Cheers,
Alan
------------------------------
*Sent:* Tuesday, August 30, 2011 1:02 PM
*Subject:* Re: [fonc] Ceres and Oberon
Dear Eduardo,
Thanks for sharing this. There is a great overlap between Alan's and
Niklaus Wirth's sentiments.
Very inspiring and to the point. Is anybody using Oberon currently as a
working environment?
@Alan: Can you remember the discussion with Niklaus from the PARC days?
Best,
Jakob
http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true
Post by Eduardo Cavazos
Towards the end Niklaus demos an actual Ceres workstation.
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Alan Kay
2011-08-31 01:47:43 UTC
Permalink
I'm glad that he has finally come to appreciate OOP.

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Tuesday, August 30, 2011 2:23 PM
Subject: Re: [fonc] Ceres and Oberon
Sure. He was invited to spend a year in CSL in the mid 70s and decided to do an Alto like machine with an Alto-like UI and that ran Alto-like languages (turned out to be an odd combination of Mesa and Smalltalk).
Did you exchange some ideas? He really apreciated object orientation when he designed his drawing program. Did you explain Smalltalk to him?
Post by Eduardo Cavazos
The talk makes me think about complexity of software and ability to
understand code.
Post by Eduardo Cavazos
a) no abstraction at all (assembly code) : complicated since simple
things are huge
Post by Eduardo Cavazos
b) over-use of abstraction : complicated since hard to see where the
real stuff is going on
Post by Eduardo Cavazos
Maybe it also has something to do with bottom up vs top down.
Cheers.
Jakob
Cheers,
Post by Eduardo Cavazos
Alan
Post by Eduardo Cavazos
________________________________
Sent: Tuesday, August 30, 2011 1:02 PM
Subject: Re: [fonc] Ceres and Oberon
Dear Eduardo,
Thanks for sharing this. There is a great overlap
between Alan's and
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Niklaus Wirth's sentiments.
Very inspiring and to the point. Is anybody using
Oberon currently as a
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Eduardo Cavazos
working environment?
@Alan: Can you remember the discussion with Niklaus
from the PARC days?
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Best,
Jakob
Post by Eduardo Cavazos
Presentation from earlier this year by Niklaus
http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true
Towards the end Niklaus demos an actual Ceres
workstation.
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Eduardo Cavazos
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list ***@vpri.org http://vpri.org/mailman/listinfo/fonc
Jakob Praher
2011-08-30 20:03:45 UTC
Permalink
Dear Eduardo,

Thanks for sharing this. There is a great overlap between Alan's and
Niklaus Wirth's sentiments.
Very inspiring and to the point. Is anybody using Oberon currently as a
working environment?

@Alan: Can you remember the discussion with Niklaus from the PARC days?

Best,
Jakob
Post by Eduardo Cavazos
http://www.multimedia.ethz.ch/conferences/2011/oberon/?doi=10.3930/ETHZ/AV-5879ee18-554a-4775-8292-3cf0293f5956&autostart=true
Towards the end Niklaus demos an actual Ceres workstation.
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Eduardo Cavazos
2011-08-31 07:54:32 UTC
Permalink
Post by Alan Kay
I'm glad that he has finally come to appreciate OOP.
There are two kinds of people on this list. Those who can tell when Alan
is joking and those that can't. :-D

Don't know which I am but I can at least say that the OOP that is in
Oberon is not what Alan had in mind when he invented the term.

Sorry if you were being sincere Alan... :-)

At any rate, I do appreciate the Oberon system and the evolution of
Wirth's language through Pascal, Modula-2, and Oberon. *Somebody* had to
do the experiment that is: take a classical systems programming
language, and implement a small, understandable, system and environment
in that one language. I think the Oberon system is more or less what you
get when you take a C-like language and "play it grand" on a
workstation.

As an aside, I think it's crazy that C hasn't at least grown a module
system yet.

Changing the subject a bit...

We can all look to the past for great OS and language designs; each of
us knows a few. However, I'm not so sure about the network aspects and
the approaches to distributed computing. Can we look to the past for
inspiring distributed computing environments? Or are the truly great and
timeless ones yet to be invented? I guess we'll have to nail down and
agree upon a decent node first.

Ed
Alan Kay
2011-08-31 17:20:31 UTC
Permalink
Hi folks

I was going to let this go ... but there are some important historical facts that are at least fascinating -- and they certainly put some of this into better context.

Many of these threads can be chased back to the development of the Algol language and especially the B5000 computer (many of the main ideas were "consolidated" and/or downright invented by Bob Barton).

It's worth reading Barton's 1961 paper "A new approach to the functional design of a digital computer" to see how some of the ideas were presented very early on.
Jecel Assumpcao Jr.
2011-08-31 18:10:41 UTC
Permalink
Alan,

thanks for the detailed history!
1966 was the year I entered grad school (having programmed for 4-5 years,
but essentially knowing nothing about computer science). Shortly after
encounters with and lightning bolts from the sky induced by Sketchpad and
Simula, I found the Euler papers and thought you could make something with
"objects" that would be nicer if you used Euler for a basis rather than how
Simula was built on Algol. That turned out to be the case and I built this into
the table-top plus display plus pointing device personal computer Ed Cheadle
and I made over the next few years.
Is this available anywhere beyond the small fragments at

http://www.mprove.de/diplom/gui/kay68.html

and

http://www.mprove.de/diplom/gui/kay69.html

?

Though you often mention the machine itself, I have never seen you put
these texts in the list of what people should read like you do with
Ivan's thesis.
The last time I looked at Oberon (at Apple more than 15 years ago) it did
not impress, and did not resemble anything I would call an object-oriented
language -- or an advance on anything that was already done in the 70s.
But that's just my opinion. And perhaps it has improved since then.
It was an attempt to step back from the complexity of Modula-2, which is
a good thing. It has the FONC goal of being small enough to be
completely read and understood by one person (he does mention that this
is in the form of a 600 page book in the talk).

In the early 1990s I was trying to build a really low cost computer
around the Self language and a professor who always had interesting
insights suggested that something done with Oberon would require fewer
hardware resources. I studied the language and saw that they had
recently made it object oriented:

http://en.wikipedia.org/wiki/Oberon-2_%28programming_language%29

But it turned out that this was a dead end and the then current system
was built with the original, non object oriented version of the language
(as it is to this day - the OO programming Wirth mentioned in the talk
is the kind of thing you can do in plain C). I liked the size of the
system, but the ALL CAPS code hurt my eyes and the user interface was
awkward (both demonstrators in the movie had problems using it, though
Wirth had the excuse that he hadn't used it in a long time).

-- Jecel
Alan Kay
2011-08-31 18:25:27 UTC
Permalink
The Flex Machine was "the omelet you have to throw away to clean the pan", so I haven't put any effort into saving that history. But there were "4 or 5" pretty good things and "4 or 5" really bad things that helped the Alto-Smalltalk effort a few years later. I'd say that the huge factors after having tried to do one of these were two geniuses: Chuck Thacker (who was an infinitely better hardware designer and builder than I was), and Dan Ingalls (who was infinitely better at most phases of software design and implementation than I was).

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Wednesday, August 31, 2011 3:09 PM
Subject: Re: [fonc] Re: Ceres and Oberon
Alan,
thanks for the detailed history!
1966 was the year I entered grad school (having programmed for 4-5 years,
but essentially knowing nothing about computer science). Shortly after
encounters with and lightning bolts from the sky induced by Sketchpad and
Simula, I found the Euler papers and thought you could make something with
"objects" that would be nicer if you used Euler for a basis rather than how
Simula was built on Algol. That turned out to be the case and I built this into
the table-top plus display plus pointing device personal computer Ed Cheadle
and I made over the next few years.
Is this available anywhere beyond the small fragments at
http://www.mprove.de/diplom/gui/kay68.html
and
http://www.mprove.de/diplom/gui/kay69.html
?
Though you often mention the machine itself, I have never seen you put
these texts in the list of what people should read like you do with
Ivan's thesis.
The last time I looked at Oberon (at Apple more than 15 years ago) it did
not impress, and did not resemble anything I would call an object-oriented
language -- or an advance on anything that was already done in the 70s.
But that's just my opinion. And perhaps it has improved since then.
It was an attempt to step back from the complexity of Modula-2, which is
a good thing. It has the FONC goal of being small enough to be
completely read and understood by one person (he does mention that this
is in the form of a 600 page book in the talk).
In the early 1990s I was trying to build a really low cost computer
around the Self language and a professor who always had interesting
insights suggested that something done with Oberon would require fewer
hardware resources. I studied the language and saw that they had
http://en.wikipedia.org/wiki/Oberon-2_%28programming_language%29
But it turned out that this was a dead end and the then current system
was built with the original, non object oriented version of the language
(as it is to this day - the OO programming Wirth mentioned in the talk
is the kind of thing you can do in plain C). I liked the size of the
system, but the ALL CAPS code hurt my eyes and the user interface was
awkward (both demonstrators in the movie had problems using it, though
Wirth had the excuse that he hadn't used it in a long time).
-- Jecel
John Zabroski
2011-09-01 17:31:31 UTC
Permalink
Has [1] been mentioned yet? If so, apologies.

I think many here are implicitly referencing this when bringing up Oberon.

[1] http://c2.com/cgi/wiki?HeInventedTheTerm
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the pan",
so I haven't put any effort into saving that history. But there were "4 or
5" pretty good things and "4 or 5" really bad things that helped the
Alto-Smalltalk effort a few years later. I'd say that the huge factors after
having tried to do one of these were two geniuses: Chuck Thacker (who was an
infinitely better hardware designer and builder than I was), and Dan Ingalls
(who was infinitely better at most phases of software design and
implementation than I was).
Cheers,
Alan
------------------------------
*Sent:* Wednesday, August 31, 2011 3:09 PM
*Subject:* Re: [fonc] Re: Ceres and Oberon
Alan,
thanks for the detailed history!
1966 was the year I entered grad school (having programmed for 4-5 years,
but essentially knowing nothing about computer science). Shortly after
encounters with and lightning bolts from the sky induced by Sketchpad and
Simula, I found the Euler papers and thought you could make something
with
"objects" that would be nicer if you used Euler for a basis rather than
how
Simula was built on Algol. That turned out to be the case and I built
this into
the table-top plus display plus pointing device personal computer Ed
Cheadle
and I made over the next few years.
Is this available anywhere beyond the small fragments at
http://www.mprove.de/diplom/gui/kay68.html
and
http://www.mprove.de/diplom/gui/kay69.html
?
Though you often mention the machine itself, I have never seen you put
these texts in the list of what people should read like you do with
Ivan's thesis.
The last time I looked at Oberon (at Apple more than 15 years ago) it did
not impress, and did not resemble anything I would call an
object-oriented
language -- or an advance on anything that was already done in the 70s.
But that's just my opinion. And perhaps it has improved since then.
It was an attempt to step back from the complexity of Modula-2, which is
a good thing. It has the FONC goal of being small enough to be
completely read and understood by one person (he does mention that this
is in the form of a 600 page book in the talk).
In the early 1990s I was trying to build a really low cost computer
around the Self language and a professor who always had interesting
insights suggested that something done with Oberon would require fewer
hardware resources. I studied the language and saw that they had
http://en.wikipedia.org/wiki/Oberon-2_%28programming_language%29
But it turned out that this was a dead end and the then current system
was built with the original, non object oriented version of the language
(as it is to this day - the OO programming Wirth mentioned in the talk
is the kind of thing you can do in plain C). I liked the size of the
system, but the ALL CAPS code hurt my eyes and the user interface was
awkward (both demonstrators in the movie had problems using it, though
Wirth had the excuse that he hadn't used it in a long time).
-- Jecel
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Alan Kay
2011-09-01 18:04:02 UTC
Permalink
I'm so glad I never read this before (and am looking for ways to forget that I just did ....)

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Thursday, September 1, 2011 10:31 AM
Subject: Re: [fonc] Re: Ceres and Oberon
Has [1] been mentioned yet?  If so, apologies.
I think many here are implicitly referencing this when bringing up Oberon.
[1] http://c2.com/cgi/wiki?HeInventedTheTerm
The Flex Machine was "the omelet you have to throw away to clean the pan", so I haven't put any effort into saving that history. But there were "4 or 5" pretty good things and "4 or 5" really bad things that helped the Alto-Smalltalk effort a few years later. I'd say that the huge factors after having tried to do one of these were two geniuses: Chuck Thacker (who was an infinitely better hardware designer and builder than I was), and Dan Ingalls (who was infinitely better at most phases of software design and implementation than I was).
Post by Alan Kay
Cheers,
Alan
Post by Eduardo Cavazos
________________________________
Sent: Wednesday, August 31, 2011 3:09 PM
Subject: Re: [fonc] Re: Ceres and Oberon
Alan,
thanks for the detailed history!
1966 was the year I entered grad school (having programmed for 4-5 years,
but essentially knowing nothing about computer science). Shortly after
encounters with and lightning bolts from the sky induced by Sketchpad and
Simula, I found the Euler papers and thought you could make
something with
Post by Eduardo Cavazos
Post by Alan Kay
Post by Eduardo Cavazos
"objects" that would be nicer if you used Euler for a basis rather than how
Simula was built on Algol. That turned out to be the case and I built this into
the table-top plus display plus pointing device personal computer Ed Cheadle
and I made over the next few years.
Is this available anywhere beyond the small fragments at
http://www.mprove.de/diplom/gui/kay68.html
and
http://www.mprove.de/diplom/gui/kay69.html
?
Though you often mention the machine itself, I have never seen you put
these texts in the list of what people should read like you do with
Ivan's thesis.
The last time I looked at Oberon (at Apple more than 15 years ago) it did
not impress, and did not resemble anything I would call an
object-oriented
Post by Eduardo Cavazos
Post by Alan Kay
Post by Eduardo Cavazos
language -- or an advance on anything that was already done in the 70s.
But that's just my opinion. And perhaps it has improved since then.
It was an attempt to step back from the complexity of Modula-2, which is
a good thing. It has the FONC goal of being small enough to be
completely read and understood by one person (he does mention that this
is in the form of a 600 page book in the talk).
In the early 1990s I was trying to build a really low cost computer
around the Self language and a professor who always had interesting
insights suggested that something done with Oberon would require fewer
hardware resources. I studied the language and saw that they had
http://en.wikipedia.org/wiki/Oberon-2_%28programming_language%29
But it turned out that
this was a dead end and the then current system
Post by Eduardo Cavazos
Post by Alan Kay
Post by Eduardo Cavazos
was built with the original, non object oriented version of the language
(as it is to this day - the OO programming Wirth mentioned in the talk
is the kind of thing you can do in plain C). I liked the size of the
system, but the ALL CAPS code hurt my eyes and the user interface was
awkward (both demonstrators in the movie had problems using it, though
Wirth had the excuse that he hadn't used it in a long time).
-- Jecel
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Jecel Assumpcao Jr.
2011-09-01 18:19:03 UTC
Permalink
Alan,
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the pan",
so I haven't put any effort into saving that history.
Fair enough! Having the table of contents but not the text made me think
that perhaps the section B.6.b.ii The Disk as a Serial "Associative
Memory" and B.6.c. An Associativeley Mapped LSI Memory might be
interesting in light of Ian's latest paper. Or the first part might be
more related to OOZE instead.
Post by Alan Kay
But there were "4 or 5" pretty good things and "4 or 5" really bad things that
helped the Alto-Smalltalk effort a few years later.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.

It is frustrating for me that while the Squeak VM could easily handle an
expression like

myView add: <yellowEllipseMorph> copy.

I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
Post by Alan Kay
I'd say that the huge factors after having tried to do one of these were two
geniuses: Chuck Thacker (who was an infinitely better hardware designer and
builder than I was), and Dan Ingalls (who was infinitely better at most phases
of software design and implementation than I was).
True. You were lucky to have them, though perhaps we might say Bob
Taylor had built that luck into PARC.

-- Jecel
Bert Freudenberg
2011-09-01 20:22:21 UTC
Permalink
Post by Jecel Assumpcao Jr.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
In a Squeak workspace you can enable the "create textual references to dropped morphs" checkbox which at least lets you do this interactively. Saving as project and loading keeps this working.

However, outside of the Etoys environment hardly anyone in the Squeak community uses projects - all exchange is based on text files. While the system itself is nicely object-based, its boundaries are dumbed down to a manageable level. Lots of tools exist to deal with text, but storing, sharing, or merging objects is still hard. Perhaps because in Smalltalk objects are still too tightly bound to their environment?

- Bert -
Michael Haupt
2011-09-02 06:27:30 UTC
Permalink
Hi Jecel,
Post by Jecel Assumpcao Jr.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
umm …

1. Morph new openInWorld
2. open an inspector on the morph
3. in the inspector's evaluation pane, do, e.g., "Smalltalk at: #myMorph put: self"

Step 3 looks equivalent to dragging an arrow in Self. Not less indirect.

Maybe I'm misunderstanding you. :-)

Best,

Michael
--
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Oracle is committed to developing practices and products that help protect the environment
Francisco Garau
2011-09-05 08:02:04 UTC
Permalink
If you had the MorphicWrappers package, the use case becomes very easy:

1- type in the air 'EllipseMorph new' to add the new morph to the world
2- put the mouse over the Ellipse morph and send messages directly to it
(eg: 'self color: Color blue).

Actually, you don't even need to type 'self' as it is clear who the receiver
is.

- Francisco
Post by Michael Haupt
Hi Jecel,
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
umm …
1. Morph new openInWorld
2. open an inspector on the morph
3. in the inspector's evaluation pane, do, e.g., "Smalltalk at: #myMorph put: self"
Step 3 looks equivalent to dragging an arrow in Self. Not less indirect.
Maybe I'm misunderstanding you. :-)
Best,
Michael
--
[image: Oracle] <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam,
Germany[image: Green Oracle] <http://www.oracle.com/commitment>Oracle is
committed to developing practices and products that help protect the
environment
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Alan Kay
2011-09-02 15:23:02 UTC
Permalink
Hi Jecel

I think both these sections were reactions to some of the current hardware, and hardware problems of the time.


I remember the second one better than the first. In those days cutting dies out of the wafters often damaged them, and the general yield was not great even before cutting the die out. This idea was to lay down regions of memory on the wafer, run bus metalization over them, test them, and zap a few bits if they didn't work. The key here was that the working ones would each have a register that had its "name" (actually its base address and range) and all could look at the bus to see if their address came up. If it did, it would seize the bus and do what ever. So this was a kind of distributed small pages and MMUs scheme. And the yield would be much higher because the wafers remained intact. I don't think any of these tradeoffs obtain today, though one could imagine other kinds of schemes for distributed memory and memory management that would be more sensible than current schemes.

The first one I really don't remember. But it probably was partially the result of the head per track small disk that the FLEX machine used -- and probably was influenced by Paul Rovner's scheme at Lincoln Labs for doing Jerry Feldman's software "associative triples memory".


I think this was not about Denis Seror's later and really interesting thesis (under Barton) to make a "lambda calculus machine" -- really a "combinator machine" (to replace variables by paths) and to have the computation on the disk and just pull in and reduce as possible as the disk zoomed by. All was done in parallel and eventually all would be reduced. Denis came up with a nice little language that had a bit of an APL feeling for humans to program this system in. He (and his wife) wound up making an animated movie to show people who didn't know about lambda expressions and combinators (which was pretty much everyone in CS in those days) what they were and how they reduced.

There's no question that Bob Taylor was the prime key for PARC (and he also had paid for most of our PhDs in the 60s when he was an ARPA funder).

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Thursday, September 1, 2011 3:17 PM
Subject: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Alan,
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the pan",
so I haven't put any effort into saving that history.
Fair enough! Having the table of contents but not the text made me think
that perhaps the section B.6.b.ii The Disk as a Serial "Associative
Memory" and B.6.c. An Associativeley Mapped LSI Memory might be
interesting in light of Ian's latest paper. Or the first part might be
more related to OOZE instead.
Post by Alan Kay
But there were "4 or 5" pretty good things and "4 or 5" really bad things that
helped the Alto-Smalltalk effort a few years later.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting  a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
Post by Alan Kay
I'd say that the huge factors after having tried to do one of these were two
geniuses: Chuck Thacker (who was an infinitely better hardware designer and
builder than I was), and Dan Ingalls (who was infinitely better at most phases
of software design and implementation than I was).
True. You were lucky to have them, though perhaps we might say Bob
Taylor had built that luck into PARC.
-- Jecel
Alan Kay
2011-09-02 15:30:27 UTC
Permalink
Here's a link to Denis' 1970 thesis

He was one of the incredible group of French grad students at Utah in the late 60s, including Henri Gouraud, Patrick Baudelaire, Bob Mahl, and Denis. They were really good!


http://books.google.com/books/about/DCPL_A_Distributed_Control_Programming_L.html?id=93gCOAAACAAJ

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Friday, September 2, 2011 8:23 AM
Subject: Re: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Hi Jecel
I think both these sections were reactions to some of the current hardware, and hardware problems of the time.
I remember the second one better than the first. In those days cutting dies out of the wafters often damaged them, and the general yield was not great even before cutting the die out. This idea was to lay down regions of memory on the wafer, run bus metalization over them, test them, and zap a few bits if they didn't work. The key here was that the working ones would each have a register that had its "name" (actually its base address and range) and all could look at the bus to see if their address came up. If it did, it would seize the bus and do what ever. So this was a kind of distributed small pages and MMUs scheme. And the yield would be much higher because the wafers remained intact. I don't think any of these tradeoffs obtain today, though one could imagine other kinds of schemes for distributed memory and memory management that would be more sensible than current schemes.
The first one I really don't remember. But it probably was partially the result of the head per track small disk that the FLEX machine used -- and probably was influenced by Paul Rovner's scheme at Lincoln Labs for doing Jerry Feldman's software "associative triples memory".
I think this was not about Denis Seror's later and really interesting thesis (under Barton) to make a "lambda calculus machine" -- really a "combinator machine" (to replace variables by paths) and to have the computation on the disk and just pull in and reduce as possible as the disk zoomed by. All was done in parallel and eventually all would be reduced. Denis came up with a nice little language that had a bit of an APL feeling for humans to program this system in. He (and his wife) wound up making an animated movie to show people who didn't know about lambda expressions and combinators (which was pretty much everyone in CS in those days) what they were and how they reduced.
There's no question that Bob Taylor was the prime key for PARC (and he also had paid for most of our PhDs in the 60s when he was an ARPA funder).
Cheers,
Alan
Post by Eduardo Cavazos
________________________________
Sent: Thursday, September 1, 2011 3:17 PM
Subject: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Alan,
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the pan",
so I haven't put any effort into saving that history.
Fair enough! Having the table of contents but not the text made me think
that perhaps the section B.6.b.ii The Disk as a Serial "Associative
Memory" and B.6.c. An Associativeley Mapped LSI Memory might be
interesting in light of Ian's latest paper. Or the first part might be
more related to OOZE instead.
Post by Alan Kay
But there
were "4 or 5" pretty good things and "4 or 5" really bad things that
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Alan Kay
helped the Alto-Smalltalk effort a few years later.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting  a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add
a constant slot with some easy to type value, like 0,
Post by Eduardo Cavazos
Post by Eduardo Cavazos
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
Post by Alan Kay
I'd say that the huge factors after having tried to do one of these were two
geniuses: Chuck Thacker (who was an infinitely better hardware designer and
builder than I was), and Dan Ingalls (who was infinitely better at most phases
of software design and implementation than I was).
True. You were lucky to have them, though perhaps we might say Bob
Taylor had built that luck into PARC.
-- Jecel
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Alan Kay
2011-09-02 15:30:27 UTC
Permalink
Here's a link to Denis' 1970 thesis

He was one of the incredible group of French grad students at Utah in the late 60s, including Henri Gouraud, Patrick Baudelaire, Bob Mahl, and Denis. They were really good!


http://books.google.com/books/about/DCPL_A_Distributed_Control_Programming_L.html?id=93gCOAAACAAJ

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Friday, September 2, 2011 8:23 AM
Subject: Re: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Hi Jecel
I think both these sections were reactions to some of the current hardware, and hardware problems of the time.
I remember the second one better than the first. In those days cutting dies out of the wafters often damaged them, and the general yield was not great even before cutting the die out. This idea was to lay down regions of memory on the wafer, run bus metalization over them, test them, and zap a few bits if they didn't work. The key here was that the working ones would each have a register that had its "name" (actually its base address and range) and all could look at the bus to see if their address came up. If it did, it would seize the bus and do what ever. So this was a kind of distributed small pages and MMUs scheme. And the yield would be much higher because the wafers remained intact. I don't think any of these tradeoffs obtain today, though one could imagine other kinds of schemes for distributed memory and memory management that would be more sensible than current schemes.
The first one I really don't remember. But it probably was partially the result of the head per track small disk that the FLEX machine used -- and probably was influenced by Paul Rovner's scheme at Lincoln Labs for doing Jerry Feldman's software "associative triples memory".
I think this was not about Denis Seror's later and really interesting thesis (under Barton) to make a "lambda calculus machine" -- really a "combinator machine" (to replace variables by paths) and to have the computation on the disk and just pull in and reduce as possible as the disk zoomed by. All was done in parallel and eventually all would be reduced. Denis came up with a nice little language that had a bit of an APL feeling for humans to program this system in. He (and his wife) wound up making an animated movie to show people who didn't know about lambda expressions and combinators (which was pretty much everyone in CS in those days) what they were and how they reduced.
There's no question that Bob Taylor was the prime key for PARC (and he also had paid for most of our PhDs in the 60s when he was an ARPA funder).
Cheers,
Alan
Post by Eduardo Cavazos
________________________________
Sent: Thursday, September 1, 2011 3:17 PM
Subject: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Alan,
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the pan",
so I haven't put any effort into saving that history.
Fair enough! Having the table of contents but not the text made me think
that perhaps the section B.6.b.ii The Disk as a Serial "Associative
Memory" and B.6.c. An Associativeley Mapped LSI Memory might be
interesting in light of Ian's latest paper. Or the first part might be
more related to OOZE instead.
Post by Alan Kay
But there
were "4 or 5" pretty good things and "4 or 5" really bad things that
Post by Eduardo Cavazos
Post by Eduardo Cavazos
Post by Alan Kay
helped the Alto-Smalltalk effort a few years later.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting  a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add
a constant slot with some easy to type value, like 0,
Post by Eduardo Cavazos
Post by Eduardo Cavazos
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
Post by Alan Kay
I'd say that the huge factors after having tried to do one of these were two
geniuses: Chuck Thacker (who was an infinitely better hardware designer and
builder than I was), and Dan Ingalls (who was infinitely better at most phases
of software design and implementation than I was).
True. You were lucky to have them, though perhaps we might say Bob
Taylor had built that luck into PARC.
-- Jecel
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
shaun gilchrist
2011-09-02 15:41:00 UTC
Permalink
For anyone else who was captivated by: "Denis came up with a nice
little language that had a bit of an APL feeling for humans to program
this system in" - here is a link to the 184 page paper describing
"DCPL": http://content.lib.utah.edu/cdm4/item_viewer.php?CISOROOT=/ir-main&CISOPTR=60083
-shaun
Post by Michael Haupt
Hi Jecel
I think both these sections were reactions to some of the current hardware,
and hardware problems of the time.
I remember the second one better than the first. In those days cutting dies
out of the wafters often damaged them, and the general yield was not great
even before cutting the die out. This idea was to lay down regions of memory
on the wafer, run bus metalization over them, test them, and zap a few bits
if they didn't work. The key here was that the working ones would each have
a register that had its "name" (actually its base address and range) and all
could look at the bus to see if their address came up. If it did, it would
seize the bus and do what ever. So this was a kind of distributed small
pages and MMUs scheme. And the yield would be much higher because the wafers
remained intact. I don't think any of these tradeoffs obtain today, though
one could imagine other kinds of schemes for distributed memory and memory
management that would be more sensible than current schemes.
The first one I really don't remember. But it probably was partially the
result of the head per track small disk that the FLEX machine used -- and
probably was influenced by Paul Rovner's scheme at Lincoln Labs for doing
Jerry Feldman's software "associative triples memory".
I think this was not about Denis Seror's later and really interesting thesis
(under Barton) to make a "lambda calculus machine" -- really a "combinator
machine" (to replace variables by paths) and to have the computation on the
disk and just pull in and reduce as possible as the disk zoomed by. All was
done in parallel and eventually all would be reduced. Denis came up with a
nice little language that had a bit of an APL feeling for humans to program
this system in. He (and his wife) wound up making an animated movie to show
people who didn't know about lambda expressions and combinators (which was
pretty much everyone in CS in those days) what they were and how they
reduced.
There's no question that Bob Taylor was the prime key for PARC (and he also
had paid for most of our PhDs in the 60s when he was an ARPA funder).
Cheers,
Alan
________________________________
Sent: Thursday, September 1, 2011 3:17 PM
Subject: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Alan,
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the pan",
so I haven't put any effort into saving that history.
Fair enough! Having the table of contents but not the text made me think
that perhaps the section B.6.b.ii The Disk as a Serial "Associative
Memory" and B.6.c. An Associativeley Mapped LSI Memory might be
interesting in light of Ian's latest paper. Or the first part might be
more related to OOZE instead.
Post by Alan Kay
But there were "4 or 5" pretty good things and "4 or 5" really bad things that
helped the Alto-Smalltalk effort a few years later.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting  a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
Post by Alan Kay
I'd say that the huge factors after having tried to do one of these were two
geniuses: Chuck Thacker (who was an infinitely better hardware designer and
builder than I was), and Dan Ingalls (who was infinitely better at most phases
of software design and implementation than I was).
True. You were lucky to have them, though perhaps we might say Bob
Taylor had built that luck into PARC.
-- Jecel
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
John Zabroski
2011-09-02 16:12:25 UTC
Permalink
I was also fascinated by "He (and his wife) wound up making an animated
movie to show people who didn't know about lambda expressions and
combinators (which was pretty much everyone in CS in those days) what they
were and how they reduced." Would love to show this to Phil Wadler, who
every year has his students draw pictures of "the very strange creature with
a head and a tail, whose tail may have a head and a tail" [1].

Bret Victor created Alligator Eggs! [2] [3] in response to Phil telling him
about it.

[1] http://wadler.blogspot.com/2010/11/list-is-odd-creature-take-5.html
[2] http://wadler.blogspot.com/2007/05/oh-no-alligators.html
[3] http://lambda-the-ultimate.org/node/3485
Post by shaun gilchrist
For anyone else who was captivated by: "Denis came up with a nice
little language that had a bit of an APL feeling for humans to program
this system in" - here is a link to the 184 page paper describing
http://content.lib.utah.edu/cdm4/item_viewer.php?CISOROOT=/ir-main&CISOPTR=60083
-shaun
Post by Michael Haupt
Hi Jecel
I think both these sections were reactions to some of the current
hardware,
Post by Michael Haupt
and hardware problems of the time.
I remember the second one better than the first. In those days cutting
dies
Post by Michael Haupt
out of the wafters often damaged them, and the general yield was not
great
Post by Michael Haupt
even before cutting the die out. This idea was to lay down regions of
memory
Post by Michael Haupt
on the wafer, run bus metalization over them, test them, and zap a few
bits
Post by Michael Haupt
if they didn't work. The key here was that the working ones would each
have
Post by Michael Haupt
a register that had its "name" (actually its base address and range) and
all
Post by Michael Haupt
could look at the bus to see if their address came up. If it did, it
would
Post by Michael Haupt
seize the bus and do what ever. So this was a kind of distributed small
pages and MMUs scheme. And the yield would be much higher because the
wafers
Post by Michael Haupt
remained intact. I don't think any of these tradeoffs obtain today,
though
Post by Michael Haupt
one could imagine other kinds of schemes for distributed memory and
memory
Post by Michael Haupt
management that would be more sensible than current schemes.
The first one I really don't remember. But it probably was partially the
result of the head per track small disk that the FLEX machine used -- and
probably was influenced by Paul Rovner's scheme at Lincoln Labs for doing
Jerry Feldman's software "associative triples memory".
I think this was not about Denis Seror's later and really interesting
thesis
Post by Michael Haupt
(under Barton) to make a "lambda calculus machine" -- really a
"combinator
Post by Michael Haupt
machine" (to replace variables by paths) and to have the computation on
the
Post by Michael Haupt
disk and just pull in and reduce as possible as the disk zoomed by. All
was
Post by Michael Haupt
done in parallel and eventually all would be reduced. Denis came up with
a
Post by Michael Haupt
nice little language that had a bit of an APL feeling for humans to
program
Post by Michael Haupt
this system in. He (and his wife) wound up making an animated movie to
show
Post by Michael Haupt
people who didn't know about lambda expressions and combinators (which
was
Post by Michael Haupt
pretty much everyone in CS in those days) what they were and how they
reduced.
There's no question that Bob Taylor was the prime key for PARC (and he
also
Post by Michael Haupt
had paid for most of our PhDs in the 60s when he was an ARPA funder).
Cheers,
Alan
________________________________
Sent: Thursday, September 1, 2011 3:17 PM
Subject: a little more FLEXibility (was: [fonc] Re: Ceres and Oberon)
Alan,
Post by Alan Kay
The Flex Machine was "the omelet you have to throw away to clean the
pan",
Post by Michael Haupt
Post by Alan Kay
so I haven't put any effort into saving that history.
Fair enough! Having the table of contents but not the text made me think
that perhaps the section B.6.b.ii The Disk as a Serial "Associative
Memory" and B.6.c. An Associativeley Mapped LSI Memory might be
interesting in light of Ian's latest paper. Or the first part might be
more related to OOZE instead.
Post by Alan Kay
But there were "4 or 5" pretty good things and "4 or 5" really bad
things
Post by Michael Haupt
Post by Alan Kay
that
helped the Alto-Smalltalk effort a few years later.
Was being able to input drawings one of the good things? There was one
Lisp GUI that put a lot of effort into allowing you to input objects
instead of just text. It did that by outputting text but keeping track
of where it came from. So if you pointed to the text generated by
listing the contents of a disk directory while there was some program
waiting for input, that program would read the actual entry object.
It is frustrating for me that while the Squeak VM could easily handle an
expression like
myView add: <yellowEllipseMorph> copy.
I have no way of typing that. I can't use any object as a literal nor as
input. In Etoys I can get close enough by getting a tile representing
the yellowEllpiseMorph from its halo and use that in expressions. In
Self I could add a constant slot with some easy to type value, like 0,
and then drag the arrow from that slot to point to the object I really
wanted. It was a bit indirect but it worked and I used this a lot. The
nice thing about having something like this is that you never need
global variable again.
Post by Alan Kay
I'd say that the huge factors after having tried to do one of these were two
geniuses: Chuck Thacker (who was an infinitely better hardware designer and
builder than I was), and Dan Ingalls (who was infinitely better at most phases
of software design and implementation than I was).
True. You were lucky to have them, though perhaps we might say Bob
Taylor had built that luck into PARC.
-- Jecel
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Jecel Assumpcao Jr.
2011-09-02 23:52:28 UTC
Permalink
Alan,
[second part was about wafer scale memories]
That was a great idea and was eventually adopted by DRAM makers to
increase yields (spare rows that could replace faulty ones at
manufacturing test time). These days losses due to cutting up the wafers
or encapsulation are pretty low, but I am still very interested in wafer
scale technology.

I think Mosys is using your idea and got a patent on it:

http://www.mosys.com/technology.php

The first claim in their second patent says:

"1. A semiconductor circuit on a substrate comprising:

at least one circuit block which includes a plurality of replaceable
circuit modules, each including a software programmable identification
circuit with a unique preset address code; and at least one redundant
circuit module in the at least one circuit block, the redundant circuit
module including a software programmable identification circuit
programmable with a unique preset address code."

Dividing memory into small blocks is good for saving energy since only
the addressed one has to be active.

Thanks for the Paul Rovner and Denis Seror references about the disk
thing. And thanks to Shaun Gilchrist for the DCPL reference. I haven't
been able to download it yet (all my attempts time out near the end) but
will try it on a faster network to see if I have better luck. It is
interesting that I wasn't able to find this text starting from the home
page and using the various search options. Makes me wonder what other
interesting stuff might be hidden there.

Bert,

thanks for reminding me about the option to "create textual references
to dropped morphs" in Squeak. That is pretty close to what I want,
though not as general. I don't remember if the MathMorphs guys had
something like this.

Michael,

your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.

-- Jecel
Michael Haupt
2011-09-05 06:38:00 UTC
Permalink
Hi Jecel,
Post by Jecel Assumpcao Jr.
Michael,
your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any object member's setter. I was just too lazy to write that. :-)
Post by Jecel Assumpcao Jr.
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.
Of course; I see the deficiencies.

Best,

Michael
--
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Oracle is committed to developing practices and products that help protect the environment
BGB
2011-09-05 08:01:37 UTC
Permalink
Post by Michael Haupt
Hi Jecel,
Post by Jecel Assumpcao Jr.
Michael,
your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any object
member's setter. I was just too lazy to write that. :-)
Post by Jecel Assumpcao Jr.
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.
Of course; I see the deficiencies.
not sure if this is relevant:

one nifty feature I recently noticed which exists in "SQL Server
Management Studio" was the ability to select things, hit a key, and
evaluate only the selected code.

this seemed to combine some of the merits of entry in a text editor,
with those of immediate evaluation (and allowing more convenient ways to
deal with longer multi-line commands).
Post by Michael Haupt
Best,
Michael
--
Oracle <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
OracleLabs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Green Oracle <http://www.oracle.com/commitment> Oracle is committed
to developing practices and products that help protect the environment
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Murat Girgin
2011-09-05 18:21:04 UTC
Permalink
*not sure if this is relevant:*
*
*
*one nifty feature I recently noticed which exists in "SQL Server Management
Studio" was the ability to select things, hit a key, and evaluate only the
selected code.*
*
*
*this seemed to combine some of the merits of entry in a text editor, with
those of immediate evaluation (and allowing more convenient ways to deal
with longer multi-line commands)*


F# REPL in Visual Studio also supports this. Pretty nice feature.
Post by Michael Haupt
Hi Jecel,
Michael,
your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any object member's
setter. I was just too lazy to write that. :-)
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.
Of course; I see the deficiencies.
one nifty feature I recently noticed which exists in "SQL Server Management
Studio" was the ability to select things, hit a key, and evaluate only the
selected code.
this seemed to combine some of the merits of entry in a text editor, with
those of immediate evaluation (and allowing more convenient ways to deal
with longer multi-line commands).
Best,
Michael
--
[image: Oracle] <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam,
Germany [image: Green Oracle] <http://www.oracle.com/commitment> Oracle
is committed to developing practices and products that help protect the
environment
_______________________________________________
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Alan Kay
2011-09-05 18:55:39 UTC
Permalink
I hate to be the one to bring this up, but this has always been a feature of all the Smalltalks ... one has to ask, what is there about current general practice that makes this at all remarkable? ...

Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Monday, September 5, 2011 11:21 AM
Subject: Re: [fonc] Re: a little more FLEXibility
one nifty feature I recently noticed which exists in "SQL Server Management Studio" was the ability to select things, hit a key, and evaluate only the selected code.
this seemed to combine some of the merits of entry in a text editor, with those of immediate evaluation (and allowing more convenient ways to deal with longer multi-line commands)
F# REPL in Visual Studio also supports this. Pretty nice feature.
Hi Jecel,
Post by Jecel Assumpcao Jr.
Michael,
Post by Jecel Assumpcao Jr.
your solution is a little more indirect than dragging
arrows in Self
Post by Eduardo Cavazos
Post by Jecel Assumpcao Jr.
Post by Jecel Assumpcao Jr.
since you have to create a global, which is what I would
like to avoid.
Post by Eduardo Cavazos
Post by Jecel Assumpcao Jr.
ah, but instead of Smalltalk >> #at:put: you can use any object member's setter. I was just too lazy to write that. :-)
Not to mention that one solution is direct manipulation while the other
Post by Jecel Assumpcao Jr.
is typing and evaluating an expression. But between your
solution and
Post by Eduardo Cavazos
Post by Jecel Assumpcao Jr.
Post by Jecel Assumpcao Jr.
Bert's it is obvious that the system can do what I want
but the
Post by Eduardo Cavazos
Post by Jecel Assumpcao Jr.
Post by Jecel Assumpcao Jr.
limitation in the GUI.
Of course; I see the deficiencies.
one nifty feature I recently noticed which exists in "SQL Server
Management Studio" was the ability to select things, hit a key, and
evaluate only the selected code.
Post by Eduardo Cavazos
this seemed to combine some of the merits of entry in a text editor,
with those of immediate evaluation (and allowing more convenient
ways to deal with longer multi-line commands).
Post by Eduardo Cavazos
Best,
Post by Jecel Assumpcao Jr.
Michael
-- 
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs 
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse
14 | 14467 Potsdam, Germany
Post by Eduardo Cavazos
Post by Jecel Assumpcao Jr.
Oracle is committed to developing practices and products that help protect the environment
_______________________________________________
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Wesley Smith
2011-09-05 19:07:51 UTC
Permalink
There are also a number of live coding editors that do this for
environments like SuperCollider and Fluxus

http://supercollider.sourceforge.net/
http://www.pawfal.org/fluxus/


It has always bugged me that more coding environments don't support
this, but some languages don't lend themselves to it.
wes
Post by Alan Kay
I hate to be the one to bring this up, but this has always been a feature of all the Smalltalks ... one has to ask, what is there about current general practice that makes this at all remarkable? ...
Cheers,
Alan
________________________________
Sent: Monday, September 5, 2011 11:21 AM
Subject: Re: [fonc] Re: a little more FLEXibility
one nifty feature I recently noticed which exists in "SQL Server Management Studio" was the ability to select things, hit a key, and evaluate only the selected code.
this seemed to combine some of the merits of entry in a text editor, with those of immediate evaluation (and allowing more convenient ways to deal with longer multi-line commands)
F# REPL in Visual Studio also supports this. Pretty nice feature.
Hi Jecel,
Michael,
your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any object member's setter. I was just too lazy to write that. :-)
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.
Of course; I see the deficiencies.
one nifty feature I recently noticed which exists in "SQL Server Management Studio" was the ability to select things, hit a key, and evaluate only the selected code.
this seemed to combine some of the merits of entry in a text editor, with those of immediate evaluation (and allowing more convenient ways to deal with longer multi-line commands).
Best,
Michael
--
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Oracle is committed to developing practices and products that help protect the environment
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
BGB
2011-09-05 20:09:18 UTC
Permalink
Post by Alan Kay
I hate to be the one to bring this up, but this has always been a
feature of all the Smalltalks ... one has to ask, what is there about
current general practice that makes this at all remarkable? ...
Cheers,
Alan
maybe because it is sufficiently uncommon that one has not thought-of or
seen the idea at any point prior to this point?


almost invariably, one is limited either to reloading whole files (if
one is lucky and using a scripting language for this, otherwise it is
time to exit the app and rebuild), or however much they can reasonably
type into a console (may be often limited to 80 or 100 characters or so,
especially with "IRC-style" consoles, where one only has a single-line
entry field at the bottom and everything scrolls up).

depending on editor/language (say Java+Eclipse), there is the ability to
pause and edit code in the debugger, but this is a different feature.

Visual Studio generally also has an immediate-evaluation tab thingy,
which works more like a console.


so, a "scratch-pad" style editor which allows selecting and evaluating
things (and optionally saving and reloading these scratch-pads), sadly,
does actually seem fairly novel (I am tempted to add similar to my own
project, but would need to think up details regarding the user-interface
and/or how to integrate it with the existing console interface).

(probably like an editor on the bottom with console output on the top,
and maybe some keyboard shortcut magic to access it.)


sad thing though is, if Bash ever falls out of common use, people may
then forget about the idea of the console remembering command history
from prior sessions or similar (most other console-style UIs don't do this).
Post by Alan Kay
------------------------------------------------------------------------
*Sent:* Monday, September 5, 2011 11:21 AM
*Subject:* Re: [fonc] Re: a little more FLEXibility
/not sure if this is relevant:/
/
/
/one nifty feature I recently noticed which exists in "SQL
Server Management Studio" was the ability to select things,
hit a key, and evaluate only the selected code./
/
/
/this seemed to combine some of the merits of entry in a text
editor, with those of immediate evaluation (and allowing more
convenient ways to deal with longer multi-line commands)/
F# REPL in Visual Studio also supports this. Pretty nice feature.
Post by Michael Haupt
Hi Jecel,
Post by Jecel Assumpcao Jr.
Michael,
your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any
object member's setter. I was just too lazy to write that. :-)
Post by Jecel Assumpcao Jr.
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.
Of course; I see the deficiencies.
one nifty feature I recently noticed which exists in "SQL
Server Management Studio" was the ability to select things,
hit a key, and evaluate only the selected code.
this seemed to combine some of the merits of entry in a text
editor, with those of immediate evaluation (and allowing more
convenient ways to deal with longer multi-line commands).
Post by Michael Haupt
Best,
Michael
--
Oracle <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
OracleLabs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467
Potsdam, Germany
Green Oracle <http://www.oracle.com/commitment> Oracle is
committed to developing practices and products that help
protect the environment
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Steve Wart
2011-09-06 03:23:14 UTC
Permalink
This is surreal, although I am somewhat sympathetic.

I think of all the lost hours of arguments over the years that degenerated
into "static typing" vs "dynamic typing" flamewars when all that was really
needed was to say "dude, you can highlight some text and evaluate the code"

Formalisms are overrated :-)

Cheers
Steve
Post by Alan Kay
I hate to be the one to bring this up, but this has always been a feature
of all the Smalltalks ... one has to ask, what is there about current
general practice that makes this at all remarkable? ...
Cheers,
Alan
maybe because it is sufficiently uncommon that one has not thought-of or
seen the idea at any point prior to this point?
almost invariably, one is limited either to reloading whole files (if one
is lucky and using a scripting language for this, otherwise it is time to
exit the app and rebuild), or however much they can reasonably type into a
console (may be often limited to 80 or 100 characters or so, especially with
"IRC-style" consoles, where one only has a single-line entry field at the
bottom and everything scrolls up).
depending on editor/language (say Java+Eclipse), there is the ability to
pause and edit code in the debugger, but this is a different feature.
Visual Studio generally also has an immediate-evaluation tab thingy, which
works more like a console.
so, a "scratch-pad" style editor which allows selecting and evaluating
things (and optionally saving and reloading these scratch-pads), sadly, does
actually seem fairly novel (I am tempted to add similar to my own project,
but would need to think up details regarding the user-interface and/or how
to integrate it with the existing console interface).
(probably like an editor on the bottom with console output on the top, and
maybe some keyboard shortcut magic to access it.)
sad thing though is, if Bash ever falls out of common use, people may then
forget about the idea of the console remembering command history from prior
sessions or similar (most other console-style UIs don't do this).
------------------------------
*Sent:* Monday, September 5, 2011 11:21 AM
*Subject:* Re: [fonc] Re: a little more FLEXibility
*not sure if this is relevant:*
*
*
*one nifty feature I recently noticed which exists in "SQL Server
Management Studio" was the ability to select things, hit a key, and evaluate
only the selected code.*
*
*
*this seemed to combine some of the merits of entry in a text editor, with
those of immediate evaluation (and allowing more convenient ways to deal
with longer multi-line commands)*
F# REPL in Visual Studio also supports this. Pretty nice feature.
Hi Jecel,
Michael,
your solution is a little more indirect than dragging arrows in Self
since you have to create a global, which is what I would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any object member's
setter. I was just too lazy to write that. :-)
Not to mention that one solution is direct manipulation while the other
is typing and evaluating an expression. But between your solution and
Bert's it is obvious that the system can do what I want but the
limitation in the GUI.
Of course; I see the deficiencies.
one nifty feature I recently noticed which exists in "SQL Server Management
Studio" was the ability to select things, hit a key, and evaluate only the
selected code.
this seemed to combine some of the merits of entry in a text editor, with
those of immediate evaluation (and allowing more convenient ways to deal
with longer multi-line commands).
Best,
Michael
--
[image: Oracle] <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam,
Germany [image: Green Oracle] <http://www.oracle.com/commitment> Oracle
is committed to developing practices and products that help protect the
environment
_______________________________________________
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
BGB
2011-09-06 04:11:35 UTC
Permalink
Post by Steve Wart
This is surreal, although I am somewhat sympathetic.
?...
my comment was surreal?...
Post by Steve Wart
I think of all the lost hours of arguments over the years that
degenerated into "static typing" vs "dynamic typing" flamewars when
all that was really needed was to say "dude, you can highlight some
text and evaluate the code"
Formalisms are overrated :-)
yep. it was such a nifty yet subtle feature, that one does not ever hear
of it or know much about it until they see it in action.

select code, hit F5, see the results of evaluating the expression just
pop up, feel surprised at there being such a simple and elegant design
solution to a problem they have been faced with:
the lack of there being really anything "between" the use of direct
console-commands and temporary-file based evaluation (reloading the
script from source, one using it for eval by clearing its contents each
time and typing in any new commands, that or using functions and
invoking them via the console or a function call at the bottom of the
script).

<--
function foo()
{ ... }

function bar()
{ ... }

...

//foo();
bar();
//baz();
-->


the one drawback at the moment though (in my case) would be the need to
provide an in-program editor interface for this (or some other way to
somehow "relay" the editor's selection over to the running program).

luckily, I already have a "text editor GUI widget" which could
potentially be useful here (when I originally created my GUI widget
system, many years ago, I used HTML forms as the design template, and a
text-editor box was included in the widget list IIRC).

(yes, the above was around the same time when I had the idea of creating
a scripting language "sort of like JavaScript", partly because I
originally encountered both HTML forms and JS at around the same time...).


granted, then again, if MS is using such a feature in their products, I
guess it is probably not *that* rare or unheard of (much like
"discovering" new features in Windows or MS Office...).


meanwhile, at the moment IRL, I am at the moment torn between:
having to do more homework (for college classes... grr... but then again
I guess teachers have to sit around and read/grade all the HW, which
probably is a similar, if not bigger, hassle);
working on adding antiportals to my 3D engine (as a
visibility/optimization hint);
working on re-adding rigid-body physics (already have most of the code,
it is just not currently used).

as well as the longer term issue of "what will I eventually do with all
this?" and "is there any way I can somehow get a job or make money?", ...
Post by Steve Wart
Cheers
Steve
Post by Alan Kay
I hate to be the one to bring this up, but this has always been a
feature of all the Smalltalks ... one has to ask, what is there
about current general practice that makes this at all remarkable? ...
Cheers,
Alan
maybe because it is sufficiently uncommon that one has not
thought-of or seen the idea at any point prior to this point?
almost invariably, one is limited either to reloading whole files
(if one is lucky and using a scripting language for this,
otherwise it is time to exit the app and rebuild), or however much
they can reasonably type into a console (may be often limited to
80 or 100 characters or so, especially with "IRC-style" consoles,
where one only has a single-line entry field at the bottom and
everything scrolls up).
depending on editor/language (say Java+Eclipse), there is the
ability to pause and edit code in the debugger, but this is a
different feature.
Visual Studio generally also has an immediate-evaluation tab
thingy, which works more like a console.
so, a "scratch-pad" style editor which allows selecting and
evaluating things (and optionally saving and reloading these
scratch-pads), sadly, does actually seem fairly novel (I am
tempted to add similar to my own project, but would need to think
up details regarding the user-interface and/or how to integrate it
with the existing console interface).
(probably like an editor on the bottom with console output on the
top, and maybe some keyboard shortcut magic to access it.)
sad thing though is, if Bash ever falls out of common use, people
may then forget about the idea of the console remembering command
history from prior sessions or similar (most other console-style
UIs don't do this).
Post by Alan Kay
------------------------------------------------------------------------
*Sent:* Monday, September 5, 2011 11:21 AM
*Subject:* Re: [fonc] Re: a little more FLEXibility
/not sure if this is relevant:/
/
/
/one nifty feature I recently noticed which exists in
"SQL Server Management Studio" was the ability to select
things, hit a key, and evaluate only the selected code./
/
/
/this seemed to combine some of the merits of entry in a
text editor, with those of immediate evaluation (and
allowing more convenient ways to deal with longer
multi-line commands)/
F# REPL in Visual Studio also supports this. Pretty nice feature.
Post by Michael Haupt
Hi Jecel,
Post by Jecel Assumpcao Jr.
Michael,
your solution is a little more indirect than dragging
arrows in Self
since you have to create a global, which is what I
would like to avoid.
ah, but instead of Smalltalk >> #at:put: you can use any
object member's setter. I was just too lazy to write that. :-)
Post by Jecel Assumpcao Jr.
Not to mention that one solution is direct manipulation
while the other
is typing and evaluating an expression. But between
your solution and
Bert's it is obvious that the system can do what I want
but the
limitation in the GUI.
Of course; I see the deficiencies.
one nifty feature I recently noticed which exists in "SQL
Server Management Studio" was the ability to select
things, hit a key, and evaluate only the selected code.
this seemed to combine some of the merits of entry in a
text editor, with those of immediate evaluation (and
allowing more convenient ways to deal with longer
multi-line commands).
Post by Michael Haupt
Best,
Michael
--
Oracle <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
OracleLabs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 |
14467 Potsdam, Germany
Green Oracle <http://www.oracle.com/commitment> Oracle
is committed to developing practices and products that
help protect the environment
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Jecel Assumpcao Jr.
2011-09-06 00:04:44 UTC
Permalink
Alan,
Post by Alan Kay
I hate to be the one to bring this up, but this has always been a
feature of all the Smalltalks ...
I was going to say that this was introduced in 1976 and that the first
two version of Smalltalk had a more traditional REPL. But I would have
to check since I might be remembering it wrong.

The select/eval GUI was also a key design feature of Oberon, which was
the start of this thread. So we have come full circle :-)
Post by Alan Kay
one has to ask, what is there about current general practice
that makes this at all remarkable? ...
Most professors in the CS department where I study, which consistently
gets rated among the top 5 in the country, have never even heard of
Smalltalk. So you can just imagine how much the students or professional
developers don't know.

Francisco,

thanks for bringing up MorphicWrappers. For some reason I remembered the
name of the MathMorphs project from the same group, but not this one.
But it is indeed probably the closest thing out there to what I was
thinking. Casey mentioned to me the Maui GUI for Squeak, which was
inspired by this.

Michael,
Post by Alan Kay
ah, but instead of Smalltalk >> #at:put: you can use any object
member's setter. I was just too lazy to write that. :-)
If I have two inspectors open, one for MorphA and the other for ObjB,
then I don't see what I could type in either window to get ObjB to
reference MorphA. Your solution via globals solves this problem (but
introduces a global). But it might be just a lack of imagination on my
part.

-- Jecel
Michael Haupt
2011-09-06 06:14:52 UTC
Permalink
Hi Jecel,
Post by Jecel Assumpcao Jr.
Post by Michael Haupt
ah, but instead of Smalltalk >> #at:put: you can use any object
member's setter. I was just too lazy to write that. :-)
If I have two inspectors open, one for MorphA and the other for ObjB,
then I don't see what I could type in either window to get ObjB to
reference MorphA. Your solution via globals solves this problem (but
introduces a global).
right.
Post by Jecel Assumpcao Jr.
But it might be just a lack of imagination on my part.
I wouldn't think so.

Best,

Michael
--
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Oracle is committed to developing practices and products that help protect the environment
Bert Freudenberg
2011-09-06 11:49:31 UTC
Permalink
Post by Jecel Assumpcao Jr.
Michael,
Post by Michael Haupt
ah, but instead of Smalltalk >> #at:put: you can use any object
member's setter. I was just too lazy to write that. :-)
If I have two inspectors open, one for MorphA and the other for ObjB,
then I don't see what I could type in either window to get ObjB to
reference MorphA. Your solution via globals solves this problem (but
introduces a global). But it might be just a lack of imagination on my
part.
In the latest Squeak alpha you can drag any slot from one inspector onto any slot of another inspector, replacing the object in it.

- Bert -
Michael Haupt
2011-09-06 12:46:26 UTC
Permalink
Hi Bert,
Post by Bert Freudenberg
In the latest Squeak alpha you can drag any slot from one inspector onto any slot of another inspector, replacing the object in it.
indeed. That is cool. :-D
Almost like arrow dragging in Self, only without the arrows.

Best,

Michael
--
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Oracle is committed to developing practices and products that help protect the environment
Jecel Assumpcao Jr.
2011-09-06 16:02:12 UTC
Permalink
In the latest Squeak alpha you can drag any slot from one inspector onto any slot of another inspector, replacing the object in it. 
indeed. That is cool. :-DAlmost like arrow dragging in Self, only without the arrows.
Fantastic! I was going to say that I probably wasn't paying as much
attention to the squeak-dev commit messages if I had missed this, but
then saw that this change went in today.

Morphic in Self tried to reinforce the idea that the visual
representation of an object on the screen was the real thing. So if you
asked for an outliner for an object and there was already one being
shown, you got that one instead of a new one. Of course, having a
separate outliner view and a morphic view ruined this and we had
interesting discussions about how to solve that but never did anything
about it. So the arrows were important to allow the same morph or
outliner to pop up in a new place without really going missing from its
old place.

Since Morphic in Squeak has a different model (you can have as many
inspectors as you want on the same object) I don't think the arrows
would be as important.

-- Jecel

Alan Kay
2011-08-31 17:26:44 UTC
Permalink
P.S. I should have directly pointed out that there were many earlier systems that did the experiment of taking a single language and writing everything in it.

(Some earlier than Smalltalk, etc., although it was interesting for being "early, small, and very high level")


Cheers,

Alan
Post by Eduardo Cavazos
________________________________
Sent: Wednesday, August 31, 2011 12:54 AM
Subject: [fonc] Re: Ceres and Oberon
Post by Alan Kay
I'm glad that he has finally come to appreciate OOP.
There are two kinds of people on this list. Those who can tell when Alan
is joking and those that can't. :-D
Don't know which I am but I can at least say that the OOP that is in
Oberon is not what Alan had in mind when he invented the term.
Sorry if you were being sincere Alan... :-)
At any rate, I do appreciate the Oberon system and the evolution of
Wirth's language through Pascal, Modula-2, and Oberon. *Somebody* had to
do the experiment that is: take a classical systems programming
language, and implement a small, understandable, system and environment
in that one language. I think the Oberon system is more or less what you
get when you take a C-like language and "play it grand" on a
workstation.
As an aside, I think it's crazy that C hasn't at least grown a module
system yet.
Changing the subject a bit...
We can all look to the past for great OS and language designs; each of
us knows a few. However, I'm not so sure about the network aspects and
the approaches to distributed computing. Can we look to the past for
inspiring distributed computing environments? Or are the truly great and
timeless ones yet to be invented? I guess we'll have to nail down and
agree upon a decent node first.
Ed
_______________________________________________
fonc mailing list
http://vpri.org/mailman/listinfo/fonc
Loading...