Re: Assignment Operators

Steve Dekorte <[email protected]> Tue, 15 May 2012 23:50:47 -0700
Newsgroups gmane.comp.lang.io
Message-ID <[email protected]>
Hi Kurtis, 

An interesting idea. Self did something like this IIRC and I liked it, though it fit in with their Smalltalk infix syntax better. 
The motivation of using = was to graphically show the connection between =, := and ::=. 
If we used : for := and :: for ::=, what would we use for =? Would it remain the same?

Steve

On 2012-05-15 Tue, at 11:21 PM, Kurtis Rainbolt-Greene wrote:

> So I've been using Io for a bit now, writing a package manager,
> writing a few packages. I even wrote a syntax definition file for
> Sublime Text 2.
> 
> One thing I've noticed since writing that defintion file is that it
> doesn't seem like Io needs the "=" character in the assignment
> operators.
> 
> Consider the following:
> 
> ``` io
> Version := Object clone do(
>  major ::= 0
>  minor ::= 0
>  patch ::= 0
> 
>  asString := method( "#{major}.#{minor}.#{patch}"  )
> )
> ```
> 
> Pretty simple object, right? Now imagine if you didn't need the `=` characters.
> 
> ``` io
> Version: Object clone do(
>  major:: 0
>  minor:: 0
>  patch:: 0
> 
>  asString: method( "#{major}.#{minor}.#{patch}"  )
> )
> ```
> 
> Smaller, slightly easier to read, and no confusion with the `==`,
> `!=`, `+=`, `-=`, `>=`, `<=`, `~=`, `&=`, or `||=` operators that
> usually crop up in programming languages.
> 
> 
> ------------------------------------
> 
> Yahoo! Groups Links
> 
> 
>