Symbiotic relationship of declarative and imperative systems
John W. Sarkela
sarkela at sbcglobal.net
Mon Mar 3 15:35:53 UTC 2003
Howdy,
Actually, the BlueBook introduces pools as a shared scope.
Surprisingly, nowhere on pp 46-47 is the expression
'Pool Dictionary' to be found. Perhaps the declaration
should be for a Pool and the variables with their initializers
that it contains.
It's a small thing, but the point is to exorcise implementation
details from the language of declaration.
John
On Monday, March 3, 2003, at 02:43 AM, Stephane Ducasse wrote:
> 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
|