Symbiotic relationship of declarative and imperative systems

Stephane Ducasse ducasse at iam.unibe.ch
Mon Mar 3 10:43:08 UTC 2003


Hi lex and alan

I think that it would be good have a list of the changes that should be 
made in squeak to have a declarative syntax.

The obvious one is to have a
	- GlobalVariable declaration, PoolDictionary,
		instead of Smalltalk at: #MyVar put: 0
	We should have GlobalVariable named: #MyVar initialized: '0'
	
	- InstanceVariable declaration would be good too.

	- ClassVariable

	- I have doubt for classDefinition because even if this is currently 
done via a
	message we can interpret it as a declaration.

Alan (I know that you are busy) but what would be your point items for 
such a list.


I think that having such a list is important for the people such as Avi 
that could use
a much more declarative syntax for DVS.

Stef



On Sunday, March 2, 2003, at 06:56 AM, Lex Spoon wrote:

>
>> This is tricky stuff, so I may not be grasping the subtleties of your
>> explanation. As I understand it, however, "a sequence of operations
>> that transition a system from one state to another" would be an
>> imperative specification.
>
>
> Many interpreters are going to do the following: "parse a series of
> changes from this file, and then apply the changes in sequence".  So
> it's not necessarily so different.
>
> Everyone is missing Alan's point.  A "declarative" syntax still 
> requires
> that you have an interpreter to make sense of it.  Thus the difference
> is pretty subtle, at least in theory.  It's the difference between
> interpreter+language, versus interpter1+interpreter2+language.
>
>
> Let me get more pragmatic for a moment.  In *practice*, imperative 
> versus
> declarative is about the same.  First, you can perfectly well read a
> Squeak fileout, in practice, as if it were declarative.  There are only
> 5-10 forms that you must support.  Second, you can go to the
> trouble, if you like, of making up a Smalltalk environment where code
> changes don't directly modify the system, but instead log themselves
> into the currently active changeset.
>
>
>
> -Lex
>
>
Prof. Dr. Stéphane DUCASSE (ducasse at iam.unibe.ch) 
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do
  different? ... especially if, by doing something different, today
  might not be your last day on earth" Calvin&Hobbes




More information about the Squeak-dev mailing list