<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Dear Selfers:
<p>Let's make things simple. Having read Chapter 3 Syntax
<br>from Bertrand Meyer's Introduction to the Theory of
<br>Programming languages (he is the author of Eiffel)
<br>I would like someone to tell me if the syntax of all
<br>programming languages (even functional languages? or
<br>everything comes from functional languages?)
<br>are described by a grammar consisting of a set of
<br>productions; each production describes the form
<br>of a certain class of language elements such as
<br>instructions, expressions, routines, etc?
<br>Thilo, my darling I am very sorry but after having
<br>spent lots of time responding to your nice message
<br>the send message command had a problem and I
<br>lost the message!!!
<br>But what is fundamental is that there was a mistake
<br>in the message. The paper Annotating objects for
<br>transport to other worlds was published at
<br>OOPSLA'1995 Proceedings and could be downloaded
<br> at <A HREF="http://self.smli.com/">http://self.smli.com/</A> ~ungar (Dave please is it OK?).
<br>On page 84  Dave states 5. Previous Work
<br>The Beta fragment system is more versatile than the
<br>transporter because while the transporter cannot dissect
<br>slots, a Beta fragment can be any abstract syntax tree
<br>node.
<br>Moreover he puts forward (ASTs defined by the context
<br>free grammar may be described as Lisp S-
<br>expressions - What's this? and how it is related
<br>to ASTs?)
<br>that in the Interlisp environment data were represented
<br>as S-expressions and Loops objects (built out of
<br>S-expressions).Then he traces the differences and
<br>similarities between Interlisp and Self.
<br>Why did Dave talk about these things?
<br>We were talking about expressiveness. So here
<br>the use of ASTs affects the Beta fragment how?
<br> 
<p>Moreover Meyer argues there are two ways to
<br>describe the details of the attribute approach:
<br>a procedural way or an OO way, where the
<br>emphasis is on the constructs.
<br>So is it at the level of the attribute grammar
<br>that an OO language is defined? In this
<br>approach constructs will be viewed as abstractly
<br>data types such as classes in class-based
<br>languages, patterns in Beta and object in Self?
<br> 
<p>Madsen states that the highly interactive,
<br>integrated and incremental programming
<br>environments of many Lisp systtems such as
<br>Interlisp are in many aspects much more
<br>advanced than most environments for
<br>developmet of production software.
<br>So if Self and Interlisp environments
<br>are similar, how can I understand the
<br>Self environment better?
<br>And in this case the language is
<br>designed according to  a set of production?
<p>Well I feel this is not the case because
<br>Dave says The beta system embodies a
<br>very classical view about the nature of
<br>a program: a Beta program is a collection
<br>of abstract conceptual patterns that
<br>describe concrete phenomena without
<br>themselves partaking of the
<br>concreteness of the phenomena.
<p>Hence only the metaprogramming tools
<br>in the Mjolner Beta System manipulate programs
<br>through a common representation, that is
<br>ASTs?
<br>My question is one uses ASTs to design
<br>programming languages as well the
<br>programming environment?
<p>I am very confused.
<p>Thanks for your kind attention.
<p>Albertina
<br> 
<br> 
<pre>-- 
.----------------------------------------------------------.
| Albertina Lourenci                                       |
| PhD  in Architecture and Urbanism                        |
| post-doctorate researcher                                |
| Laboratory of Integrated Systems University of Sao Paulo |
| Avenida Professor Luciano Gualberto, 158 Travessa 3      |
| CEP: 05508-900                                           |
| Sao Paulo Sao Paulo State Brazil                         |
| Voice: +55 011 818 5254                                  |
| Fax: +55 11 211 4574                                     |
.----------------------------------------------------------.</pre>
 </html>