Brent Roman wrote:
> At least regarding blocks vs. a special keyword:
>
>    There may be a middle way
>
> If the parser were modified such that upon encountering the
> EOF token, it terminated the current do/end block, then
> :use could be a normal Kernel method that simply takes block,
> without introducing spurious indentation.
>
> use MyWorld do
> ....
> <EOF>
>
> This also allows quite handy expressions such as:
>
> ruby -e "3.times do print 'Howdy, '"
>
> or
>
> eval "3.times do print 'Howdy, '"
>
> There is still the question of whether EOF should terminate nested
> do style blocks in order to handle:
>
> use MyWorld do
> use OtherWorld do
> .....
> <EOF>
>
> This parser change certainly is easy to implement.
> And, it cannot break any working code.
>
> - brent
>
>   
Of course, this change would mask many legitimate errors where you 
forget to close something deeply nested, that then will be closed by the 
wrong "end" and so on. Not good at all.
I'm strongly opposed to this.

-- 
 Ola Bini (http://olabini.com) 
 Ioke creator (http://ioke.org)
 JRuby Core Developer (http://jruby.org)
 Developer, ThoughtWorks Studios (http://studios.thoughtworks.com)
 Practical JRuby on Rails (http://apress.com/book/view/9781590598818)

 "Yields falsehood when quined" yields falsehood when quined.