[squeak-dev] Re: Can i has underscores? :)

Igor Stasenko siguctua at gmail.com
Wed Apr 14 15:57:16 UTC 2010

On 14 April 2010 18:32, Andreas Raab <andreas.raab at gmx.de> wrote:
> On 4/14/2010 7:47 AM, Igor Stasenko wrote:
>> And, all who saying 'lets keep underscores' is ones who want to keep
>> our smalltalk dialect balkanized from the rest of the world.
> Sorry, but that's complete BS. The main motivation to keep things as is was
> backwards compatibility.

I know. But i didn't wanted to start ranting about it at all. :) My
humble question was
about the status, and question about is there a way to use underscores or not.

> No solution has been brought forward to address the
> issue of how to deal with existing code that uses underscore assignment. As
> long as nobody is offering a solution to this problem, I'm not willing to
> give up underscore assignments. If you can't even load the code that's been
> written for 4.0 into 4.1 something's *seriously* wrong with your priorities.
> Not being able to load code *written for Squeak* into Squeak, hurts us a
> *lot* more than not being able to load code into Squeak that wasn't written
> for it.
Look: loading code is an import procedure, and as any import, it could
perform any number of conversion steps
starting from source and ending with a ready-to-use material,
including treating underscores as assignment or something else.
Let me repeat: this is about conversion from external source, not
about internal representation of code in system.

It is surprising for me, to see that people know for a long that
things like .sources and .changes files are not real text files
and should not be treated in such way. So, it was never a big problem
in keeping a good and solid fence between squeak's internal world and
rest of the world. And why its going to be a problem of keeping such a
fence between old-time squeak and new one? This is a very same thing.

It could be kept very simple by having two different procedures:
 - import old code
 - import new code

or even keep a single import , which defaults to old syntax,
but for each fileout from a new system, in all .st and .cs files add a

SourceCode usingUnderscoreForNames!

A file-in tools then reset this flag before any file-in attempt:
SourceCode resetUnderscoreSetting

so, you can keep loading old code, as well as can load a new code
without a problem.
That's it. No preferences, no guessing about source file format
whether it comes from ages or just 1 day old. Just an explicit

> Cheers,
>  - Andreas

Best regards,
Igor Stasenko AKA sig.

More information about the Squeak-dev mailing list