Syntax & Sematics [was: Re: [Enough already] Re: Proposal3:

Karl Goiser Lists at TassieMade.com.au
Tue Jun 6 04:22:15 UTC 2000


Hi,


>Now that answer seems to be simple. Just have it file out a 'canonical'
>syntax and view it with whatever preferences you want. You want assignment
>as a left-arrow?! Here you go. You want blocks use braces?! Here you go. Now
>that might be a problem for those Emacs users but honestly, I don't care too
>much for them... In fact, it would probably be relatively simple to allow a
>'C++ style' or a 'Java style' or a 'Python style' as long as the underlying
>semantics is not too different. And even then you could simply forbid
>certain things (like inner classes) and extend it the language style with
>certain required features (like blocks). Mind you, we're talking about how
>the system 'looks' not how it 'feels' ;-)


This seems to me to be like the 'skins' people use in Windows and 
Linux because the original user interface (syntax?) is so woeful (he 
says ducking for cover).


It seems to me that the trouble with a canonical form is that each 
custom syntax must be directly translatable to and from it. 
Therefore, you must increase the syntax of the custom language for 
aspects where the canonical language is not covered and reduce it 
where it expresses more than the canonical form.

For example, C is very good at bit manipulation with shifts and ands 
and or's.  What would happen there?

Also, in C truth is equivalent to non-zero, so you could write 
something in Cish with the intent of testing for zero which you might 
get back after, Cish -> Squeak -> Cish, as testing for falsehood.

So you think, 'I'm writing in C, but I can't do half of what I want', 
so it's not C and not Smalltalk.


Karl





More information about the Squeak-dev mailing list